]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Simplify root device discover and don't fail when trying to open
[grub2.git] / ChangeLog
CommitLineData
8a7f9b9c
VS
12012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Simplify root device discover and don't fail when trying to open
4 incorrect devices.
5
6 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
7 function.
8 (get_diskname_from_path): Likewise.
9 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10 of iterating.
11
30545b85
VS
122012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
15
28ea58cf
VS
162012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
19 pastthe end.
20
692dabca
VS
212012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * util/grub-install.in: Add missing \.
24 Reported by: gentoofan
25
f6e4ea70
VS
262012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
29 (direct_read): Use correct compressed size.
30 (grub_squash_read_data): Likewise.
31
322012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
33
34 * docs/grub.texi (Platform limitations): New section.
35 (Platform-specific operations): Likewise.
36 * docs/grub-dev.texi (Porting): Likewise.
37
76261110
VS
382012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
39
40 IEEE1275 disk write support.
41
42 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
43 const void *.
44 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
45 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
46 and seek loginc to ...
47 (grub_ofdisk_prepare): ... here.
48 (grub_ofdisk_write): Implement.
49
fc36d603
VS
502012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
51
52 ARC disk write support.
53
54 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
55 (reopen): New argument writable. All users updated.
56 Handle required access mode.
57 (grub_arcdisk_write): Implement.
58 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
59 (grub_arc_firmware_vector): Make buffer to write a const buffer.
60
e06c2e7a
VS
612012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
64 (read_sblock): Don't attempt to read superblocks outside the disk size.
65
ff447958
VS
662012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
69 first superblock to find the second one when possible.
70
9e88df39
VS
712012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * util/grub-install.in: Fix an ARC bug.
74 Print a warning if no platform-specific setup is available.
75
bb26e4ff
VS
762012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
77
78 Use static allocation rather than scratch pointer in reed_solomon.
79 It decreases its size significantly and avoids a variable in .text.
80
81 * grub-core/lib/reed_solomon.c (scratch): Removed.
82 (chosenstat): New const or static array.
83 (sigma): Likewise.
84 (errpot): Likewise.
85 (errpos): Likewise.
86 (sy): Likewise.
87 (mstat): Likewise.
88 (errvals): Likewise.
89 (eqstat): Likewise.
90 (pol_evaluate): Replace x with log_x argument. All users updated.
91 (syndroms): Removed.
92 (gauss_solve): Use statically allocated arrays.
93 (rs_recover): Likewise.
94 Calculate syndroms directly.
95 (decode_block): Use statically allocated arrays.
96 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
97 (main) [TEST]: Allow -DTEST -DSTANDALONE.
98
2e13ede5
VS
992012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
100
101 Eliminate fixed limit on reed solomon decoder length.
102
103 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
104 rather than hardcoding the address.
105 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
106 no_reed_solomon_length.
107 Move gate_a20 to no-reed-solomon part.
108 Don't force a particular size of no reed-solomon part.
109 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
110 Removed.
111 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
112 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
113
f8a9ab12
VS
1142012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/commands/wildcard.c (match_files): Handle filenames
117 without explicit device.
118 (wildcard_expand): Don't add explicit device if not already present.
119 * tests/grub_script_echo1.in: Add a new expansion test.
120
87edb894
VS
1212012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
122
123 Replace single-linked with double-linked lists. It results in more
124 compact and more efficient code.
125
126 * grub-core/kern/list.c (grub_list_push): Moved from here ...
127 * include/grub/list.h (grub_list_push): ... to here. Set prev.
128 (grub_list_remove): Moved from here ...
129 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
130 (grub_prio_list_insert): Set prev.
131 * include/grub/list.h (grub_list): Add prev. All users updated.
132
48b391e9
VS
1332012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
134
135 Handle newer autotools. Add some missing quotes while on it.
136
137 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
138 (pkglib_DATA): Move grub-mkconfig_lib from here ...
139 (pkgdata_DATA): ... here.
140 * Makefile.util.def (update-grub_lib): Removed.
141 * conf/Makefile.common (pkglib_DATA): Removed.
142 (pkglib_SCRIPTS): Likewise.
143 (pkgdata_DATA): New variable.
144 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
145 needed.
146 Add missing quotes.
147 Remove unused variable while on it.
148 * tests/util/grub-shell.in: Likewise.
149 * util/grub-install.in: Likewise.
150 * util/grub-mkconfig.in: Likewise.
151 * util/grub-mknetdir.in: Likewise.
152 * util/grub-mkrescue.in: Likewise.
153 * util/grub-mkstandalone.in: Likewise.
154 * util/grub.d/00_header.in: Likewise.
155 * util/grub.d/10_hurd.in: Likewise.
156 * util/grub.d/10_illumos.in: Likewise.
157 * util/grub.d/10_kfreebsd.in: Likewise.
158 * util/grub.d/10_linux.in: Likewise.
159 * util/grub.d/10_netbsd.in: Likewise.
160 * util/grub.d/10_windows.in: Likewise.
161 * util/grub.d/20_linux_xen.in: Likewise.
162 * util/grub.d/30_os-prober.in: Likewise.
163 * util/update-grub_lib.in: Removed.
164
1652012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
166
167 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
168 a workaround for intel problem.
169
66832792
PRP
1702012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
1712012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1722012-01-23 pfsmorigo
173
174 * util/grub-install.in: Support dd'in into PreP partition.
175 * util/grub-probe.c (probe): Support discovering partition type.
176 (main): Support -t msdos_parttype.
177
7816a17e
VS
1782012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
181 infinite recursion using counter.
182 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
183 init to skip it if the magic check fails.
184 (dec_stream_header): Init s->crc32.
185
8f9d3a8c
ZB
1862012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1872012-01-22 Zachary Bedell <pendorbound@gmail.com>
1882012-01-22 Richard Laager <rlaager@wiktel.com>
189
190 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
191 All users updated.
192 (find_bestub): Determine correct size.
193 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
194 (scan_disk): Align the size down.
195 Call check pool before find_bestub to have ashift.
196
b055dd32
VS
1972012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
200 dprintf in no-malloc zone.
201
d779e9bd
ML
2022012-01-22 Mario Limonciello <mario_limonciello@dell.com>
203
204 * configure.ac: Add back in test for limits.h.
205
b508af69
VS
2062012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
207
208 Support 4K-sector NTFS.
209
210 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
211 (grub_ntfs_data): Remove blocksize.
212 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
213 Remove data argument. All users updated.
214
dad9c8b5
VS
2152012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
218 being in .text to avoid dprel references.
219 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
220 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
221 (grub_arch_highmemsize): Likewise.
222 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
223 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
224 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
225
d43a777e
VS
2262012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
227
228 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
229
230 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
231 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
232
34e4208f
VS
2332012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
236 GRUB_UTIL.
237 (grub_set_datetime_cmos): Likewise.
238
3ec0fc1c
VS
2392012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
240
241 Make XZ compression parameters dependent on target and not host CPU.
242
243 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
244 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
245
22489834
VS
2462012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
249 set but not used variable.
250
8502fbca
VS
2512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
254 created when no uuid support is compiled into mkfs.reiser.
255
76df2068
VS
2562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
259 (utf8_to_macroman): Do the opposite.
260 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
261
64e3f8f6
VS
2622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * configure.ac: Refise build qemu_mips w/o unifont.
265
9c271078
VS
2662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
267
268 Eliminate grub_min/grub_max prone to overflow usage.
269
270 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
271 (poll_nonroot_hub): Likewise.
272 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
273 (grub_affs_label): Likewise.
274 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
275 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
276 (grub_hfs_label): Likewise.
277 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
278 * grub-core/fs/zfs/zfs.c (MIN): Remove.
279 (zap_leaf_array_equal): Use grub_size. Remove MIN.
280 (zap_leaf_array_get): Likewise.
281 (dnode_get_path): Likewise.
282 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
283 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
284 * grub-core/script/execute.c (grub_script_break): Likewise.
285 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
286 grub_max.
287 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
288 * include/grub/misc.h (grub_min): Removed.
289 (grub_max): Likewise.
290
80662dbc
VS
2912012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
292
293 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
294 direct.inode = 0.
295
e6da1467
VS
2962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
299
b1ac4cb1
VS
3002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
303
b4bf7c3b
VS
3042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
307 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
308
8ee1101a
VS
3092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
312 rather than a hack for grub_strncasemap.
313
3142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
315
316 Support multiple initrds
317 Note: part of this was accidently committed in r3739.
318
319 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
320 initrd.
321 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
322 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
323 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
324 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
325 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
326
4d1e2bc9
VS
3272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
330 disks with unknown size.
331 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
332
75b49ebe
VS
3332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
334
335 Remove defines pertaining to arbitrary limits not affecting GRUB
336 anymore.
337
338 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
339 (EXT2_MAX_SYMLINKCNT): Likewise.
340 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
341 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
342 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
343 (GRUB_PXE_MAX_BLKSIZE): Likewise.
344 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
345 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
346 (DN_MAX_OBJECT_SHIFT): Likewise.
347 (DN_MAX_OFFSET_SHIFT): Likewise.
348 (DN_MAX_OBJECT): Likewise.
349 (DNODES_PER_LEVEL_SHIFT): Likewise.
350 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
351 (SPA_MAXBLOCKSIZE): Likewise.
352 (SPA_BLOCKSIZES): Likewise.
353 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
354 (MZAP_MAX_BLKSZ): Likewise.
355
74a1dce7
VS
3562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
359 handle NULL appropriately.
360 Remove MIN.
361
30c7d3ce
VS
3622012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
363
364 Fix efiemu.
365
366 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
367 cpu/types.h.
368 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
369 * configure.ac: Fix efiemu check.
370
3c76ea0c
VS
3712012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
374 grub_probe.
375 Reported by: adamwill
376
7e532280
SG
3772012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
378
379 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
380
30492374
VS
3812012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
382
383 Fix handling of wide characters in gfxterm.
384
385 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
386 (clear_char): Likewise.
387 (paint_char): Skip code == NULL chars.
388 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
389
e70cb72f
VS
3902012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * grub-core/normal/charset.c: Move comment to right place.
393
5c827cf9
VS
3942012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
397 (GRUB_AFFS_FLAG_FFS): Put back where it was.
398 (grub_affs_mount): Revert the correct version checking.
399
53603892
VS
4002012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * docs/grub.texi (Unicode): Mention several other unsupported features.
403
ff094b9b
VS
4042011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
407 case statements as compile-time one.
408 (direct_read): Prevent spurious warnings.
409 (grub_squash_read_data): Likewise.
410
c029da8a
VS
4112011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
412
413 Various squash4 fixes and LZO and XZ support.
414
415 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
416 Add xzembed source files.
417 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
418 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
419 (grub_squash_inode): New subtype long_dir.
420 (SQUASH_TYPE_LONG_DIR): New inode type.
421 (COMPRESSION): New enum.
422 (XZBUFSIZ): New const.
423 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
424 (read_chunk): Use data->decompress.
425 (zlib_decompress): New function.
426 (lzo_decompress): Likewise.
427 (xz_decompress): Likewise.
428 (squash_mount): Set new data fields.
429 (grub_squash_iterate_dir): Handle long dir.
430 (squash_unmount): Free xzdec and xzbuf.
431 (grub_squash_open): Check ino type.
432 (direct_read): Stylistic fixes. Use data->decompress.
433 (grub_squash_read_data): Likewise.
434 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
435 (get_byte): Likewise.
436 (grub_zlib_disk_read): Removed.
437 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
438 (GRUB_POSIX_BOOL_DEFINED): New define.
439 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
440 * grub-core/lib/xzembed/xz.h: Addmissing includes.
441 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
442 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
443
7a45a539
VS
4442011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
445
446 Don't override more informative errors.
447
448 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
449 * grub-core/font/font.c (open_section): Likewise.
450 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
451 filename. Don't override errors.
452 (grub_cmd_openbsd_ramdisk): Don't override errors.
453 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
454 (grub_cmd_initrd): Likewise.
455 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
456 (grub_cmd_initrd): Likewise.
457 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
458 (grub_cmd_linux): Likewise.
459 (grub_cmd_initrd): Likewise.
460 (grub_cmd_payload): Likewise.
461 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
462 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
463 (grub_cmd_module): Likewise.
464 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
465 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
466 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
467 (grub_cmd_xnu_mkext): Likewise.
468 (grub_cmd_xnu_ramdisk): Likewise.
469 (grub_xnu_check_os_bundle_required): Likewise.
470 (grub_xnu_load_kext_from_dir): Likewise.
471 (grub_cmd_xnu_kextdir): Likewise.
472 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
473
b2d004db
VS
4742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
477 as 1024 in block size field. Found on one of my test images.
478 Small optimisation while on it.
479
ec000eac
VS
4802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
483 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
484 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
485 performance fixes while on it.
486 (grub_sfs_close): Fix memory leak while on it.
487 (grub_sfs_label): Convert Latin1 to UTF-8.
488
f50e1165
VS
4892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
492 space to avoid overflows.
493 (grub_hfs_label): Convert from macroman to UTF-8.
494
2ae254de
VS
4952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
498
0108f491
VS
4992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
502
f45f5f89
VS
5032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * unicode: Import Unicode 6.0 data.
506
4d8c4765
VS
5072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
508
63fa8ef9
VS
509 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
510 outside of range.
511
5122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
513
514 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
515
516 * include/grub/charset.h (grub_getend): New function.
517 * grub-core/script/function.c (grub_script_function_find): Use
518 grub_getend.
519 * grub-core/normal/completion.c (add_completion): Likewise.
520
f3cb4a4e
VS
5212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
524 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
525 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
526 (GRUB_UNICODE_TAG_END): Likewise.
527 (GRUB_UNICODE_LAST_VALID): Likewise.
528
5da8dbc5
VS
5292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
532 len and make it smaller. All users updated.
533 * util/import_unicode.py: Put length and not end character.
534 Check length.
535
8569f13d
VS
5362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
537
538 Make better Unicode-compliant and unify some UTF-8 code pathes.
539
540 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
541 valid character.
542 (grub_is_valid_utf8): Use grub_utf8_process.
543 Check resulting code range.
544 (grub_utf8_to_ucs4): Use grub_utf8_process.
545 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
546 valid character.
547
cc4fddf5
VS
5482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
551
bbc47747
VS
5522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * docs/grub.texi (Filesystems): Mention AFS.
555
f63d6bf4
VS
5562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * docs/grub.texi (Filesystems): Clarify restrictions.
559 (Regexp): Mention non-Unicode regexp behaviour.
560 (Other): Mention non-Unicode matching behaviour.
561
74bbf0db
VS
5622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
563
f63d6bf4 564 Make HFS implementation use MacRoman.
74bbf0db
VS
565
566 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
567 (macroman): New const array.
568 (macroman_to_utf8): New function.
569 (utf8_to_macroman): Likewise.
570 (grub_hfs_find_dir): Use utf8_to_macroman.
571 (grub_hfs_dir): Use macroman_to_utf8.
572 Set case_insensitive.
573
4ea0316e
VS
5742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
577
d3c13cbd
VS
5782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
579
580 Integrate hints into autogeneration scripts.
581
582 * docs/grub.texi (Filesystems): Add a hostdisk example.
583 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
584 (grub-probe): Add ofpath.
585 * gentpl.py: Remove group nosparc64.
586 * grub-core/commands/search.c (cache_entry): New struct.
587 (cache): New var.
588 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
589 * grub-core/commands/search_wrap.c (options): Add platform-specific
590 hint options.
591 (grub_cmd_search): Handle platform-specific hints.
592 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
593 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
594 (grub_util_biosdisk_data): Likewise.
595 (grub_util_biosdisk_open): Set device_map.
596 (read_device_map): Handle "" as indication of no map.
597 Set device_map.
598 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
599 (grub_util_biosdisk_get_compatibility_hint): New function.
600 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
601 * include/grub/emu/hostdisk.h
602 (grub_util_biosdisk_get_compatibility_hint): New proto.
603 * util/grub-install.in: Don't call grub-mkdevicemap.
604 Add platform-specific hint to load.cfg.
605 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
606 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
607 hints. Set root preliminary to compatibility hint, not to OS name.
608 * util/grub-probe.c (PRINT_*): Add hints.
609 (print): Make static.
610 (escape_of_path): New function.
611 (guess_bios_drive): Likewise.
612 (guess_efi_drive): Likewise.
613 (guess_baremetal_drive): Likewise.
614 (print_full_name): Likewise.
615 (probe): Handle hints.
616 (main): Likewise.
617 * util/ieee1275/devicemap.c: Removed.
618 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
619 updated.
620 (grub_util_devname_to_ofpath): Return NULL on failure.
621
622 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
623 resource leak.
624 * util/getroot.c (grub_util_pull_device): Fix memory leak.
625
626 * po/POTFILES.in: Regenerated.
627
628 Allow purely long options
629
630 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
631 (SHORT_ARG_USAGE): Likewise.
632 (grub_arg_show_help): Compare opt with help_options.
633 (parse_option): Receive opt as argument. If makes big simplificatons.
634 All users updated
635
00ce2df3
VS
6362011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
639 Restructure to avoid warning.
640
e77e325f
VS
6412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * util/grub-install.in: Account for possible escaped comma in device
644 name.
645
165099ea
VS
6462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
649 channel.
650
ce4a999d
VS
6512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
654 allocation and zero-setting.
655 (grub_ieee1275_get_devname): Check that alias is complete.
656
379586ad
VS
6572011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
660 unaligned segments.
661
9197b0ad
VS
6622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
665 prefix.
666 (grub_ofdisk_open): Check and discard ieee1275 prefix.
667 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
668 Add ieee1275 prefix.
669
edddb7f9
VS
6702011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * docs/grub.texi (Filesystems): Update.
673
a1a8b1b9
VS
6742011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
675
676 Support odc, newc and bigendian cpio formats.
677
678 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
679 * grub-core/Makefile.core.def (newc): New module.
680 (odc): Likewise.
681 (cpio_be): Likewise.
682 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
683 (MAGIC): Likewise.
684 (MAGIC2): Likewise.
685 (head) [MODE_ODC]: Adapt for the format.
686 (head) [MODE_NEWC]: Likewise.
687 (head) [!MODE_*]: Write fields of interest as arrays.
688 (MAGIC_USTAR): Removed.
689 (read_number) [MODE_NEWC]: Change to hex.
690 (read_number) [!MODE_*]: Parse binary arrays.
691 (grub_cpio_find_file): Factor out the code for better structure and
692 always use read_number.
693 (grub_cpio_mount): Use MAGIC and MAGIC2.
694 (grub_cpio_dir): Exit on first hook non-0 return.
695 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
696 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
697 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
698 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
699 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
700 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
701 * grub-core/fs/newc.c: New file.
702 * grub-core/fs/odc.c: Likewise.
703 * grub-core/fs/cpio_be.c: Likewise.
704
58eba9ee
VS
7052011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
706
707 Fix handling of tar numbers occupying the whole field.
708
709 * grub-core/fs/cpio.c (read_number): New function.
710 (grub_cpio_find_file): Use read_number instead of strtoull.
711
a54a0e12
VS
7122011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
715 occupying the whole field size.
716
a6120aca
LA
7172011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
718
719 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
720
a93964ce
VS
7212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
724
3ea1ca46
SG
7252011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
726
727 * grub-core/Makefile.core.def (lzma_decompress): Add missing
728 TARGET_IMG_LDFLAGS.
729
b87f7ef2
VS
7302011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * util/getroot.c (ESCAPED_PATH_MAX): New define.
733 (mountinfo_entry): Increase the field size to take escaping into
734 account.
735 (find_root_device_from_libzfs): Add one byte to size of strings for
736 security.
737
62092395
VS
7382011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
741 an assert.
742 * util/grub-setup.c (setup): Likewise.
743
1f0b1a77
VS
7442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
747 _LzmaDecodeA.
748
8eba9997
VS
7492011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * docs/grub.texi (Internationalisation): New section.
752
dd0c91e9
VS
7532011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * docs/grub.texi (Loopback booting): New section.
756
7572011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
758
759 * util/grub-mkstandalone.in: Fix minor typo errors.
760
198e150a
VS
7612011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
762
763 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
764
765 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
766 net/icmp.c and net/icmp6.c.
767 (http): New module.
768 (priority_queue): Likewise.
769 * grub-core/io/bufio.c: Rewritten.
770 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
771 TYPE_WITH_CONFIGFILE_OPTION.
772 (legacy_commands): Add bootp and dhcp.
773 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
774 (grub_legacy_parse): Likewise.
775 * grub-core/lib/priority_queue.c: New file.
776 * grub-core/net/arp.c: Add missing license header.
777 (arp_find_entry): Removed.
778 (arp_find_entry): Likewise.
779 (grub_net_arp_resolve): Rename to ...
780 (grub_net_arp_send_request): ...this.
781 (grub_net_arp_receive): New card argument.
782 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
783 Set router and DNS server.
784 (grub_net_configure_by_dhcp_ack): Handle routing information.
785 (grub_cmd_bootp): Set checksum.
786 (grub_bootp_init): Remove net_dhcp.
787 * grub-core/net/dns.c: New file.
788 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
789 completion.
790 (get_card_packet): Handle allocation.
791 (grub_efinet_findcards): Set mtu.
792 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
793 (get_card_packet): Handle allocation.
794 (emucard): Set mtu.
795 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
796 (GRUB_MOD_INIT): Set mtu.
797 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
798 mtu.
799 (get_card_packet): Handle allocation.
800 (grub_ofnet_findcards): Set mtu.
801 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
802 assert.
803 (grub_net_recv_ethernet_packet): Handle IPv6.
804 * grub-core/net/http.c: New file.
805 * grub-core/net/icmp.c: Likewise.
806 * grub-core/net/icmp6.c: Likewise.
807 * grub-core/net/ip.c (ip6addr): New type.
808 (ip6hdr): Likewise.
809 (reassemble): Likewise.
810 (cmp): New function.
811 (reassembles): New variable.
812 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
813 (id): New variable.
814 (send_fragmented): New function.
815 (grub_net_send_ip_packet): Rename to ...
816 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
817 Handle non-UDP.
818 (grub_net_recv_ip_packets): Rename to ...
819 (handle_dgram): ... this. Check checksum. Handle non-UDP.
820 (free_rsm): New function.
821 (free_old_fragments): Likewise.
822 (grub_net_recv_ip4_packets): New function.
823 (grub_net_send_ip6_packet): Likewise.
824 (grub_net_send_ip_packet): Likewise.
825 (grub_net_recv_ip6_packets): Likewise.
826 (grub_net_recv_ip_packets): Likewise.
827 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
828 (LINK_LAYER_CACHE_SIZE): New const.
829 (link_layer_find_entry): New function.
830 (grub_net_link_layer_add_address): Likewise.
831 (grub_net_link_layer_resolve_check): Likewise.
832 (grub_net_link_layer_resolve): Likewise.
833 (grub_net_ipv6_get_slaac): Likewise.
834 (grub_net_ipv6_get_link_local): Likewise.
835 (grub_cmd_ipv6_autoconf): Likewise.
836 (parse_ip): Handle one number representation.
837 (parse_ip6): New functoion.
838 (match_net): Handle IPv6.
839 (grub_net_resolve_address): Handle IPv6 and DNS.
840 (grub_net_resolve_net_address): Handle IPv6.
841 (route_cmp): New function.
842 (grub_net_route_address): Find best route.
843 (grub_net_addr_to_str): Handle IPv6.
844 (grub_net_addr_cmp): New function.
845 (grub_net_add_addr): Register local route.
846 (print_net_address): Handle net address.
847 (grub_net_poll_cards): Retransmit TCP.
848 (grub_net_poll_cards_idle_real): Likewise.
849 (have_ahead): New function.
850 (grub_net_seek_real): Use underlying seek.
851 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
852 * grub-core/net/tcp.c: New file.
853 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
854 (cmp): New function.
855 (ack): Likewise.
856 (tftp_receive): Handle unordered input.
857 (destroy_pq): New function.
858 (tftp_close): Close pq.
859 * grub-core/net/udp.c: Put missing license header.
860 (grub_net_udp_socket): New function.
861 (udp_socket_register): Likewise.
862 (grub_net_udp_close): Likewise.
863 (grub_net_recv_udp_packet): Check checksum.
864 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
865 * include/grub/misc.h (grub_memchr): New function.
866 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
867 (grub_net_card_driver): Return buf in recv.
868 (grub_net_slaac_mac_list): New struct.
869 (grub_network_level_protocol_id): Add ipv6.
870 (grub_net_network_level_addr): Likewise.
871 (grub_net_network_level_net_addr): Likewise.
872 (grub_net_app_protocol): Add seek.
873 (grub_net_socket): Removed.
874 (grub_net_sockets): Likewise.
875 (grub_net_socket_register): Likewise.
876 (grub_net_socket_unregister): Likewise.
877 (FOR_NET_SOCKETS): Likewise.
878 (grub_net_add_addr): Add const.
879 (GRUB_NET_BOOTP_*): New enum.
880 (grub_net_addr_cmp): New proto.
881 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
882 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
883 (grub_net_hwaddr_to_str): NEw proto.
884 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
885 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
886 (grub_dns_init): New proto.
887 (grub_dns_fini): Likewise.
888 (grub_net_tcp_retransmit): Likewise.
889 (grub_net_link_layer_add_address): Likewise.
890 (grub_net_link_layer_resolve_check): Likewise.
891 (grub_net_link_layer_resolve): Likewise.
892 (grub_net_dns_lookup): Likewise.
893 (grub_net_add_dns_server): Likewise.
894 (grub_net_remove_dns_server): Likewise.
895 (GRUB_NET_TRIES): New const.
896 (GRUB_NET_INTERVAL): Likewise.
897 * include/grub/net/arp.h: Mostly rewritten.
898 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
899 * include/grub/net/ip.h: Mostly rewritten.
900 * include/grub/net/netbuff.h: Indent.
901 * include/grub/net/tcp.h: New file.
902 * include/grub/net/udp.h: Mostly rewritten.
903 * include/grub/priority_queue.h: New file.
904 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
905 (grub_swap_bytes64_compile_time): Likewise.
906 (grub_cpu_to_be16_compile_time): Likewise.
907 (grub_cpu_to_be32_compile_time): Likewise.
908 (grub_cpu_to_be64_compile_time): Likewise.
909 (grub_be_to_cpu64_compile_time): Likewise.
910
215c1800
VS
9112011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
914 UINT_TO_PTR with cast.
915
c17e546c
VS
9162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
919 don't use them.
920
ff6b18b6
VS
9212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
924 already there.
925
70ffcc93
VS
9262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
929 confusing ipxe.
930
e5f4d260
VS
9312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
934 Add missing const attribute.
935 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
936 Likewise.
937 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
938 Likewise.
939
8e54b4b7
VS
9402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
943 misaligned access.
944 (serpent_setkey): Likewise.
945 (serpent_encrypt_internal): Likewise.
946 (serpent_decrypt_internal): Likewise.
947 (serpent_encrypt): Don't put an alignment-increasing cast.
948 (serpent_decrypt): Likewise.
949 (serpent_test): Likewise.
950
813c0a2b
VS
9512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
954
f2b60fbd
VS
9552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
956
957 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
958
959 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
960 grub_addr_t casts.
961 (PTR_TO_UINT64): Likewise.
962 (PTR_TO_UINT32): Likewise.
963
5ef5c511
VS
9642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * util/grub-mkimage.c (generate_image): Decrease the higher limit
967 because of stack.
968 * util/grub-setup.c (setup): Don't add redundancy past the higher load
969 limit.
970
c476e6df
VS
9712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
974 text_width > available width a bit more gracefully.
975
384ad7cc
VS
9762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
979 current address calculation.
980
96f8caf8
VS
9812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
984 stack.
985 (encode_block): Likewise.
986
276b7a8b
VS
9872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
990 certainety.
991
e3fd394a
VS
9922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
995 non-RS part to avoid RS messing with GDT.
996 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
997 Increase to suit in realmode routines.
998
9992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/kern/i386/realmode.S: Increase alignment.
1002 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
1003
ee9c2e7a
VS
10042011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
1007 be deterministic.
1008 (syndroms): Compute 0 syndrom.
1009 (rs_recover): Use 0 syndrom.
1010
7a7f7cc9
VS
10112011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
1014
a14b16d1
VS
10152011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
1018 brackets.
1019
9f59e9fc
VS
10202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1021
ca1b552c
VS
1022 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
1023 account.
1024 (get_top_pad): Likewise.
1025 (get_right_pad): Likewise.
1026 (get_bottom_pad): Likewise.
1027
10282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 1031
e739d698
VS
10322011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
1035 attribute as the structure isn't guaranteed to be properly aligned.
1036 (grub_efi_pci_device_path): Likewise.
1037 (grub_efi_pccard_device_path): Likewise.
1038 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
1039 specify the size of `memory_type'.
1040 (grub_efi_vendor_device_path): Likewise.
1041 (grub_efi_controller_device_path): Likewise.
1042 (grub_efi_acpi_device_path): Likewise.
1043 (grub_efi_expanded_acpi_device_path): Likewise.
1044 (grub_efi_atapi_device_path): Likewise.
1045 (grub_efi_scsi_device_path): Likewise.
1046 (grub_efi_fibre_channel_device_path): Likewise.
1047 (grub_efi_1394_device_path): Likewise.
1048 (grub_efi_usb_device_path): Likewise.
1049 (grub_efi_usb_class_device_path): Likewise.
1050 (grub_efi_i2o_device_path): Likewise.
1051 (grub_efi_mac_address_device_path): Likewise.
1052 (grub_efi_ipv4_device_path): Likewise.
1053 (grub_efi_ipv6_device_path): Likewise.
1054 (grub_efi_infiniband_device_path): Likewise.
1055 (grub_efi_uart_device_path): Likewise.
1056 (grub_efi_vendor_messaging_device_path): Likewise.
1057 (grub_efi_hard_drive_device_path): Likewise.
1058 (grub_efi_cdrom_device_path): Likewise.
1059 (grub_efi_vendor_media_device_path): Likewise.
1060 (grub_efi_file_path_device_path): Likewise.
1061 (grub_efi_protocol_device_path): Likewise.
1062 (grub_efi_piwg_device_path): Likewise.
1063 (grub_efi_bios_device_path): Likewise.
1064
cb8f88ea
VS
10652011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1068 (grub_ucs4_to_utf8_alloc): Likewise.
1069 (grub_ucs4_to_utf8): Likewise.
1070 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1071 (grub_ucs4_to_utf8_alloc): Likewise.
1072
309e5352
VS
10732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 AFFS never uses unicode.
1076
1077 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1078 (grub_latin1_to_utf8): New inline function.
1079 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1080
e7987e1b
VS
10812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1084 overflow.
1085
efc2616e
VS
10862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1089 (grub_squash_dirent_header): Likewise.
1090 (read_chunk): Don't double swap.
1091 (grub_squash_iterate_dir): Fix swap sizes.
1092
3c349f5a
VS
10932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1096
b453412d
VS
10972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1100 (grub_hfs_iterate_dir): Likewise.
1101
12e9d4d1
VS
11022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 Fix video on platforms where unaligned access is forbidden.
1105 Make several optimisations while on it.
1106
1107 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1108 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1109 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1110 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1111 Disable.
1112 (grub_video_fbblit_replace_16bit_1bit):
1113 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1114 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1115 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1116 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1117 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1118 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1119 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1120 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1121 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1122 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1123 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1124 (grub_video_fbblit_replace_index_RGB888): Likewise.
1125 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1126 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1127 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1128 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1129 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1130 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1131 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1132 Disable.
1133 (grub_video_fbblit_blend_XXX565_1bit):
1134 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1135 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1136 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1137 void *.
1138 * grub-core/video/fb/video_fb.c (common_blitter)
1139 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1140 (grub_video_fb_create_render_target_from_pointer)
1141 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1142 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1143 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1144 definition.
1145 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1146
ace96609
VS
11472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1150 HH22 and HM10 relocations.
1151
fd261d73
VS
11522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
1155
e59b7857
VS
11562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
1159 allocation succeeded.
1160
9b4baaa4
VS
11612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
1164 argument a u8 pointer. All users updated.
1165 Handle unaligned buffers.
1166
dc713193
VS
11672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1170 add_part to workaround compiler bug.
1171
30dd48c2
VS
11722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1175
0c6087a8
VS
11762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1179 Reserve alignment invariants.
1180 (grub_multiboot_load): Likewise.
1181 (retrieve_video_parameters): Likewise.
1182 (grub_multiboot_make_mbi): Likewise.
1183
c2e77777
VS
11842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1187 incorrect pointer.
1188
b70b6d11
VS
11892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1192 (grub_pata_pio_write): Likewise.
1193
02a2bf83
VS
11942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 Add noreturn attributes and remove unreachable code.
1197
1198 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1199 code.
1200 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1201 code. Mark as noreturn.
1202 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1203 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1204 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1205 unreachable code.
1206 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1207 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1208 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1209 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1210 * include/grub/kernel.h (grub_main): Mark as noreturn.
1211 * include/grub/reader.h (grub_rescue_run): Likewise.
1212
2019d09e
VS
12132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1216 redundant declaration.
1217
d1c501ee
VS
12182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1221 redundant declaration.
1222 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1223
61664420
VS
12242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1227 to ensure alignment.
1228 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1229 alignment. Ensure tmp alignment.
1230 (grub_cmd_hdparm): Ensure buf alignment.
1231 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1232 to ensure alignment.
1233 (grub_ata_dumpinfo): Ensure text alignment.
1234 (grub_atapi_identify): Preserve alignment invariant.
1235 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1236
0d51ee20
VS
12372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1240 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1241 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1242 * include/grub/misc.h (grub_reboot)
1243 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1244 (grub_halt) [__mips__]: Likewise.
1245
753ef8c1
VS
12462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1249 Remove redundant declaration.
1250 (grub_mmap_get_post64): Likewise.
1251 (grub_mmap_get_upper): Likewise.
1252 (grub_mmap_get_lower): Likewise.
1253
85c85365
VS
12542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1257 uint32_t * to ensure alignment.
1258 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1259
a23f2cc4
VS
12602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1261
93018f64
VS
1262 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1263 uint16_t * to ensure alignment.
1264 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1265 alignment.
1266
12672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
1270 to ensure alignment.
1271 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1272
58acccd6
VS
12732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1276 Handle unaligned pointers.
1277 (u32at): Likewise.
1278 (u64at): Likewise.
1279 (fixup): Use byte access instead of v16at.
1280 (find_attr): Fix imporper usage of v32at.
1281 (read_data): Likewise.
1282 (list_file): Handle byte-swapping and unaligned strings.
1283 (grub_ntfs_label): Likewise.
1284
9b05cad7
VS
12852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1288 as it's not necessarily aligned.
1289
b3950b84
VS
12902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1293 redundant declaration.
1294 (grub_serial_init): Likewise.
1295 (grub_terminfo_init): Likewise.
1296
fcd232b7
VS
12972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1300 function.
1301 (ZAP_HASH_IDX): Likewise.
1302 (ZAP_LEAF_HASH_SHIFT): Likewise.
1303 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1304 (LEAF_HASH): Likewise.
1305 (ZAP_LEAF_NUMCHUNKS): Likewise.
1306 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1307 alignment invariants. Return pointer. All users updated.
1308 (ZAP_LEAF_ENTRY): Make into inline function.
1309 (NBBY): Removed.
1310 (xor): LIkewise.
1311 (xor_out): Use grub_crypto_xor.
1312 (dnode_get_path): Use grub_get_unaligned.
1313 (nvlist_find_value): Likewise.
1314 (grub_zfs_nvlist_lookup_uint64): Likewise.
1315 (grub_zfs_nvlist_lookup_string): Likewise.
1316 (get_nvlist_size): Likewise.
1317 (grub_zfs_open): Likewise.
1318 (fill_fs_info): Likewise.
1319 (grub_zfs_dir): Likewise.
1320 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1321 alignment invariants.
1322 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1323 necessarily aligned.
1324
f138623a
VS
13252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1328
564840dc
VS
13292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1332 arithmetic to conserve alignment invariants.
1333
9b40df20
VS
13342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1337 redundant declaration.
1338 (grub_efiemu_mm_obtain_request): Likewise.
1339 (grub_efiemu_prepare): Likewise.
1340
d1c930f9
VS
13412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1344 to match types.
1345
4c5f3056
VS
13462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1349 case of aunaligned recptr.
1350 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1351 alignment.
1352 (grub_hfsplus_btree_search): Handle unaligned index.
1353
728cba91
VS
13542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1357 to get freetag and skip.
1358
eb561f31
VS
13592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1362 array.
1363 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1364 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1365
20993fbb
VS
13662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1369 name for checksum and fix allocation algorithm.
1370
1f313b94
VS
13712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * include/grub/types.h (grub_properly_aligned_t): New type.
1374 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1375 (grub_get_unaligned16): Add explicit casts.
1376 (grub_get_unaligned32): Likewise.
1377 (grub_get_unaligned64): Likewise.
1378 (grub_set_unaligned16): New function.
1379 (grub_set_unaligned32): Likewise.
1380
47ae27ec
VS
13812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1384
78c2cd1c
VS
13852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1388 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1389 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1390
53072f9b
VS
13912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1394 conditionals.
1395
055dc239
VS
13962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1399 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1400
496bd074
VS
14012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 Unify and improve RAID and crypto xor.
1404
1405 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1406 changed to grub_crypto_xor
1407 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1408 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1409 Use bigger types when possible.
1410
ef6e4335
VS
14112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/disk/raid.c (scan_devices): Fix condition.
1414
5d048bf2
VS
14152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1418 Make name a const ptr.
1419
ee533335
VS
14202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1423 first argument a const pointer.
1424 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1425 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1426 proto.
1427 (grub_children_iterate): Likewise.
1428 (grub_machine_mmap_iterate): Remove redundant declaration.
1429
cc8f3668
VS
14302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1433 (grub_cmd_acpi) [!x86]: Disable EBDA.
1434
c5fc563a
VS
14352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 Enable UTF8 in gnulib regexp.
1438
1439 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1440 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1441 (isupper): Use grub_isupper.
1442 (isascii): New inline function.
1443 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1444 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1445 * grub-core/normal/charset.c (grub_utf8_process): New function.
1446 (grub_utf8_to_utf16): Use grub_utf8_process.
1447 (grub_encode_utf8_character): New function.
1448 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1449 * include/grub/charset.h (grub_utf8_process): New declaration.
1450 (grub_encode_utf8_character): Likewise.
1451 * include/grub/misc.h (grub_islower): New inline function.
1452 (grub_isupper): Likewise.
1453 (grub_strchrsub): Moved down to fix the definitions.
1454
0af2346f
VS
14552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1458 specification.
1459
74dbd244
VS
14602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * include/grub/loader.h (grub_loader_register_preboot_hook):
1463 Use struct preboot * and not void * for handle. All users updated.
1464 (grub_loader_unregister_preboot_hook): Likewise.
1465
1bc8f60d
VS
14662011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1469 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1470 UTF-16-BE. All users updated.
1471 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1472 (grub_hfsplus_iterate_dir): Likewise.
1473 (grub_hfsplus_label): Likewise.
1474
48d6e456
VS
14752011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1478
bf3a3857
VS
14792011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 Add missing const qualifiers.
1482
1483 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1484 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1485 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1486 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1487 (grub_lvm_check_flag): Likewise.
1488 * grub-core/efiemu/i386/coredetect.c
1489 (grub_efiemu_get_default_core_name): Likewise
1490 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1491 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1492 * grub-core/fs/ntfs.c (fixup): Likewise.
1493 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1494 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1495 (fzap_lookup): Likewise.
1496 (zap_lookup): Likewise.
1497 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1498 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1499 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1500 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1501 (grub_freebsd_add_meta_module): Likewise.
1502 (grub_cmd_freebsd_module): Likewise.
1503 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1504 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1505 (grub_xnu_writetree_get_size): Likewise.
1506 (grub_xnu_writetree_toheap_real): Likewise.
1507 (grub_xnu_find_key): Likewise.
1508 (grub_xnu_create_key): Likewise.
1509 (grub_xnu_create_value): Likewise.
1510 (grub_xnu_register_memory): Likewise.
1511 (grub_xnu_check_os_bundle_required): Likewise.
1512 (grub_xnu_scan_dir_for_kexts): Likewise.
1513 (grub_xnu_load_kext_from_dir): Likewise.
1514 * grub-core/normal/color.c (color_list): Likewise.
1515 * grub-core/normal/completion.c (current_word): Likewise.
1516 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1517 * grub-core/term/serial.c (grub_serial_find): Likewise.
1518 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1519 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1520 Likewise.
1521 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1522 (grub_freebsd_add_meta_module): Likewise.
1523 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1524 * include/grub/net.h (grub_net_card_driver): Likewise.
1525 (grub_net_card): Likewise.
1526 (grub_net_app_protocol): Likewise.
1527 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1528 * include/grub/serial.h (grub_serial_find): Likewise.
1529 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1530 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1531 (grub_xnu_create_value): Likewise.
1532 (grub_xnu_find_key): Likewise.
1533 (grub_xnu_scan_dir_for_kexts): Likewise.
1534 (grub_xnu_load_kext_from_dir): Likewise.
1535
1536 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1537 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1538 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1539 Moved from here ...
1540 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1541
112b4837
CW
15422011-11-28 Colin Watson <cjwatson@ubuntu.com>
1543
1544 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1545
49e891ac
VS
15462011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1549 (read_device): Fix size calculation.
1550
fd258e5c
RM
15512011-11-25 Robert Millan <rmh@gnu.org>
1552
1553 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1554 (find_root_device_from_libzfs): Add zpool output parser to be used
1555 as fallback when libzfs isn't available.
1556
78845dc2
SG
15572011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1558
1559 * po/Makefile.in.in: Add missing escape-continuation.
1560
adac5211
VS
15612011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1564
10b64f1c
VS
15652011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1568
bb416954
VS
15692011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1572
bdfe9eeb
VS
15732011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1576
581ffa8a
VS
15772011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * grub-core/lib/adler32.c: Add missing license specification.
1580 * grub-core/lib/crc64.c: Likewise.
1581 * grub-core/loader/i386/pc/plan9.c: Likewise.
1582 * grub-core/partmap/plan.c: Likewise.
1583
2536cf64
LK
15842011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1585
1586 Add facility to debug GRUB with gdb under qemu.
1587
1588 * grub-core/gdb_grub.in: New file.
1589 * grub-core/gmodule.pl.in: Likewise.
1590 * grub-core/Makefile.core.def (gmodule.pl): New script.
1591 (gdb_grub): Likewise.
1592
bc108a4a
VS
15932011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * util/grub-mount.c (argp_parser): Accept relative pathes.
1596 * util/grub-fstest.c (argp_parser): Likewise.
1597
111c1778
VS
15982011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 Plan9 support.
1601
1602 * Makefile.util.def (libgrubmods): Add
1603 grub-core/partmap/plan.c.
1604 * docs/grub.texi: Notice Plan9 support.
1605 * grub-core/Makefile.core.def (plan9): New module.
1606 (part_plan): Likewise.
1607 * grub-core/loader/i386/pc/plan9.c: New file.
1608 * grub-core/partmap/plan.c: Likewise.
1609 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1610 define.
1611 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1612 * include/grub/mm.h (grub_extend_alloc): New inline function.
1613
c30be3b6
VS
16142011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 Make Reed-Solomon faster by using power of generator representation of
1617 GF(256)*.
1618
1619 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1620 (gf_double_t): Likewise.
1621 (gf_invert): Removed.
1622 (gf_powx): New array.
1623 (gf_powx_inv): Likewise.
1624 (scratch): Move higher.
1625 (gf_reduce): Removed.
1626 (gf_mul): Use powx.
1627 (gf_invert): Likewise.
1628 (init_inverts): Replaced with ...
1629 (init_powx): ...this. All users updated.
1630 (pol_evaluate): Replace multiplications with additions.
1631 (rs_encode): Likewise.
1632 (gauss_eliminate): Call gf_invert.
1633 (grub_reed_solomon_add_redundancy): Call init_powx.
1634 (grub_reed_solomon_recover): Call init_powx unconditionally.
1635
fa5aeffc
VS
16362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1639
a346b81c
VS
16402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1643 disk->partiton for safety.
1644
d89ee414
VS
16452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1648 Fix a memory leak.
1649 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1650
91ee7b6d
VS
16512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1654
91e5a33d
VS
16552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1658
9edd7be2
VS
16592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 Fix spaces handling in proc/self/mountinfo.
1662
1663 * util/getroot.c (unescape): New function.
1664 (grub_find_root_device_from_mountinfo): Use unescape.
1665
ba102053
VS
16662011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 Support ZFS embedding.
1669
1670 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1671 (grub_zfs_fs): Register grub_zfs_embed.
1672
aa94b870
VS
16732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 Fix MIPS compilation.
1676
1677 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1678 * include/grub/offsets.h: Rename decompressor fields from
1679 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1680 * util/grub-mkimage.c (image_targets): Use new names.
1681
5fbdac14
VS
16822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 Defer multiboot device parsing until we're in compressed part.
1685
1686 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1687 bsd_part. setdevice has fallen into disuse.
1688 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1689 (bsd_part): Likewise.
1690 (boot_dev): New variable.
1691 (multiboot_trampoline): Don't parse multiboot device.
1692 Pass multiboot device in %edx.
1693 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1694 grub_boot_device.
1695 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1696 Likewise.
1697 * grub-core/kern/i386/pc/startup.S: Save edx.
1698 (grub_boot_drive): Removed.
1699 (grub_install_dos_part): Likewise.
1700 (grub_install_bsd_part): Likewise.
1701 (grub_boot_device): New variable.
1702 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1703 (grub_install_bsd_part): Likewise.
1704 (grub_boot_drive): Likewise.
1705 (grub_boot_device): New variable.
1706 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1707 Removed.
1708 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1709 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1710 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1711 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1712 * util/grub-install.in: Remove redundant condition.
1713
691cbb58
VS
17142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 Fix bug introduced by previous commit.
1717
1718 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1719
60240b8b
VS
17202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 Use decompressors framework on i386-pc. It increases core size
1723 by 46 bytes but improves compatibility and maintainability.
1724
1725 * grub-core/Makefile.core.def (lzma_decompress): New image.
1726 (kernel): Add i386_pc_ldflags.
1727 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1728 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1729 to real_to_prot, prot_to_real and device info.
1730 * include/grub/offsets.h: Renamed decompressor offsets.
1731 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1732 (image_target_desc): Remove raw_size and rename decompressor fields.
1733 (compress_kernel): Handle lzma.
1734 (generate_image): Handle decompressors on i386-pc.
1735
e9d3421c
VS
17362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * configure.ac: Add -fno-asynchronous-unwind-tables.
1739
2b23074a
VS
17402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 Move assembly code to C by using intwrap. It increases core size
1743 by 88 bytes but improves compatibility and maintainability.
1744
1745 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1746 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1747 ... here. Translated to C.
1748 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1749 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1750 ... here. Translated to C.
1751 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1752 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1753 ... here. Translated to C.
1754 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1755 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1756 ... here. Translated to C.
1757 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1758 * grub-core/term/i386/pc/console.c (grub_console_cls):
1759 ... here. Translated to C.
1760 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1761 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1762 ... here. Translated to C.
1763 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1764 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1765 Translated to C.
1766 * grub-core/term/i386/pc/console.c (int10_9): New function.
1767 (grub_console_putchar): Likewise.
1768 * include/grub/i386/pc/console.h: Removed the not anymore shared
1769 functions.
1770
678f4b67
VS
17712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 Move grub_chainloader_real_boot out of the kernel.
1774
1775 * grub-core/Makefile.am: Remove machine/loader.h.
1776 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1777 Removed.
1778 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1779 variable.
1780 (grub_relocator16_keep_a20_enabled): Likewise.
1781 (grub_relocator16_boot): Fill new variables.
1782 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1783 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1784 relocator.
1785 (grub_chainloader_unload): Likewise.
1786 (grub_chainloader_cmd): Likewise.
1787 * include/grub/i386/pc/loader.h: Removed.
1788 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1789 and esi. All initialisers updated.
1790
4626edf6
VS
17912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17922011-11-12 Colin Watson <cjwatson@ubuntu.com>
1793
1794 * Makefile.util.def (grub-mount): New util.
1795 * .bzrignore: Add grub-mount.
1796 * configure.ac: Check for fuse and enable grub-mount if available.
1797 * docs/man/grub-mount.h2m: New file.
1798 * util/grub-mount.c: Likewise.
1799
10f0117b
VS
18002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/commands/efi/fixvideo.c: Gettextize.
1803 * grub-core/commands/hashsum.c: Likewise.
1804 * grub-core/commands/i386/cmostest.c: Likewise.
1805 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1806 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1807 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1808 * grub-core/commands/lsmmap.c: Likewise.
1809 * grub-core/commands/menuentry.c: Likewise.
1810 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1811 * grub-core/commands/setpci.c: Likewise.
1812 * grub-core/loader/i386/bsd.c: Likewise.
1813 * grub-core/loader/i386/linux.c: Likewise.
1814 * util/getroot.c: Likewise.
1815 * util/grub-editenv.c: Likewise.
1816 * util/grub-fstest.c: Likewise.
1817 * util/grub-mkfont.c: Likewise.
1818 * util/grub-mkimage.c: Likewise.
1819 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1820 * util/grub-pe2elf.c: Likewise.
1821 * util/grub-probe.c: Likewise.
1822 * util/grub-setup.c: Likewise.
1823 * util/ieee1275/ofpath.c: Likewise.
1824 * util/misc.c: Likewise.
1825 * util/raid.c: Likewise.
1826
566f779b
RM
18272011-11-11 Robert Millan <rmh@gnu.org>
1828
1829 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1830 __attribute__((unused)) from `os_dev', which *is* being used.
1831
b50787de
VS
18322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1835 forgotten define.
1836 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1837 GRUB_IA64_DL_GOT_ALIGN.
1838 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1839 GRUB_IA64_DL_TRAMP_ALIGN.
1840
119d11c8
VS
18412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 Replace grub_fatal with normal errors in i386 linux loader.
1844
1845 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1846 (allocate_pages): Check find_efi_mmap_size return value.
1847 (grub_e820_add_region): Return error.
1848 (grub_linux_boot): Check mmap return value.
1849
6e0632e2
VS
18502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/commands/acpihalt.c: Gettextized.
1853 * grub-core/commands/cacheinfo.c: Likewise.
1854 * grub-core/commands/cmp.c: Likewise.
1855 * grub-core/commands/efi/loadbios.c: Likewise.
1856 * grub-core/commands/gptsync.c: Likewise.
1857 * grub-core/commands/ieee1275/suspend.c: Likewise.
1858 * grub-core/commands/legacycfg.c: Likewise.
1859 * grub-core/commands/memrw.c: Likewise.
1860 * grub-core/commands/minicmd.c: Likewise.
1861 * grub-core/commands/parttool.c: Likewise.
1862 * grub-core/commands/time.c: Likewise.
1863 * grub-core/commands/videoinfo.c: Likewise.
1864 * grub-core/disk/geli.c: Likewise.
1865 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1866 * grub-core/disk/luks.c: Likewise.
1867 * grub-core/disk/lvm.c: Likewise.
1868 * grub-core/font/font_cmd.c: Likewise.
1869 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1870 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1871 * grub-core/gfxmenu/view.c: Likewise.
1872 * grub-core/kern/emu/hostdisk.c: Likewise.
1873 * grub-core/kern/emu/main.c: Likewise.
1874 * grub-core/kern/emu/misc.c: Likewise.
1875 * grub-core/kern/emu/mm.c: Likewise.
1876 * grub-core/kern/mips/arc/init.c: Likewise.
1877 * grub-core/kern/mips/loongson/init.c: Likewise.
1878 * grub-core/kern/partition.c: Likewise.
1879 * grub-core/lib/i386/halt.c: Likewise.
1880 * grub-core/lib/mips/arc/reboot.c: Likewise.
1881 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1882 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1883 * grub-core/loader/i386/xnu.c: Likewise.
1884 * grub-core/loader/multiboot.c: Likewise.
1885 * grub-core/net/bootp.c: Likewise.
1886 * grub-core/net/net.c: Likewise.
1887 * grub-core/normal/term.c: Likewise.
1888 * grub-core/partmap/bsdlabel.c: Likewise.
1889 * grub-core/parttool/msdospart.c: Likewise.
1890 * grub-core/term/gfxterm.c: Likewise.
1891 * grub-core/term/terminfo.c: Likewise.
1892 * grub-core/video/i386/pc/vbe.c: Likewise.
1893 * util/grub-menulst2cfg.c: Likewise.
1894 * util/grub-mkdevicemap.c: Likewise.
1895 * util/grub-mklayout.c: Likewise.
1896 * util/grub-mkrelpath.c: Likewise.
1897 * util/grub-script-check.c: Likewise.
1898 * util/ieee1275/grub-ofpathname.c: Likewise.
1899 * util/resolve.c: Likewise.
1900
073aa7a9
VS
19012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 Support %1$d syntax.
1904
1905 * tests/printf_unit_test.c: New file.
1906 * Makefile.util.def (printf_test): New test.
1907 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1908
c76b5417
VS
19092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1912 fix.
1913
df067ad1
VS
19142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1917 dprintf.
1918 * grub-core/font/font.c (grub_font_load): Likewise.
1919
5b289bc5
VS
19202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * util/grub-macho2img.c: Add comment concerning gettext.
1923 * grub-core/lib/legacy_parse.c: Likewise.
1924
c1860f87
VS
19252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1928 (grub_xvasprintf): Likewise.
1929
d35d0d37
VS
19302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 Add const keyword to grub_env_get and gettextize week days.
1933
1934 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1935 (grub_read_hook_datetime): Return const char *.
1936 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1937 updated.
1938 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1939 Mark for gettext.
1940 (grub_get_weekday_name): Return const char *. Call gettext.
1941 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1942 char * and len as the argument. All users updated.
1943 (grub_script_argv_split_append): Receive const char *.
1944 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1945 * include/grub/env.h (grub_env_get): Likewise.
1946 (grub_env_read_hook_t): Return const char *.
1947 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1948 (grub_script_argv_split_append): Likewise.
1949
9aed8a71
VS
19502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1953
067fdf00
VS
19542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1957 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1958
a8bd9d39
VS
19592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1962 Fix prototype.
1963
f7ce5baf
VS
19642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Fix mips compilation.
1967
1968 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1969 normal decoder.
1970 (hashes): Use in embed decoder as well (for sizes).
1971 (dec_stream_header): Fix embed decompressor logic.
1972 (dec_stream_footer): Likewise.
1973
9bb182f3
VS
19742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1977 an error and not a fatal on unrecognised relocation types.
1978
63a9e6f6
VS
19792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1982 Issue error rather than printf on unknown arguments.
1983
4c458569
VS
19842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1987 Make buf a const.
1988
e2d22baf
VS
19892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1992 Fix module name.
1993
53dc8590
VS
19942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1997 leftover debug printf.
1998
6c189294
VS
19992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
2002
f7688369
VS
20032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
2006 A stylistic fix.
2007
11a775a3
VS
20082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
2011
33f784e8
SL
20122011-11-10 Shea Levy <slevy@tieronedesign.com>
2013
2014 Allow all modules to perform serial IO
2015
2016 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
2017 * include/grub/serial.h (grub_serial_port_configure): New inline
2018 function.
2019 (grub_serial_port_fetch): Likewise.
2020 (grub_serial_port_put): Likewise.
2021 (grub_serial_port_fini): Likewise.
2022 (grub_serial_find): New proto.
2023
f6276525
VS
20242011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 Put symlink at the end of the node and fix a potential
2027 memory corruption.
2028
2029 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
2030 Make symlink into an array.
2031 (set_rockridge): Set have_symlink and alloc_dirents.
2032 (grub_iso9660_read_symlink): Use new layout.
2033 (grub_iso9660_iterate_dir): Fix memory corruption.
2034 Use new layout.
2035 (grub_iso9660_dir): Set have_symlink.
2036 (grub_iso9660_open): Likewise.
2037
c3591189
VS
20382011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 Remove local keyword.
2041
2042 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
2043 (version_test_gt): Likewise.
2044 (version_find_latest): Likewise.
2045 (gettext_printf): Likewise.
2046 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2047
cb544caa
VS
20482011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2051
45bd824d
VS
20522011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 Fix ZFS memory and resource leaks.
2055
2056 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2057 All users updated.
2058 Free type on exit.
2059 (fill_vdev_info): New parameter inserted. All users updated.
2060 (check_pool_label): Likewise.
2061 (scan_disk): Likewise.
2062 (scan_devices): Close non-inserted disks.
2063 (fzap_iterate): Free l.
2064 (unmount_device): Free children descripto memory.
2065
ad9a2f44
VS
20662011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2069 argument (access out of bounds).
2070
6b68db81
VS
20712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2074 >= 6 drives.
2075
28840fda
VS
20762011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2079 Fix declaration.
2080
8a5a3a5b
VS
20812011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 Fix several memory leaks.
2084
2085 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2086 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2087 (grub_cpio_dir): Likewise.
2088 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2089 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2090 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2091 (grub_romfs_label): Likewise.
2092 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2093 (squash_unmount): New function.
2094 (grub_squash_dir): Fix memory leak.
2095 (grub_squash_open): Likewise.
2096 (grub_squash_read): Likewise.
2097 (grub_squash_mtime): Likewise.
2098 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2099 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2100 * util/grub-fstest.c (fstest): Likewise.
2101
57b01250
VS
21022011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2105 avoid accessing beyond the array.
2106
19e81ba7
VS
21072011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2110
52b656c0
VS
21112011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 Several AFFS fixes.
2114
2115 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2116 (GRUB_AFFS_FLAG_FFS): Removed.
2117 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2118 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2119 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2120 (grub_fshelp_node): Make block 32-bit.
2121 Add block_cache and last_block_cache.
2122 (grub_affs_read_block): Fill and use block cache.
2123 (grub_affs_read_file): Removed.
2124 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2125 boot block.
2126 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2127 safety.
2128 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2129 space.
2130 (grub_affs_close): Free block cache.
2131 (grub_affs_read): Use grub_fshelp_read_file directly.
2132
438a746a
VS
21332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2136 with no error set.
2137
49a45021
VS
21382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2141 used variable.
2142 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2143 Likewise.
2144
3ae17eb8
VS
21452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2148
2149 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2150 byteswap when needed.
2151
27610c38
VS
21522011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 Fix FreeBSD compilation.
2155
2156 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
2157 to avoid circular dependency.
2158 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
2159 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
2160 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2161
4a19b601
VS
21622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 Fix ZFS crypto error types.
2165
2166 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
2167 (grub_gcm_decrypt): Likewise.
2168 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2169 from PBKDF2.
2170
958ee221
VS
21712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 Illumos support.
2174
2175 * Makefile.util.def (10_illumos): New script.
2176 * configure.ac: Set COND_HOST_ILLUMOS.
2177 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2178 Support Illumos calls.
2179 (find_partition_start) [__sun__]: Likewise.
2180 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2181 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2182 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2183 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2184 device.
2185 * util/grub-probe.c (probe) [__sun__]: Do character check.
2186 * util/grub.d/10_illumos.in: New file.
2187
cac14fb6
VS
21882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 Support escaped commas in hostdisk.
2191
2192 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2193 (find_grub_drive): Use unescape_cmp.
2194 (make_device_name): Escape commas.
2195
78e08dc3
VS
21962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2199
9f421dd1
VS
22002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2203 variable.
2204
ed64e9e2
VS
22052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 Support trampoline jumps on powerpc.
2208
2209 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2210 __ia64__ path.
2211 (grub_dl_load_segments): Set mod->sz.
2212 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2213 segments.
2214 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2215 (jump): Likewise.
2216 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2217 function.
2218 (trampoline): New struct.
2219 (trampoline_template): New const.
2220 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2221 * include/grub/dl.h (grub_dl): Add sz element.
2222 [__powerpc__]: Follow __ia64__.
2223 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2224 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2225 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2226 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2227
3084ede4
VS
22282011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 ZFS crypto support.
2231
2232 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2233 * grub-core/Makefile.core.def (zfscrypt): New module.
2234 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2235 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2236 it. All users updated.
2237 (grub_zfs_decrypt): New var.
2238 (grub_zfs_load_key): Likewise.
2239 (zio_checksum_functions): Add SHA256+MAC.
2240 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2241 (zio_read): Handle encrypted blocks.
2242 (zap_verify): Remove incorrect check.
2243 (fzap_iterate): Handle non-standard fzap.
2244 (zap_iterate): Likewise.
2245 (zap_iterate_u64): New function.
2246 (dnode_get_fullpath): Load keys.
2247 * grub-core/fs/zfs/zfscrypt.c: New file.
2248 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2249 (grub_crypto_ecb_encrypt): Make input const.
2250 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2251 (grub_crypto_ecb_encrypt): Make input const.
2252 (GRUB_CIPHER_AES): New macro.
2253 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2254 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2255 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2256 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2257 prefix. All users updated.
2258 (grub_zfs_add_key): New proto.
2259 (grub_zfs_decrypt): Likewise.
2260 (grub_zfs_load_key): Likewise.
2261 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2262 * util/grub-fstest.c (options): Add -K option.
2263 (argp_parser): Likewise.
2264
b632b404
VS
22652011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 Support zle compression on ZFS.
2268
2269 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2270 (decomp_table): Add zle.
2271 * include/grub/zfs/zio.h (zio_compress): Add zle.
2272
c7ba4f69
VS
22732011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 Support BtrFS embedding.
2276
2277 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2278 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2279 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2280 * util/grub-setup.c (setup): Use fs embedding if available.
2281 Add additional sanity check.
2282
455377d9
VS
22832011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * util/grub-install.in: Fix condition for config_opt.
2286
c2fd16ca
VS
22872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 Support third redundancy strip on raidz3.
2290
2291 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2292 Return error on singularity. All users updated.
2293 (read_device): Don't stop on 3rd failure on raidz3.
2294
8622923b
VS
22952011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 Support case-insensitive ZFS subvolumes.
2298
2299 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2300 All users updated.
2301 (zap_hash): Likewise.
2302 (name_cmp): New function.
2303 (zap_leaf_array_equal): New parameter case_insensitive.
2304 All users updated.
2305 (zap_leaf_lookup): Likewise.
2306 (fzap_lookup): Likewise.
2307 (zap_lookup): Likewise.
2308 (dnode_get_path): New parameter case_insensitive. Retrieve case
2309 sensitiviness of a volume. All users updated.
2310 (dnode_get_fullpath): New parameter case_insensitive.
2311 All users updated.
2312 (grub_zfs_dir): Set info.case_insensitiveness.
2313
95f2e860
VS
23142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 Support second redundancy strip on raidz(2,3).
2317
2318 * grub-core/fs/zfs/zfs.c (powx): New array.
2319 (powx_inv): Likewise.
2320 (poly): New const.
2321 (xor_out): New function.
2322 (gf_mul): Likewise.
2323 (recovery): Likewise.
2324 (read_device): Use second redundancy strip.
2325
11ee4389
VS
23262011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 Use a power of generator representation of GF(256) multiplication group
2329 to save space time and complexity.
2330
2331 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2332 (raid6_table2): Likewise.
2333 (powx): New array.
2334 (powx_inv): Likewise.
2335 (poly): New const.
2336 (grub_raid_block_mul): Replace with ...
2337 (grub_raid_block_mulx): ...this.
2338 (grub_raid6_init_table): Rewritten.
2339 (grub_raid6_recover): Use power of generator representation.
2340
09e2763f
VS
23412011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2344 for the right device.
2345
8bec9a28
VS
23462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2349 expected by grub-mkimage and it's more clear since there is no implicit
2350 padding.
2351
dbd3a32e
VS
23522011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2355 disk.
2356 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2357
182c872a
PMH
23582011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2359
2360 * util/grub-mkrescue.in: Fix handling xorriso option.
2361
1e51cabd
VS
23622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2365 NULL.
2366
9cc3581d 23672011-11-03 crocket <crockabiscuit@gmail.com>
2368
2369 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2370
158dc1ea
VS
23712011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 XZ CRC64 and SHA256 support.
2374
2375 * Makefile.util.def (libgrubmods): Add crc64.c.
2376 * grub-core/Makefile.core.def (crc64): New module.
2377 * grub-core/lib/crc64.c: New file.
2378 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2379 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2380 Fix the type.
2381 (MAX_HASH_SIZE): New define.
2382 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2383 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2384 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2385 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2386 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2387 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2388 Handle non-crc32 hashes.
2389 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2390 (dec_stream_header): Handle non-crc32 hashes.
2391 (dec_stream_footer): Likewise.
2392 (dec_block_header): Likewise.
2393 (dec_main): Likewise.
2394 (xz_dec_init): Likewise.
2395 (xz_dec_reset): Likewise.
2396 (xz_dec_end): Likewise.
2397 * util/import_gcry.py: Add CRC64 line.
2398
9d9b3d2f
VS
23992011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2402 as well.
2403
7d0ac931
VS
24042011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 Make reiserfs label retrieval similar to other *_label functions.
2407
2408 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2409 (REISERFS_MAX_LABEL_LENGTH): Removed.
2410 (REISERFS_LABEL_OFFSET): Likewise.
2411 (grub_reiserfs_label): Rewritten.
2412
24132011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2416 field.
2417
cf5ba824
VS
24182011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2421
17744004
VS
24222011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2425 drive failure on both raidz and raidz2.
2426
aca5aefc
VS
24272011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 Fix RAIDZ(2) for >= 5 devices.
2430
2431 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2432 asize argument. All users updated.
2433
ce8ca56e
VS
24342011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 Fix RAIDZ(2).
2437
2438 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2439 (fill_vdev_info_real): Set ashift.
2440 (read_device): Rewrite RAIDZ part based on reverse engineering.
2441
7c01e783
VS
24422011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2445 don't report potentially unavialiable fields in debug output.
2446 (find_path): Fix double-free and memory leak.
2447
ce109e84
VS
24482011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 Read label on UFS1.
2451
2452 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2453 (grub_ufs_fs): Always set .label.
2454
87661123
VS
24552011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 Use shifts in UFS.
2458
2459 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2460 (grub_ufs_data): New field log2_blksz.
2461 (grub_ufs_read_file): Use shifts.
2462 (grub_ufs_mount): Check block size and logarithm it.
2463
46bc1dc2
VS
24642011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2467 long symlinks.
2468
19ee2987
VS
24692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 Handle symlinks and long names on tar and cpio.
2472
2473 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2474 (ATTR_FILE): Likewise.
2475 (ATTR_DIR): Likewise.
2476 (ATTR_LNK): Likewise.
2477 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2478 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2479 L and K entries.
2480 (grub_cpio_mount): Zero-fill data.
2481 (handle_symlink): New function.
46bc1dc2
VS
2482 (grub_cpio_dir): Handle symlinks.
2483 (grub_cpio_open): Likewise.
2484 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 2485
c83a08d8
VS
24862011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 Fix iso9660 filename limitations and fix memory leaks.
2489
2490 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2491 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2492
45cdd3ea
VS
24932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 Fix JFS file name length limitations.
2496
2497 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2498 (grub_jfs_diropen): Fix maximum filename length.
2499 (grub_jfs_getent): Fix filename length.
2500 (grub_jfs_lookup_symlink): Fix size checks.
2501
94ef05c2
VS
25022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2505 string.
2506
785ab8c7
VS
25072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2508
eb0b6b45
VS
2509 Leverage BFS implementation to read AFS.
2510
2511 * Makefile.util.def (libgrubmods): Add afs.c.
2512 * grub-core/Makefile.core.def (afs): New module
2513 * grub-core/fs/afs.c: New file.
2514 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2515
25162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 2519
c4a1628f
VS
25202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/fs/bfs.c: Run indent.
2523
5825b379
VS
25242011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 BFS implementation based on the specification.
2527
2528 * grub-core/fs/bfs.c: New file.
2529 * Makefile.util.def (libgrubmods): Add bfs.c.
2530 * grub-core/Makefile.core.def (bfs): New module.
2531
42b2a706
VS
25322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * util/grub-fstest.c (cmd_cp): Clarify error message.
2535 (cmd_cmp): Likewise.
2536
61b99bfc
YB
25372011-10-30 Yves Blusseau <blusseau@zetam.org>
2538
2539 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2540 and befs_be.
2541
faba3d16
VS
25422011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 Remove afs and befs because of copyright problem.
2545
2546 * grub-core/fs/afs.c: Removed.
2547 * grub-core/fs/afs_be.c: Removed.
2548 * grub-core/fs/befs.c: Removed.
2549 * grub-core/fs/befs_be.c: Removed.
2550 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2551 * grub-core/Makefile.core.def (afs): Removed.
2552 (afs_be): Likewise.
2553 (befs): Likewise.
2554 (befs_be): Likewise.
2555
c39224b0
VS
25562011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 Prefer rockridge over Joliet.
2559
2560 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2561 to ...
2562 (set_rockridge): ... here.
2563 (grub_iso9660_mount): Check rockridge on the primary label when
2564 discovering. Ignore Joliet if Rockridge is present.
2565
e551115a
VS
25662011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 Use shifts in nilfs2.
2569
2570 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2571 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2572 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2573 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2574 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2575 (grub_nilfs2_entries_per_block): Replaced with ...
2576 (grub_nilfs2_log_entries_per_block_log): ... this.
2577 (grub_nilfs2_blocks_per_group): Replaced with ...
2578 (grub_nilfs2_blocks_per_group_log): ... this.
2579 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2580 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2581 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2582 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2583 (grub_nilfs2_palloc_entry_offset): Replaced ...
2584 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2585 (grub_nilfs2_dat_translate): Use shifts.
2586 (grub_nilfs2_read_inode): Likewise.
2587 (GRUB_MOD_INIT): Ensure that logs are correct.
2588
564dd58c
VS
25892011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 Use shifts in minix filesystem.
2592
2593 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2594 (GRUB_MINIX_ZONE2SECT): Likewise.
2595 (grub_minix_data): Replace block_size with log_block_size.
2596 (grub_minix_read_file): Use shifts.
2597 (grub_minix_mount): Check block size and take a logarithm.
2598
ed9ba06d
VS
25992011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 Use shifts in squash4.
2602
2603 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2604 (squash_mount): Check block size and take logarithm.
2605 (direct_read): Use shifts.
2606
ad03fe76
VS
26072011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 Correct befs block counting logic.
2610
2611 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2612 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2613 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2614 (grub_afs_read_inode): Use block_shift.
2615 (RANGE_SHIFT): New definition.
2616 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2617 unexpected conditions, use shifts and appropriate types.
2618 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2619
6563f63d
VS
26202011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * grub-core/disk/raid.c (scan_devices): Check partition.
2623 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2624
5b1ae25f
VS
26252011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 Support BFS (befs) UUID.
2628
2629 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2630 (grub_afs_small_data_element_header): New struct.
2631 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2632 (grub_afs_read_attribute) [MODE_BFS]: New function.
2633 (grub_afs_iterate_dir): Allocate for complete inode.
2634 (grub_afs_mount): Likewise.
2635 (grub_afs_uuid) [MODE_BFS]: New function.
2636 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2637
f8d82408
VS
26382011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2641 (zfs_unmount): Fix memory leak.
2642
5773fb64
VS
26432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 Support NTFS reparse points.
2646
2647 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2648 (symlink_descriptor): New struct.
2649 (grub_ntfs_read_symlink): New function.
2650 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2651 (grub_ntfs_open): Likewise.
2652
91c3fdde
VS
26532011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2656
3be82e10
VS
26572011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 fstest xnu_uuid subcommand.
2660
2661 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2662 grub-core/commands/xnu_uuid.c.
2663 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2664 (fstest): Handle xnu_uuid.
2665 (options): Document xnu_uuid.
2666 (argp_parser): Parse xnu_uuid.
2667
8e32442e
VS
26682011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2671 -l argument. Add newline at the end if printing.
2672 (GRUB_MOD_INIT): Document -l.
2673
52a05075
VS
26742011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2677
1869edb5
VS
26782011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 ZFS multi-device and version 33 support.
2681
2682 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2683 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2684 (grub_zfs_data): Add multidev-ice-related fields.
2685 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2686 (dva_get_offset): Make dva const.
2687 (zfs_fetch_nvlist): New function.
2688 (fill_vdev_info_real): Likewise.
2689 (fill_vdev_info): Likewise.
2690 (check_pool_label): Likewise.
2691 (scan_disk): Likewise.
2692 (scan_devices): Likewise.
2693 (read_device): Likewise.
2694 (read_dva): Likewise.
2695 (zio_read_gang): Use read_dva.
2696 (zio_read_data): Likewise.
2697 (zap_leaf_lookup): Add missing endian conversion.
2698 (zap_verify): Add missing endian conversion. All users updated.
2699 (fzap_lookup): Likewise.
2700 (fzap_iterate): Likewise.
2701 (dnode_get_path): Handle SA bonus.
2702 (nvlist_find_value): Make input const. All users updated.
2703 (unmount_device): New function.
2704 (zfs_unmount): Use unmount_device.
2705 (zfs_mount): Use scan_disk.
2706 (zfs_mtime): New function.
2707 (grub_zfs_open): Handle system attributes.
2708 (fill_fs_info): Likewise.
2709 (grub_zfs_dir): Likewise.
2710 (grub_zfs_fs): Add mtime.
2711 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2712 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2713 (SA_MTIME_OFFSET): Likewise.
2714 (SA_SYMLINK_OFFSET): Likewise.
2715 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2716 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2717 (fstest): Support zfsinfo.
2718 (argp_parser): Likewise.
2719
186b4028
VS
27202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2723 error.
2724
27252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
2726
2727 ZFS fixes.
2728
2729 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2730 sharing the same block. Iterate over correct number of indices.
2731 (dnode_get_path): Handle symlinks correctly.
2732
c0584900
VS
27332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2736
67e2bd71
VS
27372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 Read label on HFS+.
2740
2741 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2742 (grub_hfsplus_btree_search): Fix types.
2743 (grub_hfsplus_label): Implement.
2744
e9cc6b7b
VS
27452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2748
19832ddb
VS
27492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2752
66b40850
VS
27532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 Fix symlink handling on iso9660.
2756
2757 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2758 All users updated.
2759 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2760 (grub_iso9660_read_symlink): Moved most of code ...
2761 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2762
db821363
VS
27632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2766 Use union to avoid breaking strict-aliasing rules.
2767
e1211949
VS
27682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 Support multi-extent iso files.
2771
2772 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2773 Add node.
2774 (grub_fshelp_node): Revamp. All users updated.
2775 (FLAG_*): New enum.
2776 (read_node): New function.
2777 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2778 All users updated.
2779 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2780 (get_node_size): New function.
2781 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2782 entries.
2783 Fix memory leak on . and ..
2784 (grub_iso9660_read): Use read_node.
2785 (grub_iso9660_close): Free node.
2786
d4888031
VS
27872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 Fix tar 4G limit and handle paths containing dot.
2790
2791 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2792 (canonicalize): New function.
2793 (grub_cpio_find_file): Use canonicalize. Store offs in
2794 grub_disk_addr_t.
2795 (grub_cpio_dir): Use grub_disk_addr_t.
2796 (grub_cpio_open): Likewise.
2797
9f12e664
VS
27982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2801
2802 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2803 unused flags.
2804 (grub_squash_inode): Add long_file and block_size.
2805 (grub_squash_cache_inode): New struct.
2806 (grub_squash_dirent): Make types into enum.
2807 (SQUASH_TYPE_LONG_REGULAR): New type.
2808 (grub_squash_frag_desc): Add field size.
2809 (SQUASH_BLOCK_FLAGS): New enum.
2810 (grub_squash_data): Use grub_squash_cache_inode.
2811 (grub_fshelp_node): Make ino_chunk 64-bit.
2812 (read_chunk): Minor argument change. All users updated.
2813 (squash_mount): Use correct le_to_cpu.
2814 (grub_squash_open): Handle LONG_REGULAR.
2815 (direct_read): New function.
2816 (grub_squash_read_data): Handle blocks correctly.
2817
9f326fba
VS
28182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2821
f4d9b64b
VS
28222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2825
5bbd28b8
VS
28262011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 Fix 2G limit on ZFS.
2829
2830 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2831 types.
2832 (uberblock_verify): Likewise.
2833 (dmu_read): Likewise.
2834 (grub_zfs_read): Likewise. Remove invalid cast.
2835
68c72069
VS
28362011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2839 (grub_jfs_blkno): Fix incorrect shift.
2840 (grub_jfs_read_file): Use more appropriate types.
2841
6e536dc8
VS
28422011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 Support triple indirect on minix2 and minix3.
2845
2846 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2847 Declare triple_indir_zone.
2848 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2849 indirect.
2850
e0864e7a
VS
28512011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 Minix FS fixes.
2854
2855 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2856 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2857 Rename ctime to mtime. All users updated.
2858 (grub_minix_get_file_block): Fix types and double indirect computations.
2859
89481cab
VS
28602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2863 if no label is found.
2864 (grub_fat_iterate_dir): Fix file size type.
2865 (grub_fat_iterate_dir): Likewise.
2866
f646e143
VS
28672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2870 save some space.
2871 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2872 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2873
534d769e
VS
28742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2877
e084ba18
VS
28782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * util/import_gcry.py: Accept space between # and include.
2881
3471ecdf
VS
28822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2885
124df5f6
VS
28862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2889
2890 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2891 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2892 yylex_strncpy.
2893 * grub-core/script/yylex.l: Add fine-grained #pragma.
2894
4defb8d5
VS
28952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2898 New inline function.
2899 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2900 Likewise.
2901 (memset) [GRUB_UTIL]: Likewise.
2902 (memcmp) [GRUB_UTIL]: Likewise.
2903
4e94ae65
VS
29042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2907 inline function rather than a define.
2908
18c575e5
VS
29092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * util/grub-setup.c: Add missing include.
2912
f8bc22a8
VS
29132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * util/ieee1275/grub-ofpathname.c: Add missing include.
2916
3ce69fc9
VS
29172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2920 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2921 Likewise.
2922
d1e293bb
VS
29232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2926 grub_memcmp usage.
2927
7a5c54a4
VS
29282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * util/grub-install.in: Add datarootdir as per automake manual
2931 suggestion.
2932 * util/grub-mknetdir.in: Likewise.
2933
29342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
2935
2936 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2937 suggestion.
2938 * util/grub.d/10_kfreebsd.in: Likewise.
2939 * util/grub.d/10_linux.in: Likewise.
2940 * util/grub.d/10_netbsd.in: Likewise.
2941 * util/grub.d/10_windows.in: Likewise.
2942 * util/grub.d/20_linux_xen.in: Likewise.
2943
766f7d08
VS
29442011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 Remove redundant grub_kernel_image_size.
2947
2948 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2949 _edata and _start.
2950 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2951 the small code. It moves it only by few bytes but simplifies the code.
2952 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2953 _start.
2954 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2955 (grub_kernel_image_size): Removed.
2956 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2957 (grub_kernel_image_size): Removed.
2958 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2959 compiled with Apple toolchain.
2960 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2961 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2962 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2963 (grub_total_module_size): Likewise.
2964 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2965 Removed.
2966 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2967 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2968 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2969 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2970 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2971 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2972 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2973 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2974 Removed.
2975 (grub_total_module_size): Removed.
2976 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2977 (image_targets): Likewise.
2978 Set .compressed_size to no field on sparc.
2979 (generate_image): Remove kernel_image_size handling.
2980
fcf1d672
SJ
29812011-10-19 Szymon Janc <szymon@janc.net.pl>
2982
2983 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2984 NULL pointer dereference.
2985
de9c615e
VS
29862011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2989 done with a dedicated section.
2990
2991 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2992 Ensure the correct position of boot_path.
2993 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2994 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2995 other fields.
2996 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2997 * include/grub/boot.h: Removed. All references removed.
2998 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2999 Removed.
3000 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
3001
e55599dc
VS
30022011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
3005 name.
3006
36dd20ad
VS
30072011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
3010
f8f72eb8
VS
30112011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3014 Don't add the bogus brackets.
3015
a374751b
VS
30162011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 ExFAT support.
3019
3020 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
3021 * grub-core/Makefile.core.def (exfat): New module.
3022 * grub-core/fs/exfat.c: New file.
3023 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
3024 (GRUB_FAT_ATTR_*): Make into an enum.
3025 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
3026 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
3027 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
3028 (GRUB_FAT_MAXFILE): Removed.
3029 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
3030 (grub_current_fat_bpb_t): New type.
3031 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
3032 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
3033 (grub_fat_dir_node_t): New type.
3034 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
3035 (fat_log2) [MODE_EXFAT]: Removed.
3036 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
3037 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
3038 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
3039 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
3040 (grub_fat_label) [MODE_EXFAT]: New function.
3041 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
3042 reserved_first_sector to 0.
3043
544c2487
VS
30442011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 Move grub_reboot out of the kernel.
3047
3048 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3049 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3050 * grub-core/lib/efi/reboot.c: ... here.
3051 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3052 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3053 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3054 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3055 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3056 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3057 * grub-core/lib/ieee1275/reboot.c: ... here.
3058 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3059 * grub-core/lib/mips/arc/reboot.c: ... here.
3060 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3061 * grub-core/lib/mips/loongson/reboot.c: ...here.
3062 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3063 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3064 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3065 * include/grub/i386/reboot.h: New file.
3066 * include/grub/mips/loongson/ec.h: Fix includes.
3067 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3068 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3069 * grub-core/lib/i386/reboot.c: New file.
3070
a97501d2
VS
30712011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 Make grub_prefix into module to fix the arbitrary limit and save
3074 some space.
3075
3076 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3077 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3078 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3079 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3080 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3081 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3082 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3083 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3084 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3085 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3086 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3087 * include/grub/ia64/efi/kernel.h: Removed.
3088 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3089 (grub_prefix): Removed.
3090 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3091 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3092 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3093 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3094 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3095 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3096 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3097 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3098 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3099 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3100 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3101 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3102 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3103 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3104 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3105 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3106 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3107 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3108 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3109 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3110 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3111 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3112 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3113 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3114 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3115 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3116 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3117 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3118 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3119 from module.
3120 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3121 prefix_end.
3122 (image_targets): Likewise.
3123 (generate_image): Put prefix as a module.
3124
39705fad
VS
31252011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 Replace grub_module_iterate with FOR_MODULES.
3128
3129 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3130 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3131 (grub_efi_modules_addr): ...this.
3132 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3133 (grub_efi_init): Set grub_modbase.
3134 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3135 (grub_modbase): New variable.
3136 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3137 (grub_modbase): New variable.
3138 (grub_machine_init): Set grub_modbase.
3139 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3140 (grub_modbase): New variable.
3141 (grub_machine_init): Set grub_modbase.
3142 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3143 (grub_modbase): New variable.
3144 (grub_machine_init): Set grub_modbase.
3145 * grub-core/kern/main.c (grub_module_iterate): Remove.
3146 (grub_modules_get_end): Use grub_modbase.
3147 (grub_load_modules): Use FOR_MODULES.
3148 (grub_load_config): Likewise.
3149 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3150 (grub_modbase): New variable.
3151 (grub_machine_init): Set grub_modbase.
3152 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
3153 (grub_modbase): New variable.
3154 (grub_machine_init): Set grub_modbase.
3155 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
3156 Removed.
3157 (grub_modbase): New variable.
3158 (grub_machine_init): Set grub_modbase.
3159 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
3160 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
3161 (grub_module_iterate): Likewise.
3162 (grub_modbase): New variable declaration.
3163 (FOR_MODULES): New macro.
3164
2afb7f6c
VS
31652011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * configure.ac: Check for __ctzdi2 and __ctzsi2.
3168 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3169
366e34fa
VS
31702011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 Fix few obvious type discrepancies.
3173
3174 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3175 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3176 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3177 variable.
3178 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3179 and connected types.
3180 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3181 offset.
3182 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3183 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3184 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3185 and connected types.
3186
177b960e
VS
31872011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 Fix python 3.x incompatibilities.
3190
3191 * gentpl.py: Put brackets around print strings.
3192 * util/import_gcry.py: Open explicitly as utf-8.
3193 Use in instead of has_key.
3194
3b619ae1
VS
31952011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3198 (GRUB_XFS_INO_AGBITS): Make into inline function.
3199 (GRUB_XFS_INO_INOINAG): Likewise.
3200 (GRUB_XFS_INO_AG): Likewise.
3201 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3202 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3203 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3204 (GRUB_XFS_EXTENT_SIZE): Likewise.
3205 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3206 (GRUB_XFS_NEXT_DIRENT): Likewise.
3207 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3208 (grub_xfs_read_file): Fix offset type.
3209
8bcebcb8
RM
32102011-10-15 Robert Millan <rmh@gnu.org>
3211
3212 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3213
0017e5ef
RM
32142011-10-15 Robert Millan <rmh@gnu.org>
3215
3216 Fix build problem on FreeBSD and GNU/kFreeBSD.
3217
3218 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3219
d8919552
VS
32202011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3223
3224 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3225 types.
3226 (grub_hfsplus_btree_recoffset): Likewise.
3227 (grub_hfsplus_btree_recptr): Likewise.
3228 (grub_hfsplus_find_block): Likewise.
3229 (grub_hfsplus_btree_search): Likewise.
3230 (grub_hfsplus_read_block): Likewise.
3231 (grub_hfsplus_read_file): Likewise.
3232 (grub_hfsplus_mount): Likewise.
3233 (grub_hfsplus_btree_iterate_node): Likewise.
3234 (grub_hfsplus_btree_search): Likewise.
3235 (grub_hfsplus_iterate_dir): Likewise.
3236 (grub_hfsplus_read): A small code simplification.
3237
c81296b6
VS
32382011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * grub-core/kern/emu/hostdisk.c
3241 (convert_system_partition_to_system_disk): Don't assume that children
3242 of mapper nodes are mapper nodes.
3243
0eb8ffb1
VS
32442011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3247 * include/grub/misc.h (grub_isxdigit): New function.
3248 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3249 switched to grub_isxdigit.
3250 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3251 number starting with a letter.
3252
a98f4a08
RM
32532011-10-09 Robert Millan <rmh@gnu.org>
3254
3255 LVM support for FreeBSD and GNU/kFreeBSD.
3256
3257 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3258 GNU/kFreeBSD.
3259 (LVM_DEV_MAPPER_STRING): Move from here ...
3260 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3261 * util/getroot.c: Include `<grub/util/lvm.h>'.
3262 (grub_util_get_dev_abstraction): Enable
3263 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3264 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3265 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3266 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3267 support it.
3268 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3269 GNU/kFreeBSD.
3270 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3271 when LVM abstraction is required for ${GRUB_DEVICE}.
3272
050e8e90
SJ
32732011-10-06 Szymon Janc <szymon@janc.net.pl>
3274
3275 Add support for LZO compression in GRUB:
3276 - import of minilzo library,
3277 - LZO decompression for btrfs,
3278 - lzop files decompression.
3279
3280 * grub-core/io/lzopio.c: New file.
3281 * grub-core/lib/adler32.c: Likewise.
3282 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3283 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3284 * grub-core/lib/minilzo/minilzo.c: Likewise.
3285 * grub-core/lib/minilzo/minilzo.h: Likewise.
3286 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3287 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3288 grub-core/lib/minilzo/minilzo.c to common.
3289 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3290 cflags in cppflags.
3291 * grub-core/Makefile.core.def (btrfs): Likewise.
3292 * grub-core/Makefile.core.def (lzopio): New module.
3293 (adler32): Likewise.
3294 * grub-core/fs/btrfs.c: Include minilzo.h.
3295 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3296 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3297 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3298 (grub_btrfs_lzo_decompress): New function.
3299 (grub_btrfs_extent_read): Add support for LZO compression type.
3300 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3301 (GRUB_USHRT_MAX): Likewise.
3302 (GRUB_UINT_MAX): Likewise.
3303 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3304 (UINT_MAX): Likewise.
3305 (CHAR_BIT): Likewise.
3306 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3307 grub-core/lib/posix_wrap/limits.h
3308 (UCHAR_MAX): Likewise.
3309 * include/grub/file.h (grub_file_filter_id): New compression filter
3310 GRUB_FILE_FILTER_LZOPIO.
3311 * include/grub/file.h (grub_file_filter_id): Set
3312 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3313 * include/grub/types.h (grub_get_unaligned16): New function.
3314 (grub_get_unaligned32): Likewise.
3315 (grub_get_unaligned64): Likewise.
3316 * util/import_gcry.py (cryptolist): Add adler32.
3317
0eb8ffb1
VS
33182011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3321 in perspective decreases the complexity of build system and fixes
3322 compilation right now.
3323
ce79cc99 33242011-10-01 Ales Nesrsta <starous@volny.cz>
3325
3326 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3327 (fixed problem related to using UHCI with coreboot).
3328
8667a314
BC
33292011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3330
3331 * gentpl.py: Use Autogen macros so that the output template file
3332 (Makefile.tpl) size is reduced.
3333
fc5efcc0
MK
33342011-09-29 Mads Kiilerich <mads@kiilerich.com>
3335
3336 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3337 extra_dist.
3338
d1ab689d
ML
33392011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3340
3341 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3342 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3343
c05de032
ML
33442011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3345
3346 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3347 _fullpath.
3348
cca7ccd8
ML
33492011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3350
3351 Remove extra declaration of sleep for mingw32.
3352
3353 * util/misc.c (sleep) [__MINGW32__]: Removed.
3354 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3355
e0b0dc83
GS
33562011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3357
3358 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3359 type and packname.
3360 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3361 Resurrected.
3362 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3363 (grub_netbsd_btinfo_bootwedge): New struct.
3364 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3365 New function.
3366 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3367
91a1a164
TH
33682011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3369
3370 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3371 loader.
3372
2ded951e
AB
33732011-09-28 Andreas Born <futur.andy@googlemail.com>
3374
3375 Fix incorrect identifiers in bash-completion.
3376
3377 * util/bash-completion.d/grub-completion.bash.in
3378 (_grub_mkpasswd-pbkdf2): Rename to ...
3379 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3380 (_grub_script-check): Rename to ...
3381 (_grub_script_check): ... this. All users updated.
3382
69915030
VS
33832011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3386 Return 0 if disk isn't biosdisk.
3387
20fd15f9
GS
33882011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3389
3390 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3391 on NetBSD.
3392 * Makefile.util.def (grub-fstest): Likewise.
3393
1a7d7db9
GS
33942011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3395
3396 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3397 Get sector size from disk label.
3398
2221ab6c
CW
33992011-09-05 Colin Watson <cjwatson@ubuntu.com>
3400
3401 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3402 */README* as well as README*.
3403 Reported by: Axel Beckert.
3404
ca51c4a0
VS
34052011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3408 case of less than 256 MiB of RAM.
3409
ab80f326
VS
34102011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/commands/wildcard.c (make_regex): Handle @.
3413
4155e697
VS
34142011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3417
ab178c08
SJ
34182011-08-21 Szymon Janc <szymon@janc.net.pl>
3419
3420 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3421 AC_LANG_CONFTEST macros.
3422
7dc3c686
SJ
34232011-08-20 Szymon Janc <szymon@janc.net.pl>
3424
3425 Add grub-fstest option to uncompress data for commands.
3426
3427 * util/grub-fstest.c (uncompress): New var.
3428 (options): New option -u.
3429
fe8d4a7b
SJ
34302011-08-20 Szymon Janc <szymon@janc.net.pl>
3431
3432 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3433 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3434
a5219af1
SJ
34352011-08-20 Szymon Janc <szymon@janc.net.pl>
3436
3437 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3438 file type was not recognized correctly (not gzip or corrupted).
3439
f87abff5
VS
34402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3443 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3444
d94497ea
VS
34452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3448 loongson.
3449 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3450 video_radeon_fuloong2e.
3451 * grub-core/video/radeon_fuloong2e.c: New file.
3452 * include/grub/video.h (grub_video_id_t): Add new ID
3453 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3454
0d1fd011
VS
34552011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3458 define.
3459 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3460 that PRID matches the detected subplatform and reset the subplatform
3461 if it doesn't.
3462
84beb0ee
VS
34632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3466
1227c133
VS
34672011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Fix PCI iterating on functions >= 4.
3470
3471 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3472 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3473 Removed.
3474 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3475 (grub_pci_read): Fix bitmask.
3476 (grub_pci_read_word): Likewise.
3477 (grub_pci_read_byte): Likewise.
3478 (grub_pci_write): Likewise.
3479 (grub_pci_write_word): Likewise.
3480 (grub_pci_write_byte): Likewise.
3481
9594c689
VS
34822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3485 can still be specified in TARGET_CFLAGS)
3486
14a2562c
VS
34872011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3490
3491 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3492 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3493 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3494 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3495 (FULOONG): Rename to ...
3496 (FULOONG2F): ... this. All users updated.
3497 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3498 (machtype_fuloong2f_str): ... this.
3499 (machtype_fuloong2e_str): New string.
3500 Check for machtype_fuloong2e_str.
3501 * grub-core/loader/mips/linux.c (loongson_machtypes)
3502 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3503 * grub-core/term/serial.c (loongson_defserial)
3504 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3505 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3506 loongson_defserial.
3507 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3508 Rename to ...
3509 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3510 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3511 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3512 to IMAGE_FULOONG2F_FLASH. All users updated.
3513 (image_targets): Rename images.
3514 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3515
b526cbb6
SJ
35162011-08-19 Szymon Janc <szymon@janc.net.pl>
3517
3518 Make enable of disk cache statistics code configurable.
3519
3520 * configure.ac: --enable-cache-stats added.
3521 * config.h.in (DISK_CACHE_STATS): New define.
3522 * grub-core/Makefile.core.def (cacheinfo): New command.
3523 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3524 * grub-core/commands/cacheinfo.c: New file.
3525 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3526 moved to cacheinfo.c.
3527 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3528 debug code.
3529 * include/grub/disk.h: Likewise.
3530
fb739ccd
SJ
35312011-08-19 Szymon Janc <szymon@janc.net.pl>
3532
3533 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3534 * grub-core/Makefile.am: Likewise.
3535
2bba8cfd
VS
35362011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3539 non-zero pull.
3540
43526629
VS
35412011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3544 All users updated.
3545 (grub_jfs_lookup_symlink): Use correct starting inode.
3546
5c144cc8
VS
35472011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * util/grub-setup.c (main): Add missing gcry initialisation.
3550
b1257f65
VS
35512011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 Don't accept text modes on EFI when booting Linux.
3554
3555 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3556 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3557
828bc390
ML
35582011-08-15 Mario Limonciello <mario_limonciello@dell.com>
35592011-08-15 Colin Watson <cjwatson@ubuntu.com>
3560
3561 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3562 use of "/path/.." as in grub-install for EFI as well as handling
3563 symlinks correctly.
3564 Fixes Debian bug #637768.
3565
5f60ccac
CW
35662011-08-15 Colin Watson <cjwatson@ubuntu.com>
3567
3568 * util/grub-probe.c: Remove duplicate #include.
3569
6dc212f9
RM
35702011-08-10 Robert Millan <rmh@gnu.org>
3571
3572 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3573
3574 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3575 function.
3576 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3577 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3578
66816d85
RM
35792011-08-03 Robert Millan <rmh@gnu.org>
3580
3581 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3582 la_array as packed.
3583 Reported by: Zachary Bedell
3584
20168fca
CW
35852011-07-26 Colin Watson <cjwatson@ubuntu.com>
3586
3587 * configure.ac: The Loongson port requires grub-mkfont due to its
3588 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3589 be built.
3590
303b6246
CW
35912011-07-26 Colin Watson <cjwatson@ubuntu.com>
3592
3593 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3594 processing arguments (otherwise help2man fails when GRUB has not yet
3595 been installed).
3596
6795300e
VS
35972011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3598
41aa28ea
VS
3599 New script grub-mkstandalone.
3600
3601 * Makefile.util.def (grub-mkstandalone): New script.
3602 * docs/man/grub-mkstandalone.h2m: New file.
3603 * util/grub-mkstandalone.in: Likewise.
3604
36052011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 Support ATA disks with 4K sectors.
6795300e
VS
3608
3609 * include/grub/ata.h (grub_ata): New member log_sector_size.
3610 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3611 (grub_ata_identify): Read sector size.
3612 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3613
92227597
VS
36142011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * util/grub-install.in: Don't use uhci outside of x86.
3617
c77069f5
VS
36182011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * util/grub-mkrescue.in: Add missing quotes.
3621
36222011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
3623
3624 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3625 dereference.
3626
583168a2
VS
36272011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3630
6be1c01f
VS
36312011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * include/grub/video.h: add missing EXPORT_FUND on
3634 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3635
a1167439
VS
36362011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * include/grub/mips/kernel.h: Fix define conflict.
3639
bf66054f
VS
36402011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3643 all four ways.
3644
8fc4fa45
CW
36452011-07-21 Colin Watson <cjwatson@ubuntu.com>
3646
3647 Preferred resolution detection for VBE.
3648
3649 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3650 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3651 the Flat Panel extension, in line with the X.org VESA driver.
3652 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3653 New function.
3654 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3655 (grub_vbe_bios_read_edid): Likewise.
3656 (grub_vbe_get_preferred_mode): Likewise.
3657 (grub_video_vbe_setup): When the mode is "auto", try to get the
3658 preferred mode from VBE, and use the largest mode that is no larger
3659 than the preferred mode (some BIOSes expose a preferred mode that is
3660 not in their mode list!). If this fails, fall back to 640x480 as a
3661 safe conservative choice.
3662 (grub_video_vbe_get_edid): New function.
3663 (grub_video_vbe_adapter): Add get_edid.
3664 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3665 (struct grub_video_adapter): Add get_edid.
3666 (grub_video_edid_checksum): Add prototype.
3667 (grub_video_edid_preferred_mode): Likewise.
3668 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3669 structure.
3670
3671 * grub-core/commands/videoinfo.c (print_edid): New function.
3672 (grub_cmd_videoinfo): Print EDID if available.
3673
3674 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3675 is more appropriate on a wider range of platforms than 640x480.
3676 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3677 documentation.
3678
ca5572a9
VS
36792011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3682
e4bcf625
VS
36832011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 * po/POTFILES.in: Regenerate.
3686
c4edd548
VS
36872011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3690 incorrect memory usage.
3691
16a2bab0
VS
36922011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * util/grub-install.in: Source grub-mkconfig_lib.
3695
2e418de6
VS
36962011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 Remove getroot.c from core on emu platform.
3699
3700 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3701 kern/emu/raid.c.
3702 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3703 useless.
3704 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3705 * util/getroot.c (get_win32_path): ... here.
3706 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3707 * util/getroot.c (fini_libzfs): ... here.
3708 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3709 * util/getroot.c (grub_get_libzfs_handle): ... here.
3710 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3711 Moved from here...
3712 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3713 * grub-core/kern/emu/misc.c
3714 (grub_make_system_path_relative_to_its_root): Moved from here...
3715 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3716 * grub-core/kern/emu/getroot.c: Moved from here ...
3717 * util/getroot.c: ... here. All users updated.
3718 * grub-core/kern/emu/raid.c: Moved from here ...
3719 * util/raid.c: ... here. All users updated.
3720
def9832a
VS
37212011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * po/POTFILES.in: Regenerate.
3724
cd8fe79a
VS
37252011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 Fix compilation on GNU/Linux.
3728
3729 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3730 Disable geli.
3731 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3732 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3733 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3734
a251b719
VS
37352011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
37362011-07-07 Michael Gorven <michael@gorven.za.net>
37372011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3738
3739 LUKS and GELI support.
3740
3741 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3742 grub-core/disk/luks.c, grub-core/disk/geli.c,
3743 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3744 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3745 grub-core/lib/arg.c.
3746 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3747 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3748 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3749 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3750 (grub-bin2h): Add libgcry.a.
3751 (grub-mkimage): Likewise.
3752 (grub-mkrelpath): Likewise.
3753 (grub-script-check): Likewise.
3754 (grub-editenv): Likewise.
3755 (grub-mkpasswd-pbkdf2): Likewise.
3756 (grub-pe2elf): Likewise.
3757 (grub-fstest): Likewise.
3758 (grub-mkfont): Likewise.
3759 (grub-mkdevicemap): Likewise.
3760 (grub-probe): Likewise.
3761 (grub-ofpath): Likewise.
3762 (grub-mklayout): Likewise.
3763 (example_unit_test): Likewise.
3764 (grub-menulst2cfg): Likewise.
3765 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3766 * grub-core/Makefile.core.def (cryptodisk): New module.
3767 (luks): Likewise.
3768 (geli): Likewise.
3769 * grub-core/disk/AFSplitter.c: New file.
3770 * grub-core/disk/cryptodisk.c: Likewise.
3771 * grub-core/disk/geli.c: Likewise.
3772 * grub-core/disk/luks.c: Likewise.
3773 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3774 grub_util_is_lvm.
3775 (grub_util_get_dm_abstraction): New function.
3776 (grub_util_follow_gpart_up): Likewise.
3777 (grub_util_get_geom_abstraction): Likewise.
3778 (grub_util_get_dev_abstraction): Use new functions.
3779 (grub_util_pull_device): Pull GELI and LUKS.
3780 (grub_util_get_grub_dev): Handle LUKS and GELI.
3781 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3782 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3783 (follow_geom_up): Removed.
3784 (grub_util_fd_seek): New function.
3785 (open_device): Use grub_util_fd_seek.
3786 (nread): Rename to ..
3787 (grub_util_fd_read): ... this. All users updated.
3788 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3789 (grub_crypto_cbc_decrypt): Likewise.
3790 (grub_crypto_hmac_write): Likewise.
3791 (grub_crypto_hmac_buffer): Likewise.
3792 (grub_password_get): Extend to util.
3793 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3794 New member modname.
3795 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3796 * include/grub/cryptodisk.h: New file.
3797 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3798 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3799 LUKS and GELI.
3800 (grub_util_follow_gpart_up): New proto.
3801 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3802 (grub_util_fd_read): Likewise.
3803 (grub_cryptodisk_cheat_mount): Likewise.
3804 (grub_util_cryptodisk_print_uuid): Likewise.
3805 (grub_util_get_fd_sectors): Likewise.
3806 * util/grub-fstest.c (mount_crypt): New var.
3807 (fstest): Mount crypto if requested.
3808 (options): New option -C.
3809 (argp_parser): Parse -C.
3810 (main): Init and fini gcry.
3811 * util/grub-install.in: Support cryptodisk install.
3812 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3813 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3814 cryptodisk.
3815 (prepare_grub_to_access_device): Likewise.
3816 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3817 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3818 (probe_cryptodisk_uuid): New function.
3819 (probe_abstraction): Likewise.
3820 (probe): Use new functions.
3821 * util/import_gcry.py: Create Makefile.utilgcry.def.
3822 Add modname member.
3823
9bfdcbbc
VS
38242011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 Lazy device scanning.
3827
3828 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3829 (grub-setup): Remove util/raid.c.
3830 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3831 * grub-core/disk/lvm.c (scan_depth): New variable.
3832 (grub_lvm_iterate): Rescan if necessary.
3833 (find_lv): New function based on grub_lvm_open.
3834 (grub_lvm_open): Use find_lv. Rescan on error.
3835 (is_node_readable): New function.
3836 (is_lv_readable): Likewise.
3837 (grub_lvm_scan_device): Skip already found disks.
3838 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3839 Stop if searched device is found and readable.
3840 * grub-core/disk/raid.c (inscnt): New variable.
3841 (scan_depth): Likewise.
3842 (scan_devices): New function based on grub_raid_register. Abort if
3843 looked for device is found.
3844 (grub_raid_iterate): Rescan if needed.
3845 (find_array): NEw function based on -grub_raid_open.
3846 (grub_raid_open): Use find_array and rescan.
3847 (insert_array): Set became_readable_at.
3848 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3849 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3850 New function.
3851 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3852 (grub_util_pull_device): New function.
3853 (grub_util_get_grub_dev): Call grub_util_pull_device.
3854 * util/raid.c: Moved to ..
3855 * grub-core/kern/emu/raid.c: ... here.
3856 (grub_util_raid_getmembers): New parameter "bootable".
3857 All users updated. Support 1.x.
3858 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3859 All users updated.
3860 * include/grub/disk.h (grub_disk_pull_t): New enum.
3861 (grub_disk_dev): Change iterate prototype.
3862 All users updated.
3863 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3864 New proto.
3865 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3866 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3867 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3868 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3869 All users updated.
3870 * include/grub/util/raid.h: Removed.
3871
1c358e59
VS
38722011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * po/POTFILES.in: Regenerate.
3875
abee94ed
VS
38762011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 Unify sparc init with other ieee1275.
3879
3880 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3881 instead of kern/sparc64/ieee1275/init.c.
3882 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3883 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3884 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3885 grub/machine/kernel.h.
3886 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3887 (grub_claim_heap) [__sparc__]: Use sparc version.
3888 (grub_machine_init): Moved args parsing to
3889 (grub_parse_cmdline): ...this.
3890 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3891 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3892 New definition.
3893 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3894
3895 Move BOOTP to separate file.
3896
3897 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3898 * grub-core/net/net.c: Move all BOOTP functions to
3899 * grub-core/net/bootp.c: ... here.
3900
3901 Use frame interface on PXE.
3902
3903 * grub-core/Makefile.core.def (pxecmd): Removed.
3904 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3905 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3906 * grub-core/i386/pc/pxe.c: Moved from here ...
3907 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3908 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3909 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3910
3911 EFI network support.
3912
3913 * grub-core/Makefile.core.def (efinet): New module.
3914 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3915 here...
3916 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3917 All users updated.
3918 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3919 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3920 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3921 * grub-core/net/drivers/efi/efinet.c: New file.
3922 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3923 (grub_efi_net_config): New extern var.
3924
3925 Various cleanups and bugfixes.
3926
3927 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3928 error.
3929 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3930 disk declared as partition.
3931 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3932 leak on failure.
3933 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3934 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3935 (grub_debug_zalloc): Likewise.
3936 (grub_debug_realloc): Likewise.
3937 (grub_debug_memalign): Likewise.
3938 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3939 Check that target is IPv4.
3940 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3941 local-mac-address as fallback.
3942 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3943 memory leak.
3944 * grub-core/net/ip.c (ipchksum): Rename to ...
3945 (grub_net_ip_chksum): ... this. All users updated.
3946 (grub_net_recv_ip_packets): Special handling for DHCP.
3947 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3948
3949 Unify prefix handling
3950
3951 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3952 (grub_machine_get_bootlocation): ... this.
3953 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3954 (grub_machine_get_bootlocation): ... this.
3955 (grub_prefix): New variable.
3956 (prefix): Removed.
3957 (root_dev): New variable.
3958 (dir): Likewise.
3959 (main): Use new variables.
3960 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3961 Revamped into ...
3962 (grub_machine_get_bootlocation): ... this.
3963 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3964 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3965 (grub_machine_get_bootlocation): ... this.
3966 (grub_machine_set_prefix): Removed.
3967 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3968 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3969 Revamped into ...
3970 (grub_machine_get_bootlocation): ... this.
3971 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3972 (grub_set_prefix_and_root): ... this. All users updated.
3973 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3974 Revamped into ...
3975 (grub_machine_get_bootlocation): ... this.
3976 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3977 (grub_machine_get_bootlocation): New proto.
3978 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3979
3980 Less intrusive and more reliable seek on network implementation.
3981
3982 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3983 (grub_file_seek): Don't call grub_file_net_seek.
3984 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3985 (grub_net_fs_read_real): .. this.
3986 (grub_net_seek_real): Use net->offset.
3987 (grub_net_fs_read): Seek if necessary.
3988
3989 Unify IEEE1275 netwotk config with the other platforms.
3990
3991 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3992 New variable.
3993 (grub_machine_get_bootlocation): Support network.
3994 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3995 Support type and device parsing.
3996 (grub_ieee1275_get_device_type): New function.
3997 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3998 into ...
3999 (grub_ieee1275_net_config_real): ... this.
4000 (grub_ofnet_probecards): Removed.
4001 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
4002 * include/grub/ieee1275/ofnet.h: Removed.
4003 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
4004 extern var.
4005 (grub_ieee1275_get_device_type): New function.
4006
4007 Unify network device closing across platforms and make more robust.
4008
4009 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
4010 grub_grubnet_fini.
4011 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
4012 already.
4013 * grub-core/net/net.c (grub_net_network_level_interface_register):
4014 Update num_ifaces.
4015 (grub_net_card_unregister): Close all interfaces.
4016 (receive_packets): Don't poll if no iterfaces are registered.
4017 Open if necessary.
4018 (grub_net_fini_hw): New function.
4019 (grub_net_restore_hw): Likewise.
4020 (fini_hnd): New variable.
4021 (GRUB_MOD_INIT): Register preboot hook.
4022 (GRUB_MOD_FINI): Run and unregister preboot hook.
4023
4024 Poll network cards when idle.
4025
4026 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
4027 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
4028 * grub-core/net/net.c (receive_packets): Save last poll time.
4029 (grub_net_poll_cards_idle_real): New function.
4030 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
4031 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
4032 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
4033
4034 Rename ofnet interfaces.
4035
4036 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
4037 (grub_ofnet_findcards): Use ofnet_%s names.
4038
4039 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
4040
4041 Cleanup socket opening.
4042
4043 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
4044 (grub_net_fs_close): Likewise.
4045 (grub_net_fs_read_real): Use eof member.
4046 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
4047 (+grub_net_udp_close): New inline function.
4048
4049 * include/grub/net/tftp.h: Moved to the top of ...
4050 * grub-core/net/tftp.c: ... here.
4051 * include/grub/net/ip.h: Moved mostly to the top of ...
4052 * grub-core/net/ip.c: ... here.
4053 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4054 * grub-core/net/ethernet.c: ... here.
4055
4056 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4057
4058 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4059 FS name.
4060
4061 * include/grub/net/ip.h (ipv4_ini): Removed.
4062 (ipv4_fini): Likewise.
4063
4064 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4065 (grub_net_send_ip_packets): Likewise.
4066
cf1337aa
VS
40672011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4070 grub_read_cmos prototype.
4071
93c06ff9
VS
40722011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 VGA text support in qemu-mips
4075
4076 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4077 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4078 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4079 text.
4080 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4081 * grub-core/kern/vga_init.c: ... this.
4082 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4083 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4084 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4085 Adjust.
4086 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4087 GRUB_MACHINE_PCI_IO_BASE.
4088
748ccabe
VS
40892011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 MIPS qemu flash support.
4092
4093 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4094 magic.
4095 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4096 (grub_machine_init): Probe memory if its size isn't known.
4097 * util/grub-mkimage.c (image_targets): Add flash targets.
4098 (generate_image): Handle flash targets.
4099
d7345994
VS
41002011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 MIPS qemu at_keyboard support.
4103
4104 * gentpl.py (videoinkernel): Add qemu-mips.
4105 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4106 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4107 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4108 modules.
4109 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4110 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4111 * grub-core/term/serial.c (grub_serial_register)
4112 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4113
a07a81b3
VS
41142011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 CMOS support on sparc.
4117
4118 * gentpl.py (cmos): Add powerpc and sparc.
4119 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4120 powerpc and sparc.
4121 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4122 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4123 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4124 grub_set_datetime_cmos.
4125 * grub-core/lib/ieee1275/cmos.c: New file.
4126 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4127 (find_rtc): Set no_ieee1275_rtc on error.
4128 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4129 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4130 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4131 fail. Move value to argument. All users updated
4132 (grub_cmos_write): Likewise.
4133 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4134 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4135 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4136 grub_get_datetime_cmos and grub_set_datetime_cmos.
4137
77546584
GS
41382011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4139
4140 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4141 sourcing grub-mkconfig_lib.
4142 * util/update-grub_lib.in: Likewise.
4143 * util/grub.d/00_header.in: Likewise.
4144 * util/grub.d/10_hurd.in: Likewise.
4145 * util/grub.d/10_kfreebsd.in: Likewise.
4146 * util/grub.d/10_linux.in: Likewise.
4147 * util/grub.d/10_netbsd.in: Likewise.
4148 * util/grub.d/10_windows.in: Likewise.
4149 * util/grub.d/20_linux_xen.in: Likewise.
4150 * util/grub.d/30_os-prober.in: Likewise.
4151
54894791
CW
41522011-06-28 Colin Watson <cjwatson@ubuntu.com>
4153
4154 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4155 default_bg_color rather than black.
4156 (grub_gfxterm_fullscreen): Likewise.
4157 (grub_gfxterm_background_color_cmd): Save new background color in
4158 default_bg_color.
4159
8d5d8444
VS
41602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
4163
5afeb5bd
VS
41642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
4167 mismerge.
4168
ba7df45e
VS
41692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 Chainloading on coreboot support.
4172
4173 * grub-core/Makefile.core.def (chain): Add coreboot.
4174 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4175
d0b526b2
VS
41762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4179 if it happens.
4180
5ff1d945
VS
41812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 Implement time command.
4184
4185 * grub-core/Makefile.core.def (time): New module.
4186 * grub-core/commands/time.c: New file.
4187 * grub-core/script/parser.y: Remove "time" keyword.
4188 * grub-core/script/yylex.l: Likewise.
4189
5ebaad7e
VS
41902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4193
bdea3798
VS
41942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4197 when handling leftovers.
4198
b28c5655
VS
41992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4202 so that help2man doesn't fail.
4203
b6f945dc
VS
42042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4207 type in pointers on sparc64.
4208 (get_card_packet): Likewise.
4209
f9b75e8a
CW
42102011-06-27 Colin Watson <cjwatson@ubuntu.com>
4211
4212 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4213 with `*'.
4214 (grub_cmd_videoinfo): Fetch current video mode.
4215
1e3d9b86
VS
42162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4219 because of underlying system restrictions.
4220
efff4b1c
VS
42212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4224 necessary.
4225
9fc9ce37
VS
42262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 Coreboot video support.
4229
4230 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4231 (vbe): Likewise.
4232 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4233 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4234 here ...
4235 * grub-core/kern/i386/int.S: ... here.
4236 * grub-core/video/i386/pc/vbe.c: Updated includes.
4237 * grub-core/video/i386/pc/vga.c: Likewise.
4238 * include/grub/i386/coreboot/memory.h
4239 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4240 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4241 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4242 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4243 Disable interrupts.
4244 * include/grub/i386/pc/vga.h: Removed. All users updated.
4245
41bec7fe
VS
42462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4249 definitions for dprintf.
4250 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4251
ca80309d
VS
42522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4255 prototype.
4256 (get_card_packet): Likewise.
4257
9e322ce8
YB
42582011-06-26 Yves Blusseau <blusseau@zetam.org>
4259
4260 Display the path of the file when file is not found
4261
4262 * grub-core/fs/fat.c: Display the filename when file is not found.
4263 * grub-core/fs/fshelp.c: Likewise.
4264 * grub-core/fs/hfs.c: Likewise.
4265 * grub-core/fs/jfs.c: Likewise.
4266 * grub-core/fs/minix.c: Likewise.
4267 * grub-core/fs/ufs.c: Likewise.
4268 * grub-core/fs/btrfs.c: Likewise.
4269 * grub-core/commands/i386/pc/play.c: Likewise.
4270
cbf597af
SJ
42712011-06-26 Szymon Janc <szymon@janc.net.pl>
4272
4273 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4274 pointer checks before calling grub_free().
4275 * grub-core/commands/wildcard.c (match_devices): Likewise.
4276 * grub-core/commands/wildcard.c (match_files): Likewise.
4277 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4278 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4279 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4280 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4281 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4282 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4283 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4284 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4285 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4286
6295b32f
P
42872011-06-25 Patrick <p55@mailinator.com>
4288
4289 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4290
77c0840b
VS
42912011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4294 (grub_pxe_send): Likewise.
4295 (GRUB_MOD_INIT): Fix types.
4296
40ea05de
SJ
42972011-06-24 Szymon Janc <szymon@janc.net.pl>
4298
4299 * grub-core/io/xzio.c: Fix code style issues
4300
90162423
MRA
43012011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
43022011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
4303
4304 Network infrastructure.
4305 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4306
4307 * include/grub/net/arp.h: New file.
90162423
MRA
4308 * include/grub/net/device.h: Likewise.
4309 * include/grub/net/ethernet.h: Likewise.
4310 * include/grub/net/ip.h: Likewise.
4311 * include/grub/net/netbuff.h: Likewise.
4312 * include/grub/net/tftp.h: Likewise.
4313 * include/grub/net/udp.h: Likewise.
4314 * include/grub/ieee1275/ofnet.h: Likewise.
4315 * include/grub/emu/export.h: Likewise.
4316 * include/grub/net.h: Likewise.
4317 * grub-core/net/arp.c: Likewise.
4318 * grub-core/net/ethernet.c: Likewise.
4319 * grub-core/net/ip.c: Likewise.
4320 * grub-core/net/udp.c: Likewise.
4321 * grub-core/net/tftp.c: Likewise.
4322 * grub-core/net/netbuff.c: Likewise.
4323 * grub-core/net/net.c: Likewise.
4324 * grub-core/net/drivers/emu/emunet.c: Likewise.
4325 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4326 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4327 export.h.
4328 * grub-core/Makefile.core.def (net): New module.
4329 (tftp): Likewise.
4330 (ofnet): Likewise.
4331 (emunet): Likewise.
4332 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4333 network protocols.
4334 * grub-core/kern/device.c (grub_net_open) : New variable.
4335 (grub_device_open): Handle network device.
4336 (grub_device_close): Likewise.
4337 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4338 (grub_grubnet_fini): Likewise.
4339 (grub_file_seek): Seek in network device.
4340 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4341 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4342 network root.
4343 (grub_machine_fini): Call grub_grubnet_fini.
4344 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4345 network.
4346 (grub_ieee1275_get_aliasdevname): New function.
4347 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4348 Add unofficial Solaris network info.
4349 (grub_multiboot_make_mbi): Likewise.
4350 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4351 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4352 * include/grub/device.h (grub_fs): Removed.
4353 * include/grub/err.h (grub_err_t): Add network-related values.
4354 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4355 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4356 (grub_ieee1275_get_aliasdevname): New proto.
4357 * include/grub/net.h: Rewritten.
423a1849 4358
031f22a0
VS
43592011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4362 names.
4363
4388ca72
VS
43642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4367 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4368 it truncates the output.
4369 Reported by: Ximin Luo.
4370
98e2f506
VS
43712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4374
2a5e94d8
VS
43752011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4378 partmap before abstraction.
4379
535c1910
AK
43802011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4381
4382 * util/grub-mkconfig_lib.in: Add missing quotes.
4383
bc09e1a2
VS
43842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4387 old method if mountinfo would return /dev/root and /dev/root doesn't
4388 exist.
4389
290766fb
VS
43902011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 ZFS zlib support
4393
4394 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4395 (decomp_table): Add zlib entries.
4396 (zio_read): USe 8 bits for compression function rather than 3.
4397 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4398
43992011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/disk/ahci.c: Add missing license statements.
4402 * grub-core/fs/romfs.c: Likewise.
4403 * grub-core/lib/ia64/setjmp.S: Likewise.
4404 * grub-core/loader/i386/pc/freedos.c: Likewise.
4405 * grub-core/loader/ia64/efi/linux.c: Likewise.
4406 * grub-core/video/colors.c: Likewise.
4407 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4408
5ab3f48a
VS
44092011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 AHCI support.
4412
4413 * grub-core/Makefile.core.def (ata_pthru): Removed.
4414 (ahci): New module.
4415 (pata): Likewise.
4416 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4417 on unload.
4418 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4419 readwrite.
4420 (grub_hdparm_do_check_powermode_cmd): Likewise.
4421 (grub_hdparm_do_smart_cmd): Likewise.
4422 (grub_hdparm_set_val_cmd): Likewise.
4423 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4424 * grub-core/disk/ahci.c: New file.
4425 * grub-core/disk/ata.c: Factor out the low-level part into ...
4426 * grub-core/disk/pata.c: ... here.
4427 * grub-core/disk/ata_pthru.c: Contents moved to ...
4428 * grub-core/disk/pata.c: ... here.
4429 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4430 (grub_scsi_iterate): Use grub_scsi_names.
4431 (grub_scsi_open): Likewise.
4432 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4433 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4434 (grub_ata_regs_t): New struct.
4435 (grub_disk_ata_pass_through_parms): Likewise.
4436 (grub_ata_device): Renamed to ...
4437 (grub_ata): ... this.
4438 (grub_ata_dev): New struct.
4439 Removed all low-level inline functions.
4440 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4441 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4442 iterate hooks and open. All users updated.
4443 * util/grub-install.in: Handle AHCI disk module.
4444
c31dc5f5
SJ
44452011-06-23 Szymon Janc <szymon@janc.net.pl>
4446
4447 Add support for DRI and RSTn markers in JPEG files.
4448
4449 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4450 (JPEG_MARKER_RST0): Likewise.
4451 (JPEG_MARKER_RST1): Likewise.
4452 (JPEG_MARKER_RST2): Likewise.
4453 (JPEG_MARKER_RST3): Likewise.
4454 (JPEG_MARKER_RST4): Likewise.
4455 (JPEG_MARKER_RST5): Likewise.
4456 (JPEG_MARKER_RST6): Likewise.
4457 (JPEG_MARKER_RST7): Likewise.
4458 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4459 (grub_jpeg_decode_dri): New function.
4460 (grub_jpeg_decode_sos): Move image data related part into
4461 grub_jpeg_decode_data function.
4462 (grub_jpeg_decode_data): New function.
4463 (grub_jpeg_reset): New function.
4464 (grub_jpeg_decode_jpeg): Handle new markers.
4465
fe12fd5b
VS
44662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * util/ieee1275/ofpath.c (check_sas): Close fd.
4469 (main): Free of_path.
4470 Reported by: David Volgyes <dvolgyes>.
4471
03147f46
VS
44722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4475 Reported by: David Volgyes <dvolgyes>.
4476
cad3237f
VS
44772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4480 file after stat.
4481 Reported by: David Volgyes <dvolgyes>.
4482
13548d26
VS
44832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4486
4487 Reported by: David Volgyes <dvolgyes>.
4488
e061a1b5
VS
44892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4492 Prevent memory leak.
4493
1abe47dc
VS
44942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4497 (main): Close file.
e061a1b5 4498 Reported by: David Volgyes <dvolgyes>.
1abe47dc 4499
fbc62666
VS
45002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4503 to continue if allocation is failed.
4504
4505 Reported by: David Volgyes <dvolgyes>.
4506
e98c83e9
DV
45072011-06-23 David Volgyes <dvolgyes>
4508
4509 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4510 dereference.
4511
a199a8cd
VS
45122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 Fix spurious warning.
4515
4516 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4517 (acorn_partition_map_find): Use .bin member.
4518
e2d1dba0
VS
45192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4522 /dev/root as a valid device.
4523
8a5d6919
JM
45242011-06-23 Jim Meyering <meyering@redhat.com>
4525
e2d1dba0
VS
4526 Avoid NULL deref in grub_device_open.
4527
8a5d6919
JM
4528 * grub-core/kern/device.c (grub_device_open): Don't dereference
4529 a NULL pointer upon failed grub_env_get.
4530
f7db6f4a
VS
45312011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 Support non-512B sectors and agglomerate reads.
4534
4535 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4536 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4537 (disk_io_guid): Removed.
4538 (make_devices): Locate solely by BlockIO.
4539 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4540 (grub_efidisk_read): Use read_blocks.
4541 (grub_efidisk_write): Use write_blocks.
4542 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4543 log_sector_size.
4544 (get_safe_sectors): Handle non-512B sectors.
4545 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4546 sectors.
4547 (grub_biosdisk_write): Handle non-512B sectors.
4548 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4549 (grub_scsi_read): Remove special non-512B block handling (now handled
4550 one level up).
4551 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4552 and do sanity checks.
4553 (grub_disk_adjust_range): Handle non-512B sectors.
4554 (transform_sector): New function.
4555 (grub_disk_read_small): Likewise.
4556 (grub_disk_read): Rewritten.
4557 (grub_disk_write): Handle non-512B sectors.
4558 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4559 log_sector_size.
4560 (open_device): Use log_sector_size.
4561 (grub_util_biosdisk_read): Likewise.
4562 (grub_util_biosdisk_write): Likewise.
4563 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4564 non-512B sectors.
4565 (pc_partition_map_embed): Likewise.
4566 * include/grub/disk.h (grub_disk): New field log_sector_size.
4567 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4568 (GRUB_DISK_CACHE_BITS): Increased to 6.
4569 * util/grub-fstest.c (fstest): New command testload.
4570 (argp_parser): Likewise.
4571
881ac815
RM
45722011-06-16 Robert Millan <rmh@gnu.org>
4573
4574 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4575 `ata' driver on kernel of FreeBSD 9.
4576
4577 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4578 (get_ataraid_disk_name): New functions.
4579 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4580 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4581 get_ataraid_disk_name() and get_ada_disk_name().
4582
1e9aef7d
CW
45832011-06-13 Colin Watson <cjwatson@ubuntu.com>
4584
4585 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4586 input format.
4587
351c7c8a
CW
45882011-05-29 Colin Watson <cjwatson@ubuntu.com>
4589
4590 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4591 `ftp.gnu.org' for `alpha.gnu.org'.
4592
6b4e6430
CW
45932011-05-27 Colin Watson <cjwatson@ubuntu.com>
4594
4595 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4596 partitions under /dev/disk/by-id/.
4597
c64db050
CW
45982011-05-27 Colin Watson <cjwatson@ubuntu.com>
4599
4600 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4601 after ten consecutive open failures. Scanning all the way up to
4602 10000 is excessive and can cause serious performance problems in
4603 some configurations.
4604 Fixes Ubuntu bug #787461.
4605
245f4aba
VS
46062011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4609 opening new one.
4610
f767c929
VS
46112011-05-21 Colin Watson <cjwatson@ubuntu.com>
46122011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 Don't stat devices unless we have to.
4615
4616 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4617 dir == /dev/mapper.
4618 (grub_guess_root_device): Use already known os_dev if possible.
4619 * grub-core/kern/emu/hostdisk.c
4620 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4621 if device is known to be a dm one.
4622
f35fa3a6
CW
46232011-05-20 Colin Watson <cjwatson@ubuntu.com>
4624
4625 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4626 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4627 Reported by: Pawel Tecza.
4628
9a79fcf2
VS
46292011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4632 (lsefisystab): Likewise.
4633 (lssal): Likewise.
4634 (lsefimmap): Likewise.
4635 (hdparm): Enable on qemu-mips.
4636 (setjmp): Add ia64 nodist.
4637 (serial): Simplify tags.
4638
63e3eea9
CW
46392011-05-18 Colin Watson <cjwatson@ubuntu.com>
4640
4641 * Makefile.util.def (grub-ofpathname): Install manual page.
4642
09728256
CW
46432011-05-18 Colin Watson <cjwatson@ubuntu.com>
4644
4645 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4646
8b63a142
CW
46472011-05-18 Colin Watson <cjwatson@ubuntu.com>
4648
4649 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4650
e775d8ed
VS
46512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4654 into dprintf.
4655
bf947d36
VS
46562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 Use full 64-bit division.
4659
4660 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4661 (grub_divmod64): ... this.
4662 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4663 version.
4664
b84f26c5
CW
46652011-05-18 Colin Watson <cjwatson@ubuntu.com>
4666
4667 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4668 `source'.
4669
5626056f
CW
46702011-05-18 Colin Watson <cjwatson@ubuntu.com>
4671
4672 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4673 to avoid accidents when debugging with 'sh -x'.
4674 * grub-core/gensyminfo.sh.in: Likewise.
4675 * tests/example_scripted_test.in: Likewise.
4676 * tests/grub_cmd_regexp.in: Likewise.
4677 * tests/grub_script_blanklines.in: Likewise.
4678 * tests/grub_script_dollar.in: Likewise.
4679 * tests/grub_script_expansion.in: Likewise.
4680 * tests/grub_script_final_semicolon.in: Likewise.
4681 * tests/partmap_test.in: Likewise.
4682 * tests/util/grub-shell-tester.in: Likewise.
4683 * tests/util/grub-shell.in: Likewise.
4684
e2965f4a
CW
46852011-05-18 Colin Watson <cjwatson@ubuntu.com>
4686
4687 Move gfxmenu color handling to video, so that gfxterm can use it
4688 too.
4689
4690 * grub-core/gfxmenu/named_colors.c: Move to ...
4691 * grub-core/video/colors.c: ... here. Rename
4692 grub_gui_get_named_color to grub_video_get_named_color.
4693 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4694 * grub-core/video/colors.c (my_isxdigit): ... here.
4695 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4696 Move to ...
4697 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4698 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4699 to ...
4700 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4701
4702 * include/grub/gui.h (grub_gui_color_t): Move to ...
4703 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4704 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4705 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4706 * include/grub/gui.h (grub_gui_map_color): Move to ...
4707 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4708 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4709 to ...
4710 * include/grub/video.h (grub_video_get_named_color): ... here.
4711 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4712 * include/grub/video.h (grub_video_parse_color): ... here.
4713
4714 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4715 video/colors.c.
4716 (gfxmenu): Remove gfxmenu/named_colors.c.
4717 (video) [videomodules]: Add video/colors.c.
4718
4719 Add a background_color command.
4720
4721 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4722 function.
4723 (GRUB_MOD_INIT): Register background_color command.
4724 (GRUB_MOD_FINI): Unregister background_color command.
4725 (redraw_screen_rect): Allow blend/replace of text layer to be
4726 controlled independently from whether there is a background bitmap.
4727 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4728 changing bitmap.
4729
1e4b4390
VS
47302011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4731
26618ff0
VS
4732 Patch BPB in ntldr and chainloader --bpb.
4733
1e4b4390
VS
4734 * grub-core/fs/fat.c: Include grub/fat.h.
4735 (grub_fat_bpb): Moved to ...
4736 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4737 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4738 grub/ntfs.h.
4739 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4740 Moved from here...
4741 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4742 here.
4743 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4744 New function.
4745 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4746 (GRUB_MOD_INIT): Show --bpb.
4747 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4748 * grub-core/normal/main.c (features): New variable.
4749 (GRUB_MOD_INIT): Set feature_* variables.
4750 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4751 proto.
4752 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4753
cf02731e
VS
47542011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4757 for cleanness.
4758
e3a1073f
VS
47592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 FreeDOS direct loading support.
4762
4763 * docs/grub.texi (Supported OS): Add FreeDOS.
4764 * grub-core/Makefile.core.def (freedos): New module.
4765 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4766 variable.
4767 (grub_relocator16_boot): Handle %ebx.
4768 * grub-core/lib/i386/relocator16.S: Likewise.
4769 * grub-core/loader/i386/pc/freedos.c: New file.
4770
05caa461
VS
47712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 Long Linux command line support.
4774
4775 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4776 (maximal_cmdline_size): New variable.
4777 (allocate_pages): Use maximal_cmdline_size.
4778 (grub_cmd_linux): Set and use maximal_cmdline_size.
4779 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4780 (allocate_pages): Use maximal_cmdline_size.
4781 (grub_cmd_linux): Set and use maximal_cmdline_size.
4782 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4783 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4784 and cmdline_size.
4785
a2491e23
VS
47862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
47872011-05-18 Colin Watson <cjwatson@ubuntu.com>
4788
4789 Improve devmapper support
4790
4791 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4792 (grub_util_is_lvm): New function.
4793 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4794 than lvm if not dmraid.
4795 Handle mapped md nodes.
4796 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4797 (grub_util_device_is_mapped): ... this. Make always available. All users
4798 updated.
4799 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4800 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4801 dmraid nodes.
4802 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4803
6ad6223e
VS
48042011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4807
4808 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4809 * grub-core/modinfo.sh.in: New file.
4810 * grub-core/Makefile.core.def (modinfo.sh): New script.
4811 * util/grub-mknetdir.in: Use modinfo.sh.
4812 * util/grub-mkrescue.in: Likewise.
4813
543a8f6e
VS
48142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4817 Fix potential usage of Elf32 instead of Elf64 when compiling on
4818 32-bit architecture. Add endianness macros while on it.
4819
4959e111
VS
48202011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 Use mipsel- rather than mips- in directories involving mipsel ports to
4823 allow both endiannesses coexist.
4824
4825 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4826 mips. All conditions adjusted.
4827 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4828 variable.
4829 * util/grub-install.in: Adjust conditions to take renaming into account.
4830 * util/grub-mkimage.c (image_targets): Likewise. New target
4831 mips-qemu_mips-elf for bigendian mips.
4832
35341bbc
VS
48332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Avoid unnecessary copying on MIPS.
4836
4837 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4838 early if src == dest.
4839 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4840 compression is none.
4841
b772baed
VS
48422011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 Reduce memory footprint on SGI by putting modules before the kernel
4845 as opposed to after.
4846
4847 * grub-core/Makefile.core.def (kernel): Increase linking address.
4848 (none_decompress): Likewise.
4849 (xz_decompress): Likewise.
4850 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4851 address.
4852 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4853 layout change.
4854 (grub_arch_modules_addr): New function.
4855 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4856 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4857 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4858 here.
4859 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4860 (grub_total_modules_size): ... this. Make global.
4861 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4862 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4863 New definition.
4864 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4865 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4866 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4867 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4868 * util/grub-mkimage.c (image_target_desc): New flag
4869 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4870 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4871 (generate_image): Handle images with modules before kernel.
4872
566a1917
VS
48732011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 Prevent potential loss of memory map by overwrite on qemu-mips.
4876
4877 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4878 Save ram size in $s4.
4879 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4880 All users changed to grub_arch_memsize.
4881 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4882 Loongson.
4883 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4884 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4885 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4886 external variable.
4887
5d420cd9
CW
48882011-05-17 Colin Watson <cjwatson@ubuntu.com>
4889
4890 * .bzrignore: Remove grub-dumpbios.
4891
d064b830
CW
48922011-05-17 Colin Watson <cjwatson@ubuntu.com>
4893
4894 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4895 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4896 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4897 existing options which append).
4898 * docs/grub.texi (Simple configuration): Document new options.
4899 Reported by: Ian Jackson. Fixes Debian bug #617538.
4900
3ca2b466
CW
49012011-05-17 Colin Watson <cjwatson@ubuntu.com>
4902
4903 * util/grub-fstest.c (cmd_cat): New function.
4904 (fstest): Handle CMD_CAT.
4905 (options): Add cat.
4906 (argp_parser): Handle cat.
4907
24c9143a
CW
49082011-05-17 Colin Watson <cjwatson@ubuntu.com>
4909
4910 * Makefile.util.def (grub-bin2h): Don't install.
4911 * docs/man/grub-bin2h.h2m: Remove.
4912
90f7ac19
VS
49132011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4916 place.
4917
8d4a5178
VS
49182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 Reenable qemu-mips port.
4921
4922 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4923 Fix small arc bug while on it.
4924 * gentpl.py: Handle qemu_mips.
4925 * grub-core/Makefile.am: Likewise.
4926 * grub-core/Makefile.core.def: Likewise.
4927 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4928 inappropriate includes.
4929 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4930 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4931 * grub-core/kern/main.c (grub_modules_get_end)
4932 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4933 * grub-core/kern/mips/qemu-mips: Moved to ..
4934 * grub-core/kern/mips/qemu_mips: ... this.
4935 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4936 (grub_machine_init): Call terminfo_init and serial_init.
4937 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4938 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4939 New variable.
4940 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4941 parameter passing.
4942 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4943 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4944 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4945 * include/grub/mips/qemu_mips/cmos.h: New file.
4946 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4947 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4948 Removed.
4949 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4950 Use correct mips-style address.
4951 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4952 (GRUB_TICKS_PER_SECOND): Removed.
4953 (grub_get_rtc): Likewise.
4954 (grub_cpu_idle): Likewise.
4955 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4956 New definition.
4957 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4958 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4959 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4960 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4961 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4962 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4963 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4964 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4965
400b9371
VS
49662011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 SGI ARCS port.
4969
4970 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4971 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4972 platforms.
4973 * configure.ac: New target mips-arc.
4974 * gentpl.py: Likewise.
4975 * grub-core/Makefile.am: Likewise.
4976 * grub-core/Makefile.core.def: Likewise.
4977 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4978 (none_decompress): Likewise.
4979 (lsdev): New module.
4980 (datetime): Use lib/arc/datetime.c on ARC.
4981 (part_dvh): New module.
4982 * grub-core/commands/arc/lsdev.c: New file.
4983 * grub-core/disk/arc/arcdisk.c: Likewise.
4984 * grub-core/kern/mips/arc/init.c: Likewise.
4985 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4986 aligned addresses.
4987 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4988 support.
4989 (grub_arch_dl_relocate_symbols): Likewise.
4990 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4991 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4992 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4993 platforms.
4994 * grub-core/lib/arc/datetime.c: New file.
4995 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4996 pci.h on non-loongson.
4997 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4998 (grub_linux_boot): Set unused registers to 0.
4999 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
5000 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
5001 * grub-core/mmap/mips/uppermem.c: ...here.
5002 * grub-core/partmap/dvh.c: New file.
5003 * grub-core/term/arc/console.c: Likewise.
5004 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
5005 (grub_terminfo_set_current): Add terminal "arc".
5006 (grub_terminfo_readkey): Support ARC sequences.
5007 * include/grub/arc/arc.h: New file.
5008 * include/grub/arc/console.h: Likewise.
5009 * include/grub/disk.h (grub_disk_dev_id): Add
5010 GRUB_DISK_DEVICE_ARCDISK_ID.
5011 * include/grub/mips/arc/kernel.h: New file.
5012 * include/grub/mips/arc/memory.h: Likewise.
5013 * include/grub/mips/arc/time.h: Likewise.
5014 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
5015 * include/grub/mips/kernel.h (grub_halt): ... here.
5016 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
5017 here...
5018 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
5019 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
5020 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
5021 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
5022 proto.
5023 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
5024 from here ...
5025 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
5026 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
5027 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
5028 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
5029 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
5030 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
5031 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
5032 (grub_phys_addr_t): Moved from here ...
5033 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
5034 (grub_vtop): Moved from here ...
5035 * include/grub/mips/memory.h (grub_vtop): ... here.
5036 (grub_map_memory): Moved from here ...
5037 * include/grub/mips/memory.h (grub_map_memory): ... here.
5038 (grub_unmap_memory): Moved from here ...
5039 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
5040 (grub_machine_mmap_iterate): Moved from here ...
5041 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
5042 (grub_mmap_get_lower): Moved from here ...
5043 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
5044 (grub_mmap_get_upper): Moved from here ...
5045 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
5046 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5047 here ...
5048 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5049 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5050 here ...
5051 * include/grub/mips/time.h (grub_get_rtc): ... here.
5052 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5053 here ...
5054 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5055 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5056 here ...
5057 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5058 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5059 definition.
5060 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5061 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5062 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5063 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5064 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5065 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5066 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5067 (GRUB_MACHINE_LINK_ADDR): Likewise.
5068 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5069 to 6.
5070 * util/grub-install.in: Run dvhtool on ARC.
5071 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 5072 (generate_image): Handle ECOFF output for mips-arc.
400b9371 5073
c8ecc840
VS
50742011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5077 blocks.
5078
153a4b55
VS
50792011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5082 after enabling port.
5083
ff44d107
VS
50842011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 Skip incorrect USB devices.
5087
5088 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5089 configcnt == 0.
5090 * include/grub/usb.h (grub_usb_err_t): New enum value
5091 GRUB_USB_ERR_BADDEVICE.
5092
638dbe4f
VS
50932011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 Fuloong video init support.
5096
5097 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5098 well.
5099 (grub_vga_read_arx): New function.
5100 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5101 definition.
5102 (framebuffer): New members io, mmioptr and mmiobase.
5103 (read_sis_cmd): New function.
5104 (write_sis_cmd): Likewise.
5105 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5106 rather than 640x400.
5107 * grub-core/video/sis315_init.c: New file.
5108
c3fc520c
VS
51092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5112 non-loongson.
5113 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5114 to grub_dl_register_symbol.
5115
67b1e5c9
VS
51162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 Fix compilation errors.
5119
5120 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5121 potentially unused.
5122 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5123 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5124 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5125 to loongson machines.
5126
b756f75f
VS
51272011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 Several FS mtime support.
5130
5131 * grub-core/fs/affs.c (grub_affs_time): New struct.
5132 (grub_affs_file): New field mtime.
5133 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5134 type. Removed 'size'. New field 'di'. All users updated.
5135 (grub_affs_mount): Simplify checsum checking.
5136 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5137 (grub_affs_dir): Handle mtime.
5138 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5139 (grub_cpio_dir): Likewise.
5140 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5141 (grub_hfs_filerec): New field mtime.
5142 (grub_hfs_dir): Handle mtime.
5143 (grub_hfs_mtime): New function.
5144 (grub_hfs_fs): Register grub_hfs_mtime.
5145 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5146 (grub_iso9660_dir): New field mtime.
5147 (grub_fshelp_node): New field dirent.
5148 (iso9660_to_unixtime): New function.
5149 (iso9660_to_unixtime2): Likewise.
5150 (grub_iso9660_read_symlink): Use node->dirent.
5151 (grub_iso9660_iterate_dir): Likewise.
5152 (grub_iso9660_dir): Set mtime.
5153 (grub_iso9660_mtime): New function.
5154 (grub_iso9660_fs): Register grub_iso9660_mtime.
5155 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
5156 (grub_jfs_inode): New fields atime, ctime and mtime.
5157 (grub_jfs_dir): Set mtime.
5158 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5159 * grub-core/fs/ntfs.c (list_file): Set mtime.
5160 (grub_ntfs_dir): Likewise.
5161 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
5162 (grub_reiserfs_iterate_dir): Set mtime.
5163 (grub_reiserfs_dir): Likewise.
5164 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
5165 (grub_fshelp_node): Likewise.
5166 (grub_sfs_iterate_dir): Set mtime.
5167 (grub_sfs_dir): Likewise.
5168 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5169 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5170 (grub_xfs_inode): New fields atime, mtime, ctime.
5171 (grub_xfs_dir): Set mtime.
5172 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5173 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5174 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5175
5176 Support UDF symlinks.
5177
5178 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5179 (grub_ufs_read_symlink): New function. All users updated.
5180
5181 Check amiga partmap checksum.
5182
5183 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5184 (grub_amiga_partition): Likewise.
5185 (amiga_partition_map_checksum): New function.
5186 (amiga_partition_map_iterate): Check checksum.
5187
5470225d
VS
51882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 ROMFS support.
5191
5192 * Makefile.util.def (libgrubmods.a): Add romfs.
5193 * grub-core/Makefile.core.def (romfs): New module.
5194 * grub-core/fs/romfs.c: New file.
5195
d4680a35
VS
51962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 Squashfs v4 support.
5199
5200 * Makefile.util.def (libgrubmods.a): Add squash4.
5201 * grub-core/Makefile.core.def (squash4): New module.
5202 * grub-core/fs/squash4.c: New file.
5203 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5204 disk_input_start, disk_input.
5205 (get_byte): Handle disk_input.
5206 (grub_zlib_disk_read): New function.
5207 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5208
bcb18e74
FZ
52092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
52102011-05-15 Feiran Zheng <famcool@gmail.com>
5211
5212 * Makefile.util.def (libgrubmods.a): Add minix3.
5213 * grub-core/Makefile.core.def (minix3): New module.
5214 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5215 (GRUB_MINIX_BSIZE): Removed.
5216 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5217 (grub_minix_ino_t): New type.
5218 (grub_minix_le_to_cpu_ino): New macro.
5219 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5220 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5221 (grub_minix_data): New field block_size.
5222 (grub_minix_read_file): Handle 64-bit correctly.
5223 * grub-core/fs/minix3.c: New file.
5224
32297d5f
TG
52252011-05-15 Tristan Gingold <gingold@free.fr>
52262011-05-15 Robert Millan <rmh.grub@aybabtu.com>
52272011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 IA64 support.
5230
5231 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5232 * configure.ac: Add ia64-efi target.
5233 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5234 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5235 * gentpl.py: Add ia64_efi platform.
5236 Rename x86_efi to efi and Add ia64-efi. All users updated.
5237 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5238 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5239 Remove kern/generic/rtc_get_time_ms.c on EFI.
5240 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5241 kern/ia64/dl_helper.c on ia64-efi.
5242 Add kern/emu/cache.c on emu.
5243 (linux): Use on loader/ia64/efi/linux.c on ia64.
5244 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5245 whether symbol is a function.
5246 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5247 (grub_symbol): New field 'isfunc'.
5248 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5249 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5250 (grub_dl_load_segments): Place all sections into the same region.
5251 [__ia64__]: Create trampolines and got.
5252 [GRUB_MACHINE_EMU]: Call mprotect.
5253 (grub_dl_resolve_symbols): Resolve symbol type as well.
5254 [__ia64__]: Create function descriptors.
5255 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5256 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5257 (grub_get_rtc): New function.
5258 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5259 * grub-core/kern/emu/cache.S: Renamed to ...
5260 * grub-core/kern/emu/cache_s.S: ... this.
5261 [__ia64__]: Add a nop.
5262 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5263 [__ia64__]: New function.
5264 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5265 * grub-core/kern/ia64/dl.c: New file.
5266 * grub-core/kern/ia64/dl_helper.c: Likewise.
5267 * grub-core/kern/ia64/efi/init.c: New file.
5268 * grub-core/kern/ia64/efi/startup.S: Likewise.
5269 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5270 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5271 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5272 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5273 * grub-core/loader/ia64/efi/linux.c: New file.
5274 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5275 (GRUB_MOD_DEP): Likewise.
5276 (grub_dl) [__ia64__]: New fields got and tramp.
5277 (grub_dl): New field 'base'.
5278 (grub_dl_register_symbol): New argument isfunc. All users updated.
5279 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5280 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5281 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5282 (grub_ia64_dl_get_tramp_got_size): New proto.
5283 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5284 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5285 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5286 * include/grub/efi/api.h: Skip call wrappers on ia64.
5287 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5288 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5289 * include/grub/elf.h (ELF_ST_INFO): New definition.
5290 * include/grub/ia64/efi/kernel.h: New file.
5291 * include/grub/ia64/efi/memory.h: Likewise.
5292 * include/grub/ia64/efi/time.h: Likewise.
5293 * include/grub/ia64/kernel.h: Likewise.
5294 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5295 * include/grub/ia64/time.h: New file.
5296 * include/grub/ia64/types.h: Likewise.
5297 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5298 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5299 New protos.
5300 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5301 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5302 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5303 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5304 All users updated.
5305 (EFI64_HEADER_SIZE): New definition. All users updated.
5306 (image_targets): Add ia64-efi.
5307 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5308 jumpers_addr. All users updated.
5309 Create function descriptors.
5310 (count_funcs): New function.
5311 (unaligned_uint32): New struct.
5312 (MASK20): New definition.
5313 (MASK19): Likewise.
5314 (MASKF21): Likewise.
5315 (add_value_to_slot_20b): New function.
5316 (add_value_to_slot_21_real): Likewise.
5317 (add_value_to_slot_21): Likewise.
5318 (ia64_kernel_trampoline): New struct.
5319 (nopm): New variable.
5320 (jump): Likewise.
5321 (make_trampoline): New function.
5322 (relocate_addresses): Handle ia64.
5323 (make_reloc_section): Likewise.
5324 (load_image): Likewise.
5325
983b414d
VS
53262011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5329 warning. Move variables before code while on it.
5330
5d063cdc
VS
53312011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 Fuloong support.
5334
5335 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5336 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5337 * grub-core/boot/mips/loongson/fuloong.S: New file.
5338 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5339 Explicitly init CS5536.
5340 [FULOONG]: Don't use serial until CS5536 is available.
5341 Set GPIO based on dumps.
5342 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5343 [FULOONG]: Handle GPIO and memory controller differences.
5344 Parse machine type in $a2.
5345 * grub-core/boot/mips/startup_raw.S: Determine and save the
5346 architecture.
5347 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5348 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5349 init on architecture type.
5350 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5351 SIS315E. Don't init at_keyboard on fuloong.
5352 (grub_halt): Support Fuloong.
5353 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5354 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5355 (loongson_machtypes): New array.
5356 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5357 type.
5358 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5359 config. All users updated. Handle CS5536 serial.
5360 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5361 default port on machine type. Register serial as inactive.
5362 * grub-core/video/sis315pro.c: New file.
5363 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5364 definition.
5365 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5366 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5367 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5368 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5369 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5370 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5371 to ...
5372 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5373 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5374 definition.
5375 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5376 (grub_arch_machine): New extern var.
5377 * include/grub/mips/loongson/serial.h
5378 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5379 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5380 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5381 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5382 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5383 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5384 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5385 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5386 * include/grub/term.h (grub_term_register_input_inactive): New inline
5387 function.
5388 (grub_term_register_output_inactive): Likewise.
5389 * include/grub/video.h (grub_video_driver_id): New value
5390 GRUB_VIDEO_DRIVER_SIS315PRO.
5391 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5392 New field "names". All users updated.
5393 New field value IMAGE_FULOONG_FLASH.
5394 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5395
6ada82d1
JU
53962011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5397
5398 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5399 and add some clarification.
5400
90c571a4
VS
54012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5404 platforms if kernel is compressed.
5405
de04eecf
VS
54062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5409 unused modules since currently referrence counter isn't reliable and
5410 there isn't much memory to recover there anyway.
5411
57688121
VS
54122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5415 rather than resetting it to allow modules to reference themselves
5416 in init.
5417
3d2c7e35
VS
54182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5421 counter on dependencies since grub_dl_unref already handles this.
5422
b25db218
VS
54232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5426 on error if not already done.
5427
25a45338
VS
54282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 Fix few potential memory misusage.
5431
5432 * grub-core/font/font.c (load_font_index): Don't free char_index to
5433 avoid double free.
b25db218
VS
5434 (grub_font_load): Zero-fill font at alloc for safety.
5435 Close file on error.
5436 (free_font): Free bmp_idx.
25a45338 5437
0cac83df
VS
54382011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * docs/grub.texi (Installation): Fix several outdated claims.
5441
2217a143
VS
54422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 Handle module_license on windows.
5445
5446 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5447 sections shifted.
5448 (insert_string): Make argument const char * instead of char *.
5449 (write_section_data): Handle long section names.
5450 Handle module_license.
5451
d4de6b01
VS
54522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5455 handle class-free menuentries.
5456 (grub_normal_add_menu_entry): Add a check to be sure.
5457
4c2a3b43
VS
54582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5461 PgUp and PgDown.
5462
85c6210f
VS
54632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * configure.ac: Bump version to 1.99.
5466
36084912
VS
54672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 Give ATA device a bit more time on first try in order to allow disks
5470 to spin up.
5471
5472 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5473 if dev->present is 1. Reset dev->present on failure.
5474 (grub_ata_device_initialize): Set dev->present to 1.
5475 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5476 (grub_ata_device): New member 'present'.
5477
bda0e219
VS
54782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * util/grub-mkimage.c (generate_image): Update hash.
5481
19e1c41b
VS
54822011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 Flush caches on DMA memory.
5485
5486 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5487 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5488 (grub_dma_free): Likewise.
5489 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5490
91bbcc0c
VS
54912011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5494 to avoid asm treating ld and sd as macros.
5495
60ddfad3
VS
54962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5499 decompressor.
5500
a298aa04
VS
55012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5504 grub_decompress_core since later would fail if grub_decompress_core
5505 is too far.
5506
9b44feca
VS
55072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5510 R_MIPS_JALR since it's used by newer compiler.
5511
56dbe7b4
VS
55122011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5515
52856af2
VS
55162011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5519 file_path to 0 for surety.
5520 (grub_chainloader_boot): Set exit_data to NULL.
5521 Unset the loader once done.
5522 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5523
9c9bfc6d
VS
55242011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5527 unknown key into a dprintf.
5528
dd94a3df
VS
55292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5532 on first non-existant partition.
5533
fa68d99c
VS
55342011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5537 openning fails.
5538 Reported by: Mark Korenberg.
5539
157effb7
VS
55402011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5543 overflow.
5544
ea75312f
VS
55452011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5548 before closing to ensure that it will be readable by grub-setup.
5549
072b5d31
VS
55502011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5553 (devpath_1): Use MAKE_PIWG_PATH.
5554 (devpath_2): Likewise.
5555 (devpath_3): Likewise.
5556 (devpath_4): Likewise.
5557 (devpath_5): Likewise.
5558 (devpath_6): Likewise.
5559
5560 The appleldr.mod was checked that to be binary identical to previous
5561 version.
5562
7fae0051
Z
55632011-05-05 Zach <mikezackles>
5564
5565 Support 2010 Macbooks.
5566
5567 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5568 (devs): Add devpath_6.
5569
7c515bee
VS
55702011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5573 /dev/random. /dev/urandom is good enough for our purposes (salting).
5574
ed660bd8
VS
55752011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5578
ee5614b7
VS
55792011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5582 hexadecimal.
5583
664889a6
VS
55842011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5587 and not 0 on failure.
5588
bd405bbc
CW
55892011-05-03 Colin Watson <cjwatson@ubuntu.com>
5590
5591 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5592 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5593 disk; otherwise grub_fs_probe will not fall back to the next
5594 filesystem.
5595 (grub_pxefs_open): Likewise, for consistency.
5596 Reported and tested by: Ezekiel Grave.
5597
4ebff753
CW
55982011-05-03 Colin Watson <cjwatson@ubuntu.com>
5599
5600 * tests/partmap_test.in: Don't hardcode path to parted.
5601 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5602
8f942553
CW
56032011-05-01 Colin Watson <cjwatson@ubuntu.com>
5604
5605 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5606 of `ls' to find out which devices are available.
5607
3c62402d
VS
56082011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5611 than source address for efi mmap buffer.
5612
723f63f2
VS
56132011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5616 wrong action on non-detecting the magic.
5617
68797f92
VS
56182011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5621 already supplied by another part of the module (fixes compilation on
5622 FreeBSD).
5623
6be8715d
VS
56242011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5627 match the one used by mdadm.
5628
e91dba5b
CW
56292011-04-21 Colin Watson <cjwatson@ubuntu.com>
5630
5631 * po/README: Add instructions for creating po/LINGUAS.
5632
c85140b3
CW
56332011-04-21 Colin Watson <cjwatson@ubuntu.com>
5634
5635 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5636 #551428.
5637
5638 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5639 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5640 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5641 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5642 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5643 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5644 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5645 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5646 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5647 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5648 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5649 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5650 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5651 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5652 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5653 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5654 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5655 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5656 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5657 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5658 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5659 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5660
92051871
CW
56612011-04-21 Colin Watson <cjwatson@ubuntu.com>
5662
5663 * grub-core/kern/emu/getroot.c
5664 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5665 test that was incorrectly reintroduced in r3214.
5666 Reported by: Ian Dall. Fixes Savannah bug #33133.
5667
b13f79a4
CW
56682011-04-21 Colin Watson <cjwatson@ubuntu.com>
5669
5670 Fix stack pointer handling in 16-bit relocator.
5671
5672 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5673 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5674 Fixes Ubuntu bug #683904.
5675
9b710a88
VS
56762011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * configure.ac: Bump version to 1.99~rc2.
5679
d97e7b59
VS
56802011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5683 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5684 * grub-core/lib/x86_64/setjmp.S: Likewise.
5685 * grub-core/lib/mips/setjmp.S: Likewise.
5686 * grub-core/lib/powerpc/setjmp.S: Likewise.
5687 * grub-core/lib/sparc64/setjmp.S: Likewise.
5688
0624551c
VS
56892011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5692 * grub-core/lib/efi/datetime.c: Likewise.
5693
e8f28d4c
VS
56942011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5697 New function.
5698 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5699 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5700 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5701
bba79a15
VS
57022011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5705 bitmap.
5706 (grub_gfxterm_term_init): Likewise.
5707
abc474ef
VS
57082011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 Take into account the decorations the computing menu entry width.
5711
5712 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5713 (grub_gfxmenu_create_box): Register get_border_width.
5714 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5715 if available.
5716 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5717 get_border_width.
5718
e74b3947
EP
57192011-04-18 Endres Puschner <code@e7p.de>
5720
5721 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5722 Don't skip first class.
5723
34faa595
VS
57242011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5727 chunks.
5728 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5729
93a777e3
VS
57302011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 Complete 64-bit division support.
5733
5734 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5735 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5736 * include/grub/misc.h (grub_divmod64): Rename to ...
5737 (grub_divmod64_full): ... this.
5738 (grub_divmod64): New inline function.
5739
a5102d94
VS
57402011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5743
f3fb7b36
VS
57442011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5747 performing the necessary test.
5748
9ac718b0
VS
57492011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5752 (kfreebsd.elf): Likewise.
5753 (pc-chainloader.elf): Likewise.
5754 (ntldr.elf): Likewise.
5755
50d2cc5a
VS
57562011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 Identify RAID by its UUID rather than (guessed) name.
5759
5760 * grub-core/disk/raid.c (ascii2hex): New function.
5761 (grub_raid_open): Accept mduuid/%s specification.
5762 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5763 (get_mdadm_uuid): ... this.
5764 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5765
e03f7bea
VS
57662011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5769 to negative size.
5770
e74c3112
CW
57712011-04-13 Colin Watson <cjwatson@ubuntu.com>
5772
5773 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5774 btrfs subvolume.
5775 * util/grub.d/20_linux_xen.in: Likewise.
5776
78fa584f
CW
57772011-04-13 Colin Watson <cjwatson@ubuntu.com>
5778
5779 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5780 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5781
5782 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5783 Build a list of relevant visible mounts using the mnt_id and
5784 parent_mnt_id fields, and then scan that list at the end.
5785
9d5f8162
CW
57862011-04-12 Colin Watson <cjwatson@ubuntu.com>
5787
5788 * docs/grub.texi (normal): New section.
5789 (normal_exit): New section.
5790 (Embedded configuration): Add reference to normal.
5791 (GRUB only offers a rescue shell): Likewise.
5792 * docs/grub-dev.texi (Error Handling): Fix typo.
5793
09a9d66f
CW
57942011-04-12 Colin Watson <cjwatson@ubuntu.com>
5795
5796 * NEWS: Drop obsolete entry about probe-only btrfs support.
5797
0c676933
CW
57982011-04-12 Colin Watson <cjwatson@ubuntu.com>
5799
5800 * util/import_gcry.py: Fix typo.
5801
ec9f5e0d
VS
58022011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * NEWS: Add btrfs support.
5805
fe6b2cba
VS
58062011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
58072011-04-11 Colin Watson <cjwatson@ubuntu.com>
5808
5809 BtrFS support. Written by me (Vladimir) with important bugfixes and
5810 even more important testing by Colin.
5811
5812 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5813 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5814 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5815 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5816 mem_input_off and mem_input. All users updated to accept in-RAM input.
5817 (gzio_seek): New function.
5818 (test_zlib_header): Likewise.
5819 (grub_gzio_read): Likewise.
5820 (grub_zlib_decompress): Likewise.
5821 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5822 Accept partial and non-virtual mounts.
5823 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5824 avoid receiving /dev/dm-X as device.
5825 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5826 Handle bind and partial mounts.
5827 * grub-core/lib/crc.c: New file.
5828 * include/grub/deflate.h: Likewise.
5829 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5830 proto.
5831 * include/grub/lib/crc.h: New file.
5832
e745cf0c
VS
58332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 Implement automatic module license checking according to new GNU
5836 guidelines.
5837
5838 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5839 (grub_dl_load_core): Use grub_dl_check_license.
5840 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5841 (GRUB_MOD_LICENSE): Likewise.
5842 (GRUB_MOD_DUAL_LICENSE): Likewise.
5843 All modules updated.
5844
2a9bc016
CW
58452011-04-11 Colin Watson <cjwatson@ubuntu.com>
5846
5847 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5848 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5849 loaders.
5850 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5851
8a3bc88e
VS
58522011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5855
af869a4a
VS
58562011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5859 failed.
5860
9ee8d94f
VS
58612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5864 parenthesis in the middle of the filename.
5865
b01abe3e
VS
58662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5869 rather than trying to put initrd way too high.
5870 Reported by: Ryan Lortie <desrt@desrt.ca>
5871
335bda1e
VS
58722011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5875 improperly removed string.
5876
5ca1a64d
VS
58772011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5880 is_disk.
5881 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5882 (open_device) Likewise.
5883 (grub_util_biosdisk_close): Likewise.
d8ce9995 5884 Reported by: Mark Korenberg.
5ca1a64d 5885
cbac5b1e
AK
58862011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5887
5888 * util/grub-mkconfig_lib.in: Add missing quotes.
5889
088cdb65
CW
58902011-04-10 Colin Watson <cjwatson@ubuntu.com>
5891
5892 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5893 is NULL.
5894
8b8a81fa
VS
58952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 Dynamically count the number of lines for the lower banner.
5898
5899 * grub-core/normal/menu_entry.c (per_term_screen): New member
5900 num_entries.
5901 (print_down): Use num_entries.
5902 (update_screen): Likewise.
5903 (grub_menu_entry_run): Set num_entries.
5904 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5905 num_entries.
5906 (grub_print_message_indented): Move real part to ...
5907 (grub_print_message_indented_real): ... here. Additional argument
5908 dry_run.
5909 (draw_border): Additional argument num_entries.
5910 (print_message): Additional argument dry_run.
5911 (print_entries): Receive menu viewer data.
5912 (grub_menu_init_page): New argment num_entries.
5913 (menu_text_set_chosen_entry): Use num_entries.
5914 (grub_menu_try_text): Likewise.
5915 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5916 All users updated.
5917 (grub_ucs4_count_lines): New function.
5918 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5919 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5920 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5921 (grub_term_border_height): Likewise.
5922 (grub_term_num_entries): Likewise.
5923
277f955b
VS
59242011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5927 Remove now unused string.
5928
536ce85a
CW
59292011-04-09 Colin Watson <cjwatson@ubuntu.com>
5930
5931 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5932 build system.
5933 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5934
5935 (Comment): Fix typo.
5936 (Getting started): General copy-editing.
5937 (Typical Development Experience): Likewise.
5938 (Error Handling): Likewise.
5939 (Video API): Likewise.
5940
2cf09e32
CW
59412011-04-09 Colin Watson <cjwatson@ubuntu.com>
5942
5943 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5944 throughout.
5945
1ec652f4
VS
59462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5949 directory.
5950
2c583728
CW
59512011-04-08 Colin Watson <cjwatson@ubuntu.com>
5952
5953 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5954 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5955 "development".
5956
d7a565e9
VS
59572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5960 grub_strcpy since the lines aren't necessarily 0-terminated.
5961
7c2e4909
VS
59622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5965 root on legacy.
5966
34c09785
VS
59672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5970 (GRUB_MOD_INIT): DEVICE isn't optional.
5971
6a6f8058
VS
59722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5975 word on new line if it's too long anyway. Fixes a hang.
5976
2e335e90
VS
59772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5980 const.
5981 * util/grub-setup.c (main): Reuse md device name if available.
5982 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5983 not GRUB name as argument.
5984 Based on patch by: Florian Wagner <fwagner>.
5985
10a7a867
VS
59862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5989 Place mbi on low memory for better compatibility.
5990
7a3d6cd9
VS
59912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5994
18dd6b47
VS
59952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
59962011-04-08 Colin Watson <cjwatson@ubuntu.com>
5997
5998 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 5999 * conf/Makefile.common: Likewise.
18dd6b47 6000
3c0e3f14
VS
60012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6002
f7148863
VS
6003 * grub-core/normal/menu.c: Add missing include.
6004
60052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 6008
6d1fa41f
MZ
60092011-04-08 Martin Zuther <mzuther@mzuther.de>
6010
6011 * util/grub-mkconfig.in: Ignore emacsen backup.
6012
478182a8
VS
60132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
6016 on open.
6017 (grub_util_biosdisk_close): Likewise.
6018
72a89a54
VS
60192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
6022 const attribute and use grub_isdigit.
6023
b5ebecfa
A
60242011-04-06 Andrey <dev_null@ukr.net>
6025
6026 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
6027 gcc warning.
6028
7755f66e
VS
60292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
6032 useful grub_dprintf's.
6033
461121ff
VS
60342011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
6037
2a961775
VS
60382011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
6041
adf594cc
VS
60422011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 Output errors if theme loading failed.
6045
6046 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
6047 grub_gfxterm_fullscreen on error paths to ...
6048 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6049 theme loading error.
6050
665900a3
VS
60512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6054 space for older compilers.
6055 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6056
a562b479
VS
60572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6060 and report them as not RAID members since they are useless for GRUB.
6061 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6062
850e9373
VS
60632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 Increase LVM implementation robustness in order not to crash on
6066 configurations like pvmove. Previously code assumed that in some places
6067 only lvs or only pvs are used whereas it seems that they are used
6068 interchangeably.
6069
6070 * grub-core/disk/lvm.c (read_node): New function.
6071 (read_lv): Use read_node.
6072 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6073 Match volumes only at the end when all lvs are found. Take both
6074 pvs (first) and lvs (second) into account.
6075 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6076 mirror_* into node_*. All users updated.
6077 (grub_lvm_stripe): Merge this ...
6078 (grub_lvm_mirror): ... and this ...
6079 (grub_lvm_node): ... into this. All users updated.
6080
6f332153
VS
60812011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6084 of function to allow further scanning for LVMs.
6085
829ea451
VS
60862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6089 on failed seek as it breaks open fd reusage.
6090
09ceb9a5
VS
60912011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * util/grub-install.in: Add a recommendation to use --recheck before
6094 reporting bugs.
6095
67e11623
VS
60962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6099 are obtained.
6100
caee5efd
VS
61012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 GRUB developper manual based on existing Internals section and
6104 contributions by the various authors with active copyright assignment.
6105
6106 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6107 * docs/font_char_metrics.png: New file.
6108 * docs/font_char_metrics.txt: Likewise.
6109 * docs/grub-dev.texi: Likewise.
6110 * docs/grub.texi (Internals): Move from here ...
6111 * docs/grub-dev.texi: ... here.
6112
2cccc747
CW
61132011-04-01 Colin Watson <cjwatson@ubuntu.com>
6114
6115 Store the loopback device as data on loopback grub_disk structures,
6116 rather than the file it points to. This fixes use of freed memory
6117 if an existing loopback device is replaced.
6118
6119 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6120 disk->data, not dev->file.
6121 (grub_loopback_read): Adjust file assignment to match.
6122 Fixes Ubuntu bug #742967.
6123
186ae367
CW
61242011-04-01 Colin Watson <cjwatson@ubuntu.com>
6125
6126 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6127 when replacing an existing device.
6128
cfed2ad0
VS
61292011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6132 memory corruptions.
6133
6134 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6135 unsigned.
6136 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6137 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6138 (grub_jfs_read_inode): Likewise.
6139 (grub_jfs_opendir): Likewise. Remove now useless casts.
6140 (grub_jfs_getent): Likewise.
6141 Make ino a grub_uint32_t rather than int.
6142 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6143 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6144 division and module with bit operations.
6145 (grub_jfs_find_file): Make ino a grub_uint32_t.
6146 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6147
05d2ed32
CW
61482011-04-01 Colin Watson <cjwatson@ubuntu.com>
6149
6150 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6151 warning. (This was in fact always initialised before use, but GCC
6152 wasn't smart enough to prove that.)
6153 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6154
91dc6073
VS
61552011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
6158 stack alignment.
6159 (efi_wrap_1): Likewise.
6160 (efi_wrap_2): Likewise.
6161 (efi_wrap_3): Likewise.
6162 (efi_wrap_4): Likewise.
6163 (efi_wrap_5): Likewise.
6164 (efi_wrap_6): Likewise.
6165 (efi_wrap_10): Likewise.
6166 Based on information by: Red Hat/Peter Jones.
6167
a8afc1d1
CW
61682011-03-31 Colin Watson <cjwatson@ubuntu.com>
6169
6170 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6171 set-but-not-used variable.
6172
a826cc7d
CW
61732011-03-31 Colin Watson <cjwatson@ubuntu.com>
6174
6175 * docs/grub.texi (Simple configuration): Be more explicit about
6176 GRUB_DEFAULT, and add an example.
6177 Reported by: Leslie Rhorer.
6178
875b67ba
CW
61792011-03-30 Colin Watson <cjwatson@ubuntu.com>
6180
6181 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6182 shell".
6183
fd7cd914
AS
61842011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6185
6186 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6187 * util/grub.d/20_linux_xen.in: Likewise.
6188
090b1b6a
VS
61892011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * util/grub.d/10_linux.in: Try alternative config filenames where
6192 we parse config file.
6193 * util/grub.d/20_linux_xen.in: Likewise.
6194
baad885c
AS
61952011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6196
6197 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6198 * util/grub.d/20_linux_xen.in: Likewise.
6199
241e41f5
VS
62002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * grub-core/disk/raid.c (insert_array): Add few potentially
6203 useful grub_util_info.
6204 (grub_raid_register): Likewise.
6205
56445fb2
VS
62062011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6209 Preserve partition number in mdadm code path.
6210
c871b1c6
VS
62112011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6214 few potentially useful grub_util_info.
6215
5e631b4f
CW
62162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6219
2d5d0333
CW
62202011-03-30 Colin Watson <cjwatson@ubuntu.com>
6221
6222 * docs/grub.texi (default): Use @example rather than nested
6223 itemized lists to avoid breaking gendocs.
6224
3d7ed04e
CW
62252011-03-30 Colin Watson <cjwatson@ubuntu.com>
6226
6227 * docs/grub.texi (Future): Update.
6228
abf04200 62292011-03-30 Colin Watson <cjwatson@ubuntu.com>
6230
6231 * docs/grub.texi (Environment): New chapter.
6232 (Changes from GRUB Legacy): Link to "Environment block" section for
6233 details of limitations.
6234 (Simple configuration): Likewise. Link to documentation of gfxmode
6235 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6236 respectively.
6237 (Shell-like scripting): Note that normal variables are stored in the
6238 environment.
6239 (gettext): Link to documentation of lang and locale_dir.
6240 (list_env): New section.
6241 (load_env): New section.
6242 (save_env): New section.
6243
6244 (Reporting bugs): Fix typo.
6245
e1ad0edd
VS
62462011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6249 the example.
6250
5d803174
VS
62512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * grub-core/term/at_keyboard.c (set_scancodes)
6254 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6255
2a2da1d0
CW
62562011-03-30 Colin Watson <cjwatson@ubuntu.com>
6257
6258 * docs/grub.texi (Menu-specific commands): Remove some semantics
6259 that were true in GRUB Legacy but not in GRUB 2.
6260 (submenu): New section.
6261 (false): New section.
6262 (read): New section.
6263 (true): New section.
6264
a7527639
CW
62652011-03-30 Colin Watson <cjwatson@ubuntu.com>
6266
6267 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6268
62692011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
6270
6271 * docs/grub.texi (Simple configuration): Explain some of the
6272 current limitations of grub-mkconfig.
8a748df2 6273 Reported by: Leslie Rhorer.
e30af029 6274
fc858482
VS
62752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 Old macs search for boot.efi rather than for bootia32.efi.
6278
6279 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6280 * util/grub-mkrescue.in: Likewise.
6281 Suggested by: Peter Jones.
6282
e1eb511d
VS
62832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6286
70e75364
VS
62872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6290 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6291 (grub_lvm_mirror): New struct.
6292 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6293 (grub_lvm_iterate): Iterate only visible volumes.
6294 (grub_lvm_read): Factor out to ..
6295 (read_lv): ... this. Support mirrors.
6296 (grub_lvm_read): New wrapper function.
6297 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6298 stripped or mirrored.
6299
fc18f6a3
VS
63002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6303
5c650f4c
CW
63042011-03-29 Colin Watson <cjwatson@ubuntu.com>
6305
6306 * docs/grub.texi (loopback): New section.
6307
61d7156b
CW
63082011-03-29 Colin Watson <cjwatson@ubuntu.com>
6309
6310 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6311 removed -p option.
6312
994b8264
CW
63132011-03-29 Colin Watson <cjwatson@ubuntu.com>
6314
6315 * docs/grub.texi (BIOS installation): New section, partly based on
6316 previous text in other sections.
6317 (Installing GRUB using grub-install): Replace BIOS discussion with a
6318 cross-reference.
6319 (Images): Likewise.
6320
9e4d19e0
VS
63212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6324 [HAVE_DIOCGDINFO]: Add safety checks.
6325
a307c0b2
VS
63262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6329 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6330
b4db4f39
CW
63312011-03-29 Colin Watson <cjwatson@ubuntu.com>
6332
6333 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6334 real_sb->size is zero (e.g. RAID-0), get the disk size from
6335 real_sb->data_size instead.
6336 Fixes Ubuntu bug #743136.
6337
35e5f84c
VS
63382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6341 printf clauses for printing size and start.
6342
d2e29d81
VS
63432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6346 Reported and tested by: Timothy Nikkel.
6347
ed5587af
VS
63482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6351 (dirty_region_add_real): ... this.
6352 (dirty_region_add): Don't discard margin refresh when performing
6353 scheduled repaint.
6354
a1dc717c
VS
63552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/lib/relocator.c (allocate_regstart)
6358 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6359 terminals are capabple of malloc-free operation.
6360 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6361 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6362
9f3677d3
VS
63632011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6364
6365 * util/grub-setup.c: Copy the partition table zone if floppy support
6366 is disabled, even if no partition table is found.
6367
6368 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6369 during POST if an invalid partition table is contained in the PBR
6370 of the active partition when GRUB is installed to a partition.
6371
24148725
CW
63722011-03-28 Colin Watson <cjwatson@debian.org>
6373
6374 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6375 comment.
6376
f329eda7
CW
63772011-03-28 Colin Watson <cjwatson@debian.org>
6378
6379 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6380 to be specific about what kind of RAID device we're scanning for.
6381
c482ad98
SG
63822011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6383
6384 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6385 return freed string.
6386
5ee04984
VS
63872011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6390
f4727da9
VS
63912011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 Use libgeom on FreeBSD to detect partitions.
6394
6395 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6396 (grub-mkrelpath): Likewise.
6397 (grub-script-check): Likewise.
6398 (grub-editenv): Likewise.
6399 (grub-mkpasswd-pbkdf2): Likewise.
6400 (grub-fstest): Likewise.
6401 (grub-mkfont): Likewise.
6402 (grub-mkdevicemap): Likewise.
6403 (grub-probe): Likewise.
6404 (grub-setup): Likewise.
6405 (grub-ofpathname): Likewise.
6406 (grub-mklayout): Likewise.
6407 (example_unit_test): Likewise.
6408 (grub-menulst2cfg): Likewise.
6409 * grub-core/Makefile.core.def (grub-emu): Likewise.
6410 (grub-emu-lite): Likewise.
6411 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6412 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6413 define HAVE_DIOCGDINFO.
6414 (follow_geom_up) [FreeBSD]: New function.
6415 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6416 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6417 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6418 unconditionally of HAVE_DIOCGDINFO.
6419
82fe6c75
VS
64202011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 Fix FreeBSD compilation problem.
6423
6424 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6425 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6426
4c6c9431
CW
64272011-03-24 Colin Watson <cjwatson@ubuntu.com>
6428
6429 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6430 Switch back to page zero before loading a kernel, since some kernel
6431 drivers expect that.
6432 Thanks to: Felix Kuehling.
6433
c7064d94
VS
64342011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6437 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6438 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6439
3f71cded
VS
64402011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6443 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6444
ef6de21a
VS
64452011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6448 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6449 malloc is disabled.
6450
8bc66a2c
VS
64512011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6454 for modules headers when counting the needed allocation size.
6455
5657722c
VS
64562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6459 if no ASCII character is found to prevent crash.
6460
41a85f55
AK
64612011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6462
6463 * grub-core/video/bitmap.c (match_extension): Ignore case.
6464
59e1e5f1
VS
64652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6468
bd4d051a
VS
64692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/script/parser.y: Declare "time" as valid argument.
6472
bae7fcc1
PJ
64732011-03-23 Peter Jones <pjones@redhat.com>
6474
6475 Fix incorrect assert failure reporting.
6476
6477 * grub-core/tests/example_functional_test.c (example_test): Add
6478 a failure comment.
6479 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6480 (failure_start): ...this. Check that malloc succeeded.
6481 Don't call xvasprintf. Return failure struct.
6482 (failure_append_vtext): New function.
6483 (failure_append_text): Likewise.
6484 (add_failure): Likewise.
6485 (grub_test_assert_helper): Likewise.
6486 * include/grub/test.h (grub_test_assert_helper): New declaration.
6487 (grub_test_assert): Macro rewritten.
6488
537dc9be
VS
64892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6492
fa3e01bf
VS
64932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6496
b1d28404
VS
64972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6500 into GRUB-style one.
6501
2e3e2e09
VS
65022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6505 error and not grub_errno.
6506 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6507
ed57e557
VS
65082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6511 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6512
d1611f01
VS
65132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * grub-core/efiemu/i386/pc/cfgtables.c
6516 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6517 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6518 (grub_xnu_unlock): Likewise.
6519 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6520
7d4e39d6
VS
65212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6524 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6525 * grub-core/commands/hashsum.c (aliases): Likewise.
6526 * grub-core/commands/setpci.c (pci_registers): Likewise.
6527 * grub-core/disk/usbms.c (attach_hook): Likewise.
6528 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6529 (zio_checksum_table): Likewise.
6530 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6531 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6532 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6533 * grub-core/lib/relocator.c (leftovers): Likewise.
6534 (extra_blocks): Likewise.
6535 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6536 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6537 (modules_last): Likewise.
6538 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6539 (devices): Likewise.
6540 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6541 (modules_last): Likewise.
6542 * grub-core/normal/auth.c (users): Likewise.
6543 * grub-core/normal/context.c (initial_menu): Likewise.
6544 (current_menu): Likewise.
6545 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6546 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6547 (grub_serial_terminfo_input_template): Likewise.
6548 (grub_serial_terminfo_output_template): Likewise.
6549 (grub_serial_terminfo_input): Likewise.
6550 (grub_serial_terminfo_output): Likewise.
6551 (registered): Likewise.
6552 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6553
40fc4659
VS
65542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6557 grub_video_mode_type_t.
6558 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6559 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6560 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6561
2da48d28
VS
65622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 * util/grub-install.in: Correct the x86-64 name as x86_64.
6565
9b43bf39
CW
65662011-03-11 Colin Watson <cjwatson@ubuntu.com>
6567
6568 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6569 initial chunk read from the kernel always includes GRUB's multiboot
6570 header, which is now outside the first sector.
6571
be1a7ce0
CW
65722011-03-09 Colin Watson <cjwatson@ubuntu.com>
6573
6574 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6575 cached mmap_size, so that this works correctly when called multiple
6576 times.
6577 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6578
83a3c48d
CW
65792011-03-09 Colin Watson <cjwatson@ubuntu.com>
6580
6581 * docs/grub.texi (Simple configuration): Tidy up formatting.
6582
57d75699
SJ
65832011-03-07 Szymon Janc <szymon@janc.net.pl>
6584
6585 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6586 Set-but-not-used variable removed.
6587
028501a0
VS
65882011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 Workaround yet another IEEE1275 bug.
6591
6592 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6593 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6594 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6595 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6596 is set.
6597 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6598 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6599
d998657d
VS
66002011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6603 error.
6604
fee7cdd4
CW
66052011-02-11 Colin Watson <cjwatson@ubuntu.com>
6606
6607 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6608 empty, since in that case we can only generate either nothing or a
6609 syntactically invalid configuration file.
6610 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6611
97286eb5
CW
66122011-02-09 Colin Watson <cjwatson@ubuntu.com>
6613
6614 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6615 (Making a GRUB bootable CD-ROM): Likewise.
6616 (Invoking grub-mkrescue): New section.
6617 Reported by: Yann Dirson. Fixes Debian bug #612585.
6618
22b28eb3
CW
66192011-02-09 Colin Watson <cjwatson@ubuntu.com>
6620
6621 * util/grub-install.in: Remove unnecessary brackets from tr
6622 arguments.
6623 * util/grub.d/10_hurd.in: Likewise.
6624 * util/grub.d/10_kfreebsd.in: Likewise.
6625 * util/grub.d/10_linux.in: Likewise.
6626 * util/grub.d/20_linux_xen.in: Likewise.
6627 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6628
7e735e43
CW
66292011-02-08 Colin Watson <cjwatson@ubuntu.com>
6630
6631 * include/grub/file.h (not_easly_seekable): Rename to ...
6632 (not_easily_seekable): ... this. Update all users.
6633
800f1881
CW
66342011-01-28 Colin Watson <cjwatson@ubuntu.com>
6635
6636 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6637 grub-mkrescue.
6638
3281d3d6
VS
66392011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * util/grub-mkimage.c (generate_image): Refuse to create the images
6642 bigger than the actual flash (512K) in Loongson machines. 512K is also
6643 the biggest chip supported by them.
6644
3533413c
VS
66452011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6648
73ae4f4f
VS
66492011-01-22 Anthony DeRobertis <anthony@derobert.net>
6650
6651 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6652 super_offset field.
6653
37f4f608
VS
66542011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * util/grub-install.in: Ignore install device on platforms
6657 where it doesn't make sense. Always use UUIDs except on pc, efi and
6658 sparc64.
6659 Reported by: Daniel Kahn Gillmor.
6660
03a4ccb5
VS
66612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6664
ffc8f4d8
VS
66652011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6668 (iterate_real): Don't rely on partition being non-NULL.
6669
80f23be7
VS
66702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6673 supported platforms. Put a compile time assert for this rather than
6674 generate a warning with 32-bit shift.
6675
5d4f4dd5
VS
66762011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6679 logical expression more readable.
6680
e489601a
VS
66812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6684 even if some elements have a name.
6685 Reported by: Alexander GQ Gerasiov.
6686
96e0a6ea
CW
66872011-01-22 Colin Watson <cjwatson@ubuntu.com>
6688
6689 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6690 path unreadable if `grub-probe -t abstraction' fails, for example if
6691 memberlist fails on an LVM volume group.
6692 Reported by: Darius Jahandarie.
6693
81431e2b
CW
66942011-01-22 Colin Watson <cjwatson@ubuntu.com>
6695
6696 * docs/grub.texi (Simple configuration): Document
6697 GRUB_PRELOAD_MODULES.
6698
5e79d66a
CW
66992011-01-17 Colin Watson <cjwatson@ubuntu.com>
6700
6701 * .bzrignore: Remove nonexistent grub-pbkdf2.
6702
646ada34
VS
67032011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * configure.ac: Bump version to 1.99~rc1.
6706
04360337
VS
67072011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6710 for safety.
6711
46c9db88
VS
67122011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6715 module.
6716
67172011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
6718
6719 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6720
4fbf1852
VS
67212011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6724 diskdevid.
6725
f1632d4d
VS
67262011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 Fix compilation on cygwin.
6729
6730 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6731 -R .drectve on cygwin.
6732 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6733 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6734 (COND_CYGWIN): New condition.
6735 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6736 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6737 not @TARGET_OBJ2ELF@.
6738 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6739 type to determine whether aux is to be used.
6740
0b5e127b
VS
67412011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6744 realpath'ed device string.
6745 Handle floppy (somewhat).
6746 Issue error in unknown case rather than garbage.
6747 Reported by: Axel Beckert.
6748
173b71e9
VS
67492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * util/grub.d/00_header.in (load_video): Handle the case when no video
6752 drivers available.
6753 Thanks to: Axel Beckert.
6754
f8f479db
VS
67552011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6758 variable. Fixes problem on big endian platforms.
6759
8fc0a245
VS
67602011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6763 It doesn't work well there.
6764
b8494fbe
VS
67652011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6768 warning.
6769 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6770 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6771 counter.
6772
b44a558c
VS
67732011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 Use alias->path rather than buggy "canon".
6776
6777 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6778 (ofdisk_hash_add): New argument curcan. All users updated.
6779
51fa856c
CW
67802011-01-11 Colin Watson <cjwatson@ubuntu.com>
6781
6782 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6783
9da068a5
VS
67842011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6787 loadmask before doing any calculations. Use correct type for offset.
6788 (grub_linux_load64): Likewise.
6789
86205c94
CW
67902011-01-11 Colin Watson <cjwatson@ubuntu.com>
6791
6792 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6793 with NULL.
6794 (console_grub_equivalences_unshift): Likewise.
6795 Reported by: Daniel Dehennin.
6796
4531a206
VS
67972011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6800 (set_env_limn_ro): Likewise.
6801 (GRUB_MOD_INIT): Likewise.
6802 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6803 ARRAY_SIZE while on it.
6804 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6805 * grub-core/normal/context.c (grub_env_export): Move from here ...
6806 * grub-core/kern/env.c (grub_env_export): ... here.
6807 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6808 prefix.
6809 * grub-core/kern/main.c (grub_main): Export root and prefix.
6810 * include/grub/env.h (grub_env_export): Export.
6811 Reported by: Seth Goldberg.
6812
45146057
VS
68132011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6816 Take into account space used by ELF sections and multiboot palette.
6817 Reported by: Grégoire Sutre.
6818
f093110b
VS
68192011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * BUGS: New file.
6822
3395fe52
VS
68232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 Pass more appropriate video id to Linux.
6826
6827 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6828 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6829 fill have_vga.
6830 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6831 shift params->lfb_size.
6832 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6833
c2fa6cbb
VS
68342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6837
b3ff6ff0
VS
68382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6841 separator and pass bootpath/devid even if only one of them is available.
6842 Reported by: Seth Goldberg.
6843
ae67942e
VS
68442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6847 implementations bug on them.
6848
6849 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6850 memory.
6851 (filter_memory_map): Likewise.
6852
d570097a
VS
68532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6856 Reported by: nebuchadnezzar.
6857
a508e776
VS
68582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6861 Reported by: nebuchadnezzar.
6862
dcb883b1
VS
68632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 Submenu default support.
6866
6867 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6868 auto_boot. All users updated.
6869 Declared static.
6870 Handle chosen and default with submenus.
6871 (grub_menu_execute_with_fallback): Declared static.
6872 Don't notify failure if autobooted. Upper level does it.
6873 (menuentry_eq): New function.
6874 (get_entry_number): Use menuentry_eq.
6875 (show_menu): New parameter "autobooted". All users updated.
6876 (grub_show_menu): Likewise.
6877 * include/grub/normal.h (grub_show_menu): Likewise.
6878 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6879 (grub_menu_execute_with_fallback): Likewise.
6880
6fef99b4
VS
68812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * util/grub-mklayout.c (usage): Update help text.
6884
47a77af5
VS
68852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6888
ce6bb3ee
VS
68892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * util/grub-menulst2cfg.c (main): Trim the line.
6892
db87be2a
VS
68932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6896 (grub_machine_init): Don't check amount of low memory as reportedly
6897 INT 12h can be broken and if low memory is too low we wouldn't have
6898 gotten into grub_machine_init anyway.
6899
c49849cc
VS
69002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6903 (grub_machine_mmap_iterate): Take low memory into account
6904
b1969b30
VS
69052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6908 badfs.
6909 Reported by: TiCPU.
6910
cf0eaf13
VS
69112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6914 members errors.
6915
1f060f39
GS
69162011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6917
6918 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6919 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6920
a21e5672
GS
69212011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6922
6923 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6924 openbsd and netbsd types being in part_bsd module.
6925
c88172fa
VS
69262011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6929 (_FILE_OFFSET_BITS): Likewise.
6930 Reported by: Seth Goldberg.
6931
53798c4b
GS
69322011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6933
6934 * configure.ac: Check for libdevmapper header.
6935
e7121b69
VS
69362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6939 avoid aliasing.
6940 (fzap_lookup): Likewise.
6941 (dnode_get): Likewise.
6942 (make_mdn): Likewise.
6943 (zfs_mount): Likewise.
6944 (fzap_iterate): Use temporary pointer to avoid aliasing.
6945 (grub_zfs_read): Likewise.
6946 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6947 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6948 pointers to avoid aliasing.
6949 (grub_cmd_xnu_kernel64): Likewise.
6950 (grub_xnu_load_driver): Likewise.
6951
fc836af9
VS
69522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6955 aliasing warning.
6956 (grub_cmd_terminal_output): Likewise.
6957 Reported and tested by: Grégoire Sutre.
6958
f9f37648
VS
69592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6962 warning.
6963 Reported and tested by: Grégoire Sutre.
6964
ec1dfd63
VS
69652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * configure.ac: Do CPU substitution even if it's specified explicitly.
6968 Reported and tested by: Alain Greppin.
6969
9462775a
VS
69702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6973 Reported and tested by: Alain Greppin.
6974
0fd48e35
VS
69752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 Satisfy some bison versions need for inttypes.h.
6978
6979 * grub-core/lib/posix_wrap/inttypes.h: New file.
6980 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6981 (int16_t): Likewise.
6982 (int32_t): Likewise.
6983 (int64_t): Likewise.
6984 Reported and tested by: Alain Greppin.
6985
43f1bc83
VS
69862011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6989 Silence spurious warning.
6990 Reported and tested by: Alain Greppin.
6991
64d1f041
SJ
69922011-01-07 Szymon Janc <szymon@janc.net.pl>
6993
6994 * docs/grub.texi (Support automatic decompression): Update with xz
6995 decompression support.
6996
25953e10
SJ
69972011-01-07 Szymon Janc <szymon@janc.net.pl>
6998
6999 Improve loaders' kernel command line handling.
7000
7001 * grub-core/lib/cmdline.c: New file.
7002 * include/grub/lib/cmdline.h: Likewise.
7003 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
7004 grub_create_loader_cmdline to create kernel command line.
7005 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7006 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
7007 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
7008 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
7009 (linux): Add lib/cmdline.c on common.
7010
e72d259f
VS
70112011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
7014 inopos might be unaligned.
7015
c0cf26da
VS
70162011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7019 endian transformations.
7020 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7021 Based on report by: Doug Nazar.
7022
0ca09e6c
DN
70232011-01-07 Doug Nazar <nazard.michi@gmail.com>
7024
7025 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
7026 array->members[i].start_sector.
7027 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7028
014b6806
VS
70292011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
7032 Reported and tested by: Grégoire Sutre.
7033
415502c2
CW
70342011-01-06 Colin Watson <cjwatson@ubuntu.com>
7035
7036 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
7037 avoid causing test failures by clearing the screen.
7038
71b6a2b7
CW
70392011-01-06 Colin Watson <cjwatson@ubuntu.com>
7040
7041 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7042 Fix prefix check to handle the case where dir ends with a slash
7043 (most significantly, "/" itself).
7044 Reported by: Michael Vogt.
7045
b3f8d28a
VS
70462011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 Run terminfo_cls on initing terminfo output to clear the screen and
7049 move the cursor to (0,0).
7050
7051 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7052 Call grub_terminfo_output_init.
7053 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7054 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7055 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7056
4c3e4f37
VS
70572011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7060 only when needed.
7061
488f71f1
VS
70622011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7065 CTRL.
7066
18a38098
VS
70672011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 The E820 type 5 is BADRAM, not EXEC_CODE.
7070
7071 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7072 (GRUB_E820_BADRAM): New define.
7073 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7074 into reserved. Propagate BADRAM.
7075 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7076 (GRUB_E820_BADRAM): New define.
7077
9eae2084
VS
70782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7081 Ignore the memory post-4G.
7082 (grub_relocator_firmware_alloc_region): Additional debug statement.
7083
ebc71d28
VS
70842011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7087 names.
7088 Reported by: David Pravec.
7089
446fa400
VS
70902011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7093 BIOSes.
7094
a0159f37
VS
70952011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7098 Prevent overflow.
7099 (grub_reed_solomon_recover): Likewise.
7100
e5146ca1
VS
71012011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7104
71052011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
7106
7107 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7108 variable.
7109
5b1bdf12
CW
71102011-01-04 Colin Watson <cjwatson@ubuntu.com>
7111
7112 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7113 descriptions of extract_legacy_entries_source and
7114 extract_legacy_entries_configfile.
7115 Reported by: Seung Soo, Ha.
7116
99d925aa
CW
71172011-01-03 Colin Watson <cjwatson@ubuntu.com>
7118
7119 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7120 on devices that do not implement function 0.
7121
4af0504b
DV
71222011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7123
7124 * grub-core/fs/hfsplus.c: Make parent unsigned.
7125 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7126 overflows.
7127 (grub_hfsplus_cmp_extkey): Likewise
7128
469ee10a
VS
71292011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * util/grub-install.in: Correctly use bootloader_id and not
7132 GRUB_DISTRIBUTOR on efibootmgr line.
7133
323a8e9c
VS
71342011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7137
1b394975
IC
71382010-12-31 Ian Campbell <ijc@hellion.org.uk>
7139
7140 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7141 Xen and reorder menu item wording to make it clearer that this entry
7142 will launch Xen. Print separate messages when loading Xen and
7143 Linux.
7144
275bff5f
VS
71452010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7148 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7149 loop in case of incorrect amiga partmap.
7150
307806cb
VS
71512010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
7154 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
7155 Reported by:EHeM.
7156
b12b923e
VS
71572010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
7160 spurious warning.
7161 Reported by: crocket
7162
14b48a19
VS
71632010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
7166 Preload EFIemu.
7167 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
7168
693db2df
VS
71692010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7172 is loaded
7173 (grub_cmd_xnu_kextdir): Likewise.
7174 (grub_cmd_xnu_splash): Likewise.
7175
c7638645
VS
71762010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 Avoid using Reed-Solomon with 0 redundancy.
7179
7180 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7181 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7182 or 0 redundancy.
7183 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7184 (grub_reed_solomon_recover): Likewise.
7185
25dd4780
VS
71862010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 Don't use disk subsystem in freebsd_boot.
7189
7190 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7191 (freebsd_biosdev): Likewise.
7192 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7193 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7194
0b2db943
VS
71952010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 Handling of files of unknown size is currently limited. They can't be
7198 used e.g. for initrd or modules. Moreover gzip handling of not
7199 easily seekable files is buggy. Disable unknown file size for now. May
7200 be inefficient but works.
7201
7202 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7203 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7204
5c408d0f
MP
72052010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7206
7207 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7208 floppy probe.
7209
190a011a
JD
72102010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7211
7212 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7213
022d01b8
SL
72142010-12-25 Shea Levy <shlevy>
7215
7216 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7217
c4855fdc
VS
72182010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7221 Windows Server 2008.
7222 Reported by: Devin Giddings.
7223
0354b867
VS
72242010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7227 writing an error message because of async power management.
7228 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7229 (grub_reboot): Likewise.
7230
ab66c69f
JU
72312010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7232
7233 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7234 keep unit tests from failing when they shouldn't.
7235
1426ef35
CW
72362010-12-21 Colin Watson <cjwatson@ubuntu.com>
7237
7238 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7239 previous patch increased the size of the RS code by 20 bytes (at
7240 least with gcc-4.4), so increase this by 20 bytes to match.
7241 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7242
20641b6b
CW
72432010-12-21 Colin Watson <cjwatson@ubuntu.com>
7244
7245 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7246 scratch area. Make sure to initialise chosen in standalone mode as
7247 well as non-standalone.
7248 Reported by: Robert Hooker and Andy Whitcroft.
7249 Tested by: Andy Whitcroft.
7250
d060ad60
CW
72512010-12-21 Colin Watson <cjwatson@ubuntu.com>
7252
7253 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7254 constructing a new unescaped string and passing it to grub_xputs in
7255 one go, rather than passing characters to grub_printf one at a time.
7256
b889cfad
CW
72572010-12-21 Colin Watson <cjwatson@ubuntu.com>
7258
7259 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7260 initialising utf16.
7261
4e01b6c8
CW
72622010-12-21 Colin Watson <cjwatson@ubuntu.com>
7263
7264 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7265 comment. Add an extra layer of quotation, requiring the output of
7266 this function to be used in a printf format string.
7267 (gettext_printf): New function.
7268 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7269 Extract translatable strings from here-documents and use a temporary
7270 variable instead, so that xgettext can find them.
7271 * util/grub.d/10_kfreebsd.in: Likewise.
7272 * util/grub.d/10_linux.in: Likewise.
7273 * util/grub.d/20_linux_xen.in: Likewise.
7274
7275 * po/grub.d.sed: New file.
7276 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7277 arguments. Set c-format flags on all strings extracted from
7278 util/grub.d/ (xgettext refuses to include these itself for strings
7279 it extracted from a shell file, but these really are c-format).
7280
5318fe98
VS
72812010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7284 Avoid next pointing to nowhere.
7285
6c85b743
VS
72862010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7289 rather than assuming than rootblock is exactly in the middle.
7290 (grub_affs_label): Likewise.
7291
a2a08a35
VS
72922010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7295 reserved_first_sector to 0.
7296 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7297 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7298 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7299
7059d1ec
VS
73002010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 Fix handling of UTF-16 UDF labels.
7303
7304 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7305 (read_string): .. here.
7306 (grub_udf_label): Use read_string.
7307
30aff4cb
BC
73082010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7309
7310 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7311 editor under argument scope.
7312 Reported by: Jordan Uggla
7313
5cf86f4b
VS
73142010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7317
32570200
CW
73182010-12-18 Colin Watson <cjwatson@ubuntu.com>
7319
7320 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7321 line, and other keys scroll an entire page (previous handling was
7322 for \r and \n to scroll a page and other keys to scroll two lines).
7323
e1dffcf2
VS
73242010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7327 Set ptrdest to correct get_physical_target_address rather than
7328 incorrect get_virtual_current_address.
7329
b04298cf 73302010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7331
7332 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7333 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7334
5367ecd3
CW
73352010-12-10 Colin Watson <cjwatson@ubuntu.com>
7336
7337 * .bzrignore: Ignore grub-core/rs_decoder.S.
7338
1fb430f8
CW
73392010-12-10 Colin Watson <cjwatson@ubuntu.com>
7340
7341 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7342 .mo/.mo.gz opening sequence to ...
7343 (grub_mofile_open_lang): ... here.
7344 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7345 * util/grub.d/00_header.in (grub_lang): Include country part of
7346 locale.
7347 Reported by: Mario Limonciello.
7348
a94a6671
RM
73492010-12-09 Robert Millan <rmh@gnu.org>
7350
7351 * NEWS: Document addition of ZFS support.
7352
24b7938b
CW
73532010-12-04 Colin Watson <cjwatson@ubuntu.com>
7354
7355 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7356 rather than `/ 2', as the latter requires -Wa,--divide which would
7357 require bumping our minimum binutils version.
7358
bddc3ef6
BC
73592010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7360
7361 * util/grub-script-check.c (main): Print script line number on
7362 error.
7363
bf78d5b2
RM
73642010-12-01 Robert Millan <rmh@gnu.org>
7365
7366 * grub-core/fs/zfs/zfs.c: New file.
7367 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7368 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7369 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7370 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7371
7372 * include/grub/zfs/dmu.h: Likewise.
7373 * include/grub/zfs/dmu_objset.h: Likewise.
7374 * include/grub/zfs/dnode.h: Likewise.
7375 * include/grub/zfs/dsl_dataset.h: Likewise.
7376 * include/grub/zfs/dsl_dir.h: Likewise.
7377 * include/grub/zfs/sa_impl.h: Likewise.
7378 * include/grub/zfs/spa.h: Likewise.
7379 * include/grub/zfs/uberblock_impl.h: Likewise.
7380 * include/grub/zfs/vdev_impl.h: Likewise.
7381 * include/grub/zfs/zap_impl.h: Likewise.
7382 * include/grub/zfs/zap_leaf.h: Likewise.
7383 * include/grub/zfs/zfs.h: Likewise.
7384 * include/grub/zfs/zfs_acl.h: Likewise.
7385 * include/grub/zfs/zfs_znode.h: Likewise.
7386 * include/grub/zfs/zil.h: Likewise.
7387 * include/grub/zfs/zio.h: Likewise.
7388 * include/grub/zfs/zio_checksum.h: Likewise.
7389
7390 * Makefile.util.def: Build ZFS into libgrubmods.
7391 * grub-core/Makefile.core.def: Build zfs.mod.
7392
3f0f3831
SJ
73932010-11-30 Szymon Janc <szymon@janc.net.pl>
7394
7395 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7396 variable.
7397 * grub-core/commands/wildcard.c (match_files): Likewise.
7398
3a4253b2
RM
73992010-11-30 Robert Millan <rmh@gnu.org>
7400
7401 * grub-core/loader/i386/bsd.c
7402 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7403 whether kernel is loaded using grub_loader_is_loaded(), rather
7404 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7405 certain error conditions.
7406
8c317b27
RM
74072010-11-30 Robert Millan <rmh@gnu.org>
7408
c5c9cd3e
RM
7409 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7410 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 7411
49d3ab46
VS
74122010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 Avoid using tricks for initialising endian variables.
7415
7416 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7417 Make const.
7418 (GRUB_MOD_INIT): Don't byte-swap.
7419 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7420 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7421 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7422 (grub_swap_bytes32_compile_time): Likewise.
7423 (grub_cpu_to_le32_compile_time): Likewise.
7424 (grub_cpu_to_le16_compile_time): Likewise.
7425
f420a804
VS
74262010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * util/grub-setup.c (setup): Stop recommending --force. People who
7429 understand the dangers of blocklists are able to find this option
7430 anyway and the ones who don't shouldn't use it anyway.
7431
4e7db17b
RM
74322010-11-26 Robert Millan <rmh@gnu.org>
7433
7434 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7435 Update all users.
7436
9be57a0d
CW
74372010-11-26 Colin Watson <cjwatson@ubuntu.com>
7438
7439 Fix LVM-on-RAID probing.
7440
7441 * util/grub-probe.c (probe): Remember which disk was detected as
7442 RAID (perhaps an LVM physical volume). Use that disk's raidname
7443 rather than that of the top-level disk.
7444
2c7859b3 74452010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 7446
d7647bb6
BC
7447 Fix cmdline argument quotes for setparams command of menuentry
7448 definitions.
7e623b0d
BC
7449
7450 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7451 quotes for arguments.
f866fe80 7452 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 7453 grub_strchrsub function instead.
f866fe80 7454
7955bea0 7455 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 7456
74f72a64
CW
74572010-11-24 Colin Watson <cjwatson@ubuntu.com>
7458
7459 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7460 effort by skipping "." and ".." entries up-front.
7461 Suggested by: Michael Lazarev.
7462
5a407278
CW
74632010-11-24 Colin Watson <cjwatson@ubuntu.com>
7464
7465 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7466 ldflags to ldadd, to fix link line ordering.
7467 (none_decompress): Likewise.
7468
3030d8ec
CW
74692010-11-24 Colin Watson <cjwatson@ubuntu.com>
7470
7471 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7472 platforms.
7473 (grub-emu-lite): Remove kern/emu/cache.S.
7474
b7fbac12
CW
74752010-11-23 Colin Watson <cjwatson@ubuntu.com>
7476
7477 * util/deviceiter.c (compare_devices): If the by-id link for a
7478 device couldn't be resolved, fall back to sorting by the by-id link
7479 rather than segfaulting.
7480 Reported and tested by: Daniel Mierswa.
7481
5225f328
CW
74822010-11-23 Colin Watson <cjwatson@ubuntu.com>
7483
7484 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7485 ldflags, to fix link line ordering.
7486
038b3ce8
CW
74872010-11-23 Colin Watson <cjwatson@ubuntu.com>
7488
7489 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7490 linkers are picky about this.
7491
bf16e98e
CW
74922010-11-23 Colin Watson <cjwatson@ubuntu.com>
7493
7494 * grub-core/Makefile.am (command.lst): Adjust sed expression
7495 ordering so that extended and priority commands aren't treated as
7496 ordinary commands.
7497
7242bab6
CW
74982010-11-23 Colin Watson <cjwatson@ubuntu.com>
7499
7500 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7501 Remove byte-swapping function calls, which are not valid in
7502 structure initialisers.
7503 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7504 non-const.
7505 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7506 grub_gpt_partition_type_bios_boot.
7507
14e8b279
CW
75082010-11-22 Colin Watson <cjwatson@ubuntu.com>
7509
7510 Fix test program build on GNU/kFreeBSD.
7511
7512 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7513 $(LIBNVPAIR)' library dependencies.
7514
e6f63338 75152010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
7516
7517 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7518
cf8ffc38
CW
75192010-11-22 Colin Watson <cjwatson@ubuntu.com>
7520
7521 * util/grub-install.in: Remove excessive quoting that broke
7522 installations to RAID devices.
7523
7f8b0fd7
VS
75242010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7527 bootloader version instead of 0.
7528
dfd240b1
VS
75292010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7532 warning.
7533
7b61e609
VS
75342010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7537 retrieve the metadat sector if size isn't known.
7538 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7539
9dfe92d0
RM
75402010-11-18 Robert Millan <rmh@gnu.org>
7541
7542 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7543 with grub_memcmp().
7544
41cc919e
VS
75452010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7548 arrow.
7549 Reported by: Jordan Uggla.
7550
1afcc914
VS
75512010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 Make better UTF compliant.
7554
7555 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7556 sequences as incorrect.
7557 (grub_is_valid_utf8): Likewise.
7558 (grub_utf8_to_ucs4): Likewise.
7559 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7560 (grub_ucs4_to_utf8_alloc): Likewise.
7561 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7562
f1808884
VS
75632010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 Make legacy_source behave like source.
7566
7567 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7568 grub_show_menu.
7569 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7570
24ec575b
CW
75712010-11-16 Colin Watson <cjwatson@debian.org>
7572
7573 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7574 (-Wunused implies -Wunused-parameter, but not vice versa).
7575
72b7c7aa
CW
75762010-11-16 Colin Watson <cjwatson@ubuntu.com>
7577
7578 * configure.ac: Make error messages less confusing by testing for
7579 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7580 accepted, but produces a diagnostic if something else is wrong).
7581
e98937aa
VS
75822010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7585 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7586 (now unused).
7587 (grub_keyboard_controller_init)
7588 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7589 read the initial state since controller isn't inited yet.
7590
f6bbabc3
VS
75912010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7594 allocate_regbeg may need to create new chunk header.
7595
22e7dbb2
VS
75962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 Fix quoting in legacy parser.
7599
7600 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7601 single quotes.
7602 (grub_legacy_parse): Likewise.
7603 Reported by: Jordan Uggla.
7604 Tested by: Jordan Uggla.
7605
03f80960
VS
76062010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 Don't add -lgcc on i386 and x86_64.
7609
7610 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7611 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7612 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7613
779dc15b
VS
76142010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * configure.ac: Add -Wno-trampolines when supported.
7617
d20a3b37
MV
76182010-11-14 Modestas Vainius <modax@debian.org>
7619
7620 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7621 fakeraid.
7622
e5360933
GC
76232010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7624
7625 Add generic logical block size support for UDF.
7626
7627 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7628 (GRUB_UDF_BLKSZ): Removed.
7629 (struct grub_udf_data): New field "lbshift" to hold the logical block
7630 size of the file system in log2 format. All users updated.
7631 (sblocklist): Change type to unsigned.
7632 (grub_udf_mount): Change type of "sblklist" to unsigned.
7633 Move AVDP search before VRS recognition, because the latter requires
7634 knowledge of the logical block size, which is detected during the
7635 former.
7636 Detect and validate logical block size during AVDP search, adding
7637 support for block sizes 512, 1024 and 4096.
7638 Make VRS recognition independent of block size.
7639
cb0229c5
GC
76402010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7641
7642 Properly handle deleted files on UDF.
7643
7644 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7645 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7646 set.
7647
406858a8
GC
76482010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7649
7650 Support reading files larger than 2 GiB.
7651
7652 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7653 "offset" to grub_off_t.
7654 (grub_udf_read_file): Likewise for parameter "pos".
7655
130da6a7
VS
76562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7659 unavailable.
7660 (Simple configuration): Refer to Changes from GRUB Legacy about
7661 save_env availability.
7662
65e93f6b
VS
76632010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * util/grub-install.in: Ignore empty partition table detection
7666 instead of trying to include part_ module.
7667
1fd08bf1
VS
76682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7671 LVM on RAID support.
7672
de1a024f
VS
76732010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 Properly define WORDS_BIGENDIAN in wrapped environments.
7676
7677 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7678 definition.
7679 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7680
7681 Reported by: Manoel Rebelo Abranches.
7682 Tested by: Manoel Rebelo Abranches.
7683
bc5dd0b9
VS
76842010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * util/grub-mkconfig.in: Fix quoting.
7687
58c184be
VS
76882010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 Support big ext2 files.
7691
7692 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7693 (grub_ext2_read_block): Support triple indirect blocks.
7694 (grub_ext2_read_file): Use 64-bit types and read size_high.
7695 (grub_ext2_open): Read size_high.
7696 Reported by: Ximin Luo.
7697 Tested by: Manoel Rebelo Abranches.
7698
5f0c02b3
VS
76992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 * util/grub-install.in: Handle filenames containing spaces.
7702 Reported by: Jordan Uggla.
7703 Tested by: Jordan Uggla.
7704
4417aae6
VS
77052010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * util/grub-mkconfig.in (grub_script_check): New variable.
7708 Use grub_script_check instead of grub-script-check.
7709 Reported by: Barry Jackson.
7710
7625a68e
VS
77112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * docs/grub.texi (menu): Correct the order.
7714 Reported by: D. Hugh Redelmeier.
7715
10001ac5
VS
77162010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7719 jump.
7720
9c4cf53b
MRA
77212010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7722
10001ac5
VS
7723 * include/grub/elfload.h (grub_elf32_size): New parameter.
7724 All users updated.
9c4cf53b
MRA
7725 Return maximum segments alignment.
7726 (grub_elf64_size): Likewise.
7727 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7728 Return maximum segments alignment.
7729 (grub_elf64_size): Likewise.
7730 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
7731 (grub_linux_claimmap_iterate): New function. Uses the
7732 "available" property in the "memory" node for memory allocation
7733 for kernel in the PowerPC loader.
9c4cf53b
MRA
7734 (grub_linux_load32): Correctly find linux entry point offset.
7735 (grub_linux_load64): Likewise.
7736
d2bf06bf
RM
77372010-11-07 Robert Millan <rmh@gnu.org>
7738
7739 On mips-yeeloong, build with -march=loongson2f when this flag is
7740 available (GCC >= 4.4).
7741 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7742 `-march=mips3'.
7743 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7744 or otherwise add -march=mips3.
7745
898c99a2
BC
77462010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7747
87220a68
BC
7748 Suppress shell expansion on echo '*' and echo "*" like cases.
7749 Reported by: Jordan Uggla.
898c99a2
BC
7750
7751 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7752 string arguments before shell expansion.
7753 * tests/grub_cmd_echo.in: New testcases.
7754
4f9b406a
RM
77552010-11-07 Robert Millan <rmh@gnu.org>
7756
7757 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7758 transition.
7759
80c6d25e
VS
77602010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * grub-core/kern/emu/hostdisk.c
7763 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7764
4a1a0153
VS
77652010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7768 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7769 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7770
34706ddc
VS
77712010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7774
6972dea9
VS
77752010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * util/grub-install.in: Replace useless recomendation to pass
7778 --modules with a recomendation to report a bug.
7779
9c693bd6
VS
77802010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7781
7782 Properly register serial terminfo.
7783 Reported by: Jordan Uggla
7784
7785 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7786 const.
7787 (grub_serial_terminfo_output_template): Likewise.
7788 (grub_cmd_serial): Register "serial" with terminfo.
7789 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7790 grub_serial_terminfo_output.
7791
6c9e4c0c
RM
77922010-11-05 Robert Millan <rmh@gnu.org>
7793
7794 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7795 needed).
7796
b9b3839f
RM
77972010-11-05 Robert Millan <rmh@gnu.org>
7798
7799 On Yeeloong, pass machine type information to Linux.
7800
7801 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7802 (LOONGSON_MACHTYPE): New macro, set to
7803 "machtype=lemote-yeeloong-2f-8.9inches".
7804 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7805 additional argument to Linux.
7806
1a3aaff4
RM
78072010-11-04 Robert Millan <rmh@gnu.org>
7808
7809 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7810 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7811 (its SATA disks are detected as slaveless IDE master drives on
7812 kFreeBSD).
7813 Reported by Carsten Aulbert.
7814
a75f4f62
CW
78152010-11-02 Colin Watson <cjwatson@ubuntu.com>
7816
7817 * util/bin2h.c (main): Fix spelling error in generated output.
7818
33b4b0c6
GS
78192010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7820
7821 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7822
2b36fbf4
VS
78232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7826 vga= option is supplied.
7827
74aaf558
VS
78282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7831 * util/grub.d/10_kfreebsd.in: Likewise.
7832 * util/grub.d/10_linux.in: Likewise.
7833 * util/grub.d/20_linux_xen.in: Likewise.
7834
6428dec3
VS
78352010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7838 argument as an argument to no-argument option.
7839
f8729d98
VS
78402010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * util/grub.d/10_linux.in: Add missing load_video with explicit
7843 GRUB_GFXPAYLOAD_LINUX.
7844
89d68fa6
VS
78452010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7848
3a1197cd
VS
78492010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7852 elements with invlid index.
7853 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7854 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7855 members.
7856 * include/grub/raid.h (grub_raid_member): New struct.
7857 (grub_raid_array): Transform devices and start_sector into usage of
7858 grub_raid_member. All users updated
7859 (allocated_devs): New member.
7860
71574288
VS
78612010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7864 is modified
7865
8d40ec65
BC
78662010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7867
7868 NetBSD build fix for getline function conflict from gnulib.
7869
7870 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7871 components that depend on gnulib headers.
7872 (libgrubmods.a): Renamed from earlier libgrub.a.
7873 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7874
95b9257e
VS
78752010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7876
7877 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7878 install rather than creating a broken install.
7879
26c53dc6
VS
78802010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * util/grub-setup.c (argp): Remove misleading example of installing to
7883 a partition.
7884
4171b3c5
VS
78852010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 * util/grub-setup.c (setup): Clarify the error message.
7888
18568d18
VS
78892010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7892
4f6a2e21
VS
78932010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/kern/emu/misc.c
7896 (grub_make_system_path_relative_to_its_root)
7897 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7898
78992010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
7900
7901 * grub-core/kern/emu/misc.c
7902 (grub_make_system_path_relative_to_its_root): Revert r2882.
7903
e138c458
VS
79042010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7907 useless field head. All users updated.
7908 (free_subchunk): Correct handling of IN_REGION subchunk.
7909
0cbcdf0e
CW
79102010-10-22 Colin Watson <cjwatson@ubuntu.com>
7911
7912 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7913 (Supported kernels): Likewise.
7914
b65ea155
GS
79152010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7916
7917 Make mktemp invocations portable.
7918
7919 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7920 exit if mktemp fails.
7921 * tests/grub_script_blockarg.in: Likewise.
7922 * tests/partmap_test.in: Likewise.
7923 * tests/util/grub-shell-tester.in: Likewise.
7924 * tests/util/grub-shell.in: Likewise.
7925 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7926 * Makefile.am: Likewise, and chain shell commands with `&&'
7927 instead of ';'.
7928 * util/grub-mkrescue.in: Use the same explicit template as above, and
7929 exit if mktemp fails.
7930
05f43cdd
BC
79312010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7932
7933 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7934 Linux kernel, reported by Dennis Schridde.
7935
800e6a9b
SJ
79362010-10-17 Szymon Janc <szymon@janc.net.pl>
7937
7938 * grub-core/normal/auth.c (grub_auth_check_authentication):
7939 Set-but-not-used variable removed.
7940
d82df574
VS
79412010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7944 32-bit linux protocol.
7945
7bced458
VS
79462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7949 cursor shape for sanity.
7950
5b027690
VS
79512010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 * docs/grub.texi (Installation): Document buggy BIOS install.
7954
ba5f65cf
VS
79552010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * docs/grub.texi (Installation): Indent.
7958
fdf2ec9c
VS
79592010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * util/grub-setup.c (setup): New parameter allow_floppy.
7962 (arguments): New member allow_floppy.
7963 (argp_parser): Handle --allow-floppy.
7964 (main): Pass allow_floppy.
7965 * util/grub-install.in: New option --allow-floppy passed though to
7966 grub-setup.
7967
861dfd4c
VS
79682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * util/grub-install.in: Handle partitionless disks.
7971
f77a8c24
VS
79722010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * util/grub-setup.c (setup): Don't clean blocklists before readability
7975 verfification.
7976
27d9ee32
VS
79772010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * docs/grub.texi (Installation): Document embedding zone. Remove
7980 obsolete grub-install example.
7981
6bdda8f8
SJ
79822010-10-16 Szymon Janc <szymon@janc.net.pl>
7983
7984 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7985 Set-but-not-used variable ifdef'ed.
7986 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7987 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7988 variable removed.
7989 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7990 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7991 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7992 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7993 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7994 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7995 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7996 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7997 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7998 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7999 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
8000 Likewise.
8001
e19b016b
VS
80022010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
8005 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
8006 enum value.
8007
6c8d3002
VS
80082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
8011 synonym to _S5_. Needed for some DSDTs.
8012
c32b51c9
VS
80132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 Userspace ACPI parser debugging.
8016
8017 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
8018 headers and add relevant defines. Don't include standard headers.
8019 (main) [GRUB_DSDT_TEST]: New function.
8020 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
8021 Don't declare functions.
8022
fbfbeb39
VS
80232010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 Remove dead grub_efi_mm_fini.
8026
8027 * grub-core/kern/efi/mm.c (allocated_page): Removed.
8028 (ALLOCATED_PAGES_SIZE): Likewise.
8029 (MAX_ALLOCATED_PAGES): Likewise.
8030 (allocated_pages): Likewise.
8031 (grub_efi_allocate_pages): Don't record allocated pages.
8032 (grub_efi_free_pages): Likewise.
8033 (grub_efi_mm_init): Likewise.
8034 (grub_efi_mm_fini): Removed.
8035
65f7ed7c
VS
80362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
8039 (grub_efi_mm_init): Take into account the memory map size increase.
8040
24977b44
VS
80412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
8044 (serial_hw_put): Wait based on real time rather than port reads. Don't
8045 roken ports.
8046 * include/grub/serial.h (grub_serial_port): New field broken.
8047
1eb01cd2
RM
80482010-10-16 Robert Millan <rmh@gnu.org>
8049
8050 * grub-core/kern/emu/misc.c
8051 (grub_make_system_path_relative_to_its_root): Fix premature return
8052 when processing non-root ZFS filesystems.
5f8b440b 8053 Reported by Sergio Talens-Oliag.
1eb01cd2 8054
2d5fed60
RM
80552010-10-15 Robert Millan <rmh@gnu.org>
8056
8057 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8058 guarantee compressed ones are processed first.
8059
d0f4c1ea
VS
80602010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8063 grub_efiemu_autocore.
8064
d87c681f
VS
80652010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8068 rather than 0x1b.
8069 (grub_console_getkey): Use correct jae opcode rather than ja.
8070
219b3564
RM
80712010-10-12 Robert Millan <rmh@gnu.org>
8072
8073 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8074 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8075 variable. All references updated.
8076
8077 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8078
20c6bb7e
VS
80792010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 Correctly distinguish mdraid flavours.
8082
8083 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8084 (insert_array): New argument raid.
8085 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8086 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8087 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8088
74baff84
VS
80892010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8092 handling of special keys.
8093
3ef068df 80942010-10-02 Aleš Nesrsta <starous@volny.cz>
8095
c7980ad9
VS
8096 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8097 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 8098
a9455194 80992010-10-02 Aleš Nesrsta <starous@volny.cz>
8100
c7980ad9
VS
8101 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8102 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8103 users updated.
a9455194 8104 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 8105 Use right endpoint when querying descriptor.
a9455194 8106
441cfe65
VS
81072010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 Clear out 0x80 color bit on EFI.
8110 Tested by: decoder
8111 Reported by: decoder and meta tech.
8112
8113 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8114 (grub_console_setcolorstate): Clear out 0x80 bit.
8115 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8116 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8117 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8118
bf26bcc4
VS
81192010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8122 Set to "auto".
8123
6e3c515d
VS
81242010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8127 mo_file after freeing.
8128
e6d983ba
VS
81292010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8132
74ccb5b5
VS
81332010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8136 flags.
8137
17821956
VS
81382010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8141 usage.
8142
ee74fa48
VS
81432010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8146
8147 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8148 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8149 and terminfo.h when needed.
8150 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8151 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
8152 (terminfo): Enable only on terminfokernel.
8153 (extcmd): Likewise.
8154 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
8155 * include/grub/lib/arg.h: Likewise.
8156 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
8157 incorrect usage of ->.
8158
aa438e68
VS
81592010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
8162 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
8163
57994012
VS
81642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 Fix coreboot compilation.
8167
8168 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8169 Take VBE info into account even if only text is supported.
8170 (fill_vbe_info): Take into account the case when only VGA text
8171 is supported.
8172 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8173 on coreboot, multiboot and qemu.
8174
2a406611
VS
81752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8178 debug messages.
8179 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8180
d33613fc
VS
81812010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8184 parameters.
8185
44a1b432
VS
81862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8189 if they were BSD-style.
8190
edde54e6
VS
81912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * grub-core/boot/i386/pc/lnxboot.S: Replace
8194 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8195 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8196
b65830fa
VS
81972010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 Write embedding zone using Reed-Solomon.
8200
8201 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8202 * grub-core/Makefile.am (rs_decoder.S): New target.
8203 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8204 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8205 (multiboot): Move to RS part.
8206 (post_reed_solomon): New label.
8207 (grub_boot_drive): Move to non-RS part since it's modified in memory
8208 on boot.
8209 Include rs_decoder.S.
8210 * grub-core/lib/reed_solomon.c: New file.
8211 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8212 New definition.
8213 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8214 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8215 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8216 * include/grub/partition.h (grub_partition_map): Change prototype of
8217 embed to allow returning additional sectors.
8218 * include/grub/reed_solomon.h: New file.
8219 * util/grub-setup.c (setup): Handle Reed-Solomon.
8220
0b4b227f
CW
82212010-09-28 Colin Watson <cjwatson@ubuntu.com>
8222
8223 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8224 i386 and x86-64 definedness tests.
8225
f772623b
YB
82262010-09-27 Yves Blusseau <blusseau@zetam.org>
8227
8228 Fix generation of kernel_syms.lst
8229
8230 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8231 ASM_PREFIX
8232
8e57a6ca
RM
82332010-09-26 Robert Millan <rmh@gnu.org>
8234
8235 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8236
8237 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8238 the pool is an array of devices, iterate through it and return the
8239 first device that passes a stat() test (instead of blindly returning
8240 the first one).
8241
f9130836
RM
82422010-09-26 Robert Millan <rmh@gnu.org>
8243
8244 Build fixes for GNU/kFreeBSD.
8245
8246 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8247 to programs that require ZFS conversion.
8248 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8249 kernels that don't have FLOPPY_MAJOR.
8250
96510faf
BC
82512010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8252
8253 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8254
449333eb
BC
82552010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8256
8257 Fix grub-emu build.
8258
8259 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8260 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8261 mdraid09 and mdraid1x.
8262
e1fd1939
CW
82632010-09-24 Colin Watson <cjwatson@ubuntu.com>
8264
8265 Re-enable grub-extras.
8266
8267 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8268 avoid confusing Automake. Run autogen only twice, once for the top
8269 level and once for grub-core. Add Makefile.util.def and
8270 Makefile.core.def from extra modules to the appropriate autogen
8271 invocations. If Makefile.common exists in an extra module, include
8272 it in both Makefile.util.am and grub-core/Makefile.core.am;
8273 similarly, include any Makefile.util.common file in Makefile.util.am
8274 and any Makefile.core.common file in grub-core/Makefile.core.am.
8275 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8276 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8277 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8278 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8279
8280 * gentpl.py (gvar_add): Turn GVARS into a set.
8281 (global_variable_initializers): Sort global variables on output.
8282 (vars_init): New function.
8283 (first_time): Likewise.
8284 (library): Ensure that non-global variable initialisations are
8285 emitted before the first time we emit code for a library block.
8286 Append to variables rather than setting them. Only emit
8287 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8288 each conditional path.
8289 (program): installdir() emits an Autogen macro, so must be passed to
8290 var_add rather than gvar_add.
8291 (data): Likewise.
8292 (script): Likewise.
8293 (rules): New function, centralising handling for different target
8294 types. Set up Guile association lists for first_time and vars_init,
8295 and send most output to a diversion so that variable initialisations
8296 can be emitted first.
8297 (module_rules): Use new rules function.
8298 (kernel_rules): Likewise.
8299 (image_rules): Likewise.
8300 (library_rules): Likewise.
8301 (program_rules): Likewise.
8302 (script_rules): Likewise.
8303 (data_rules): Likewise.
8304
8305 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8306
8307 * .bzrignore: Add contrib and grub-core/contrib. Remove
8308 grub-core/Makefile.gcry.am.
8309
1d12cf29
YB
83102010-09-24 Yves Blusseau <blusseau@zetam.org>
8311
8312 * grub-core/lib/LzFind.c: Add missing include.
8313 * grub-core/lib/LzmaEnc.c: Likewise.
8314 * grub-core/script/lexer.c: Likewise.
8315 * grub-core/script/yylex.l: Likewise.
8316 * util/grub-macho2img.c: Likewise.
8317 * util/grub-menulst2cfg.c: Likewise.
8318 * util/grub-mklayout.c: Likewise.
8319 * util/grub-mkpasswd-pbkdf2.c
8320 * util/grub-mkrelpath.c: Likewise.
8321 * util/resolve.c: Likewise.
8322
dd363028
BC
83232010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8324
8325 * Makefile.util.def (example_unit_test): Add
8326 grub-core/gnulib/libgnu.a.
8327
f5a109e2
GS
83282010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8329
8330 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8331
6d0fa83c
VS
83322010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 Support xz compression on yeeloong.
8335
8336 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8337 * configure.ac: Check for LZMA.
8338 * grub-core/Makefile.core.def (xz_decompress): New target.
8339 (none_decompress): Likewise.
8340 * grub-core/boot/decompressor/minilib.c: New file.
8341 * grub-core/boot/decompressor/none.c: Likewise.
8342 * grub-core/boot/decompressor/xz.c: Likewise.
8343 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8344 * grub-core/kern/mips/cache_flush.S: Likewise.
8345 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8346 * grub-core/kern/mips/startup.S: Move first stage to ...
8347 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8348 nomacro.
8349 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8350 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8351 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8352 Allocate statically.
8353 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8354 Allocate statically or use scratch. Don't check CRC32.
8355 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8356 Allocate statically. Don't check CRC32.
8357 * include/grub/decompressor.h: New file.
8358 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8359 Removed.
8360 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8361 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8362 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8363 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8364 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8365 * util/grub-mkimage.c (grub_compression_t): New type.
8366 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8367 (image_target_desc): New field default_compression.
8368 (image_targets): Adjust yeeloong targets.
8369 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8370 (compress_kernel): New parameter comp.
8371 (generate_image): Likewise. Handle new compression case.
8372 (options): New option --compression
8373 (help): Likewise.
8374 (main): Handle new option.
8375
1b655af6
GS
83762010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8377
8378 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8379
8f03f0b5
CW
83802010-09-22 Colin Watson <cjwatson@ubuntu.com>
8381
8382 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8383 typo in __i386__ conditional.
8384
7835dfd3
VS
83852010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8388 include.
8389
e255597e
VS
83902010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8391
6d0fa83c 8392 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
8393
8394 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8395 new tags as supported.
8396 (acpiv2_size): New function.
8397 (grub_multiboot_get_mbi_size): Take new tags into account.
8398 (grub_multiboot_make_mbi): Add new tags.
8399 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 8400
6cc14051 84012010-09-21 Aleš Nesrsta <starous@volny.cz>
8402
8403 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8404 Added missing configuration of USB device.
8405
df7769d8
CW
84062010-09-21 Colin Watson <cjwatson@ubuntu.com>
8407
8408 * grub-core/normal/menu_entry.c (run): Make sure we always return
8409 a value.
8410
b031012d
CW
84112010-09-21 Colin Watson <cjwatson@ubuntu.com>
8412
8413 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8414 NumberOfPages is UINT64 according to the UEFI specification, not
8415 UINTN. Fix printf format.
8416
174de8f3
CW
84172010-09-21 Colin Watson <cjwatson@ubuntu.com>
8418
8419 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8420 `err' to grub_usb_err_t.
8421 Reported and tested by: KESHAV P.R.
8422
d7dbe923
CW
84232010-09-21 Colin Watson <cjwatson@ubuntu.com>
8424
8425 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8426 tpart non-const, so that we can assign to it. (Since this is a
8427 typedef, the constness refers to the pointer rather than what it
8428 points to.)
8429
8d5e2af3
CW
84302010-09-21 Colin Watson <cjwatson@ubuntu.com>
8431
8432 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8433 $(top_srcdir)/grub-core/gnulib as well as
8434 $(top_builddir)/grub-core/gnulib.
8435 Reported by: KESHAV P.R.
8436
5c527783
CW
84372010-09-21 Colin Watson <cjwatson@ubuntu.com>
8438
8439 * util/grub-install.in: Fix the bootloader ID option to be
8440 consistently --bootloader-id, not --bootloader_id.
8441 Reported by: KESHAV P.R.
8442
d309a16e
CW
84432010-09-21 Colin Watson <cjwatson@ubuntu.com>
8444
8445 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8446 check hash checksum." consistently translatable.
8447
b830cd16
YB
84482010-09-21 Yves Blusseau <blusseau@zetam.org>
8449
8450 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8451 $(top_builddir).
8452
c4fe27a8
CW
84532010-09-21 Colin Watson <cjwatson@ubuntu.com>
8454
8455 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8456 (GRUB_MOD_INIT): Register sha1sum command.
8457 (GRUB_MOD_FINI): Unregister sha1sum command.
8458
a4c1d277
YB
84592010-09-21 Yves Blusseau <blusseau@zetam.org>
8460
8461 Keep boot and grub directory names in sync with utils scripts
8462
8463 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8464 * config.h.in: Add previous macros.
8465 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8466 * util/grub-install.in: Use $bootdir and $grubdir variables.
8467
4eff79d2
CW
84682010-09-21 Colin Watson <cjwatson@ubuntu.com>
8469
8470 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8471 convert partition names to disk names if the new `convert' parameter
8472 is set.
8473 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8474 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8475 disk in its own right. This can happen with Xen disk images.
8476
934d7e44
YB
84772010-09-21 Yves Blusseau <blusseau@zetam.org>
8478
8479 * util/grub-editenv.c: Update strings to avoid warnings when generating
8480 grub.pot file.
8481 * util/grub-setup.c: Likewise.
934d7e44 8482
df3367cc
VS
84832010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 * configure.ac: Change version to 1.99~beta0.
8486
77a94e98
VS
84872010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8490 Add BADRAM.
8491 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8492 Likewise.
8493 * include/multiboot.h: Resynced with specification.
8494 * include/multiboot2.h: Likewise.
8495
269004c1
CW
84962010-09-21 Colin Watson <cjwatson@ubuntu.com>
8497
8498 Fix po directory handling.
8499
8500 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8501 * grub-core/gnulib/Makefile.am: Import gettext module.
8502 * m4/gnulib-cache.m4: Likewise.
8503 * m4/gnulib-comp.m4: Likewise.
8504 * m4/gettext.m4: New file, from gnulib.
8505 * m4/glibc2.m4: Likewise.
8506 * m4/iconv.m4: Likewise.
8507 * m4/intdiv0.m4: Likewise.
8508 * m4/intl.m4: Likewise.
8509 * m4/intldir.m4: Likewise.
8510 * m4/intlmacosx.m4: Likewise.
8511 * m4/intmax.m4: Likewise.
8512 * m4/inttypes-pri.m4: Likewise.
8513 * m4/lcmessage.m4: Likewise.
8514 * m4/lib-ld.m4: Likewise.
8515 * m4/lib-link.m4: Likewise.
8516 * m4/lib-prefix.m4: Likewise.
8517 * m4/lock.m4: Likewise.
8518 * m4/nls.m4: Likewise.
8519 * m4/po.m4: Likewise.
8520 * m4/printf-posix.m4: Likewise.
8521 * m4/progtest.m4: Likewise.
8522 * m4/threadlib.m4: Likewise.
8523 * m4/uintmax_t.m4: Likewise.
8524 * m4/visibility.m4: Likewise.
8525 * po/Makefile.am: Remove.
8526 * po/Makefile.in.in: New file, from gettext.
8527 ($(DOMAIN).pot-update): Support POTFILES-shell.
8528 * po/Makevars: New file.
8529 * po/POTFILES-shell: Rename to ...
8530 * po/POTFILES-shell.in: ... this. Update.
8531 * po/POTFILES: Rename to ...
8532 * po/POTFILES.in: ... this. Update.
8533 * po/Rules-quot: New file, from gettext.
8534 * po/boldquot.sed: Likewise.
8535 * po/en@boldquot.header: Likewise.
8536 * po/en@quot.header: Likewise.
8537 * po/insert-header.sin: Likewise.
8538 * po/quot.sed: Likewise.
8539 * po/remove-potcdate.sin: Likewise.
8540
3e0fa5d0
VS
85412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8544
ade9bd66
VS
85452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * util/grub.d/20_linux_xen.in: Use submenus.
8548
fc55cc4c
VS
85492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 Support submenus.
8552
8553 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8554 parameter submenu. All users updated.
8555 * grub-core/normal/main.c (free_menu): Rename to ...
8556 (grub_normal_free_menu): ... this. Made global.
8557 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8558 if requested.
8559 * grub-core/normal/menu_entry.c (screen): New field submenu.
8560 (make_screen): Set submenu.
8561 (run): Open new context if requested.
8562 * include/grub/menu.h (grub_menu_entry): New field submenu.
8563 * include/grub/normal.h (grub_normal_free_menu): New proto.
8564
600cedf7
VS
85652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 Menu entries extractor.
8568
8569 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8570 variants.
8571 (GRUB_MOD_INIT): Register new variants.
8572 (GRUB_MOD_FINI): Unregister new variants.
8573 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8574 into grub_cmd_legacy_source.
8575 (grub_cmd_legacy_source): Implement extractor variants.
8576 (GRUB_MOD_INIT): Register new variants.
8577 (GRUB_MOD_FINI): Unregister new variants.
8578 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8579 as an extractor.
8580 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8581 search as an extractor.
8582 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8583 test as an extractor.
8584 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8585 as an extractor.
8586 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8587 (grub_env_new_context): New function.
8588 (grub_env_context_open): Likewise.
8589 (grub_env_extractor_open): Likewise.
8590 (grub_env_extractor_close): Likewise.
8591 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8592 grub_extractor_level.
8593 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8594 * include/grub/env.h (grub_env_extractor_open): New proto.
8595 (grub_env_extractor_close): Likewise.
8596 * include/grub/normal.h (grub_extractor_level): New external variable.
8597
7bda3a87
VS
85982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 Make cutmem accept a region specification.
8601 Suggested by: Samuel Thibault
8602
8603 * grub-core/mmap/mmap.c (parsemem): New function.
8604 (grub_cmd_cutmem): Handle new arguments.
8605
2ea57f88
VS
86062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 New command cutmem.
8609
8610 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8611 (GRUB_MOD_INIT): Register new command.
8612 (GRUB_MOD_FINI): Unregister new command.
8613
74342e31
VS
86142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 Support some annoying BSD and Minix subpartitions.
8617
8618 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8619 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8620 Properly handle concatenation.
8621 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8622 * grub-core/normal/completion.c (iterate_partition): Likewise.
8623 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8624 contain partition. All users updated.
8625 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8626 struct.
8627 (grub_openbsdlabel_partition_map): Likewise.
8628 (bsdlabel_partition_map_iterate): Rename to ..
8629 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8630 (bsdlabel_partition_map_iterate): New function.
8631 (netopenbsdlabel_partition_map_iterate): Likewise.
8632 (netbsdlabel_partition_map_iterate): Likewise.
8633 (openbsdlabel_partition_map_iterate): Likewise.
8634 (GRUB_MOD_INIT): Register new partmaps.
8635 (GRUB_MOD_FINI): Unregister new partmaps.
8636 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8637 (grub_partition_msdos_iterate): ... this. All users updated.
8638 Don't support embedding other than in a minix partition.
8639 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8640 proto.
8641 * include/grub/partition.h (grub_partition): New field msdostype.
8642 * util/grub-install.in: Handle openbsd and netbsd types being in
8643 part_bsd module.
8644
1e8d555b
VS
86452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8648
8649 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8650 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8651 (mdraid09): ... this.
8652 (mdraid1x): New module.
8653 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8654 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8655
899d8af4
VS
86562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8659 vsprintf.
8660
40901acd
CW
86612010-09-20 Colin Watson <cjwatson@ubuntu.com>
8662
8663 * grub-core/commands/efi/lsefimmap.c: Correct header.
8664 * NEWS: Update.
8665
dfe3b247
CW
86662010-09-20 Colin Watson <cjwatson@ubuntu.com>
8667
8668 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8669 as printf format strings; the translations might contain '%' which
8670 could cause a crash.
8671 (main): Likewise.
8672 * util/grub-fstest.c (argp_parser): Likewise.
8673 * util/grub-setup.c (argp_parser): Likewise.
8674 (main): Likewise.
8675
3286a4b4
VS
86762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 Use argp in grub-fstest.
8679
8680 * util/grub-fstest.c: Don't include getopt.h.
8681 Include argp.h.
8682 (root): New variable.
8683 (args_count): Likewise.
8684 (nparm): Likewise.
8685 (num_disks): Likewise.
8686 (images): Likewise.
8687 (cmd): Likewise.
8688 (debug_str): Likewise.
8689 (args): Likewise.
8690 (options): Transformed to argp.
8691 (usage): Removed.
8692 (main): Split argument parsing into ...
8693 (argp_parser): ... this. Changed to argp format.
8694 (argp): New variable.
8695 (main): Use argp_parse.
8696
3dccbe4b
TG
86972010-09-20 Tristan Gingold <gingold@free.fr>
86982010-09-20 Robert Millan <rmh.grub@aybabtu.com>
86992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * grub-core/commands/efi/lsefimmap.c: New file.
8702 * grub-core/Makefile.core.def (lsefimmap): New module.
8703 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8704
38c259a7
VS
87052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 Pause the execution (10s max) if any errors are displayed so the user
8708 has a chance to see them.
8709
8710 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8711 (grub_print_error): Increment grub_err_printed_errors.
8712 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8713 execution if any errors were displayed.
8714 (show_menu): Remove old code for pause.
8715 * grub-core/normal/menu_entry.c (run): Likewise.
8716 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8717 users updated.
8718 (grub_normal_get_char_counter): Likewise.
8719 * include/grub/err.h (grub_err_printed_errors): New external variable.
8720 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8721
f218b09c
VS
87222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 Support multiboot VBE info.
8725
8726 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8727 Take VBE info into account.
8728 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8729 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8730 Call fill_vbe_info when appropriate.
8731 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8732 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8733 as supported.
8734 (grub_multiboot_get_mbi_size): Take new tags into account.
8735 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8736 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8737 Call fill_vbe_tag when appropriate.
8738 (grub_multiboot_make_mbi): Properly align tags.
8739 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8740 function.
8741 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8742 proto.
8743 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8744
a9cc5438
VS
87452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 Suport manual terminal geometry specification.
8748
8749 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8750 Save state in grub_ofconsole_terminfo_output.
8751 (grub_ofconsole_term): Use grub_terminfo_getwh.
8752 (grub_ofconsole_getwh): Removed.
8753 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8754 (grub_serial_term): Use grub_terminfo_getwh.
8755 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8756 (options): New struct.
8757 (OPTION_*): New enum.
8758 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8759 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8760 width and height.
8761 (grub_terminfo_getwh): New proto.
8762 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8763
1a8fed20
VS
87642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 Handle legacy "terminal" command.
8767
8768 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8769 and FLAG_TERMINAL.
8770 (legacy_commands): Add terminal and title.
8771 (grub_legacy_parse): Handle terminal. Simplify title handling.
8772
41e9c57d
VS
87732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8776 parameters overflow.
8777
61c874c5
CW
87782010-09-20 Colin Watson <cjwatson@ubuntu.com>
8779
8780 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8781 widthspec.h.
8782
8783 * docs/grub.texi (Shell-like scripting): Document `!'.
8784 (Network): Simplify using new i386-pc-pxe format. Mention
8785 grub-mknetdir.
8786
8787 * NEWS: Update.
8788
943682b4
CW
87892010-09-20 Colin Watson <cjwatson@ubuntu.com>
8790
8791 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8792 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8793 when needed.
8794
6d3d698d
CW
87952010-09-20 Colin Watson <cjwatson@ubuntu.com>
8796
8797 * grub-core/commands/efi/lsefisystab.c: Correct header.
8798 * grub-core/commands/efi/lssal.c: Likewise.
8799 * grub-core/commands/testload.c: Likewise.
8800
c982589f
CW
88012010-09-20 Colin Watson <cjwatson@ubuntu.com>
8802
8803 * util/grub-mkrescue.in: Add explicit root argument to --set to
8804 prevent the UUID being interpreted as an argument to --set (matches
8805 previous change to prepare_grub_to_access_device).
8806
a63c31b6
CW
88072010-09-20 Colin Watson <cjwatson@ubuntu.com>
8808
8809 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8810 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8811 the verbosity of later #ifs.
8812 (find_partition_start): Define this function on FreeBSD too.
8813 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8814 function.
8815 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8816 on FreeBSD.
8817
6439b8ee
YB
88182010-09-20 Yves Blusseau <blusseau@zetam.org>
8819
8820 * util/grub-editenv.c: Use argp instead of getopt.
8821
c5930ec8
YB
88222010-09-20 Yves Blusseau <blusseau@zetam.org>
8823
8824 * util/grub-setup.c: Use argp instead of getopt.
8825
15c69261
YB
88262010-09-20 Yves Blusseau <blusseau@zetam.org>
8827
8828 Use gnulib-tool to create gnulib source files.
8829
8830 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8831 grub-core/gnulib directories
8832 * .bzignore: Add **/.deps and autogenerated gnulib files
8833 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8834 of gnulib macros, add grub-core/gnulib/Makefile
8835 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8836 include m4 directory to aclocal.
8837 * Makefile.util.def: Remove direct compilation of gnulib source files
8838 and use the new grub-core/gnulib/libgnu.a.
8839 * build-aux/config.rpath: move config.rpath from top directory to
8840 build-aux
8841 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8842 in gnulib headers
8843 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8844 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8845 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8846 header.
8847 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8848 string.
8849
e511c9f5
YB
88502010-09-20 Yves Blusseau <blusseau@zetam.org>
8851
8852 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8853 grub-core/genmod.sh and grub-core/gensyminfo.sh
8854
c2dede05
BC
88552010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8856
8857 Add a test for echo command options.
8858
8859 * tests/grub_cmd_echo.in: New test.
8860 * Makefile.util.def: Rules for new test.
8861
c55f5018
SJ
88622010-09-20 Szymon Janc <szymon@janc.net.pl>
8863
8864 Remove crc.mod and move crc command to hashsum.mod.
8865 Remove lib/crc.c - users updated to use gcrypt implementation.
8866
8867 * grub-core/commands/crc.c: Removed.
8868 * grub-core/Makefile.core.def (crc): Module removed.
8869 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8870 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8871 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8872 * grub-core/lib/crc.c: Removed.
8873 * include/grub/lib/crc.h: Removed.
8874 * Makefile.util.def (crc): Remove lib/crc.c
8875 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8876 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8877 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8878 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8879 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8880 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8881
e0337366
VS
88822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8885
742f9232
VS
88862010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 Split config.h for util and core.
8889
8890 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8891 (ADDR32): Likewise.
8892 (DATA32): Likewise.
8893 (BSS_START_SYMBOL): Likewise.
8894 (END_SYMBOL): Likewise.
8895 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8896 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8897 * config.h.in: New file.
8898 * configure.ac: Use config-util.h as config define file.
8899 Rename MACHINE into GRUB_MACHINE. All users updated.
8900 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8901 updated.
8902 (NESTED_FUNC_ATTR): Likewise.
8903 Substitue new variables.
8904 (COND_HAVE_ASM_USCORE): New conditional.
8905 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8906 (kernel_syms.lst): Use ASM_PREFIX.
8907 * grub-core/kern/emu/console.c: Include config-util.h.
8908 * grub-core/kern/emu/misc.c: Likewise.
8909 * grub-core/kern/emu/mm.c: Likewise.
8910 * include/grub/emu/misc.h: Likewise.
8911 * include/grub/libgcc.h: Likewise.
8912
39feb0e8
VS
89132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8916 constants usage.
8917 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8918 Fix GRUB_TERM_KEY_* constants usage.
8919 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8920
9af6dac3
VS
89212010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8924 print pointer.
8925 * grub-core/bus/usb/uhci.c: Remove empty define.
8926 (grub_uhci_check_transfer): Add missing cast.
8927 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8928 print pointer.
8929 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8930 PRIuGRUB_SIZE.
8931 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8932
d6d94820
VS
89332010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 * grub-core/Makefile.core.def (legacycfg): Add
8936 lib/i386/pc/vesa_modes_table.c on emu.
8937
3572f2b6
BC
89382010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8939
8940 Reduce number of temporary files generated by build system.
8941
8942 * grub-core/gencmdlist.sh: Removed.
8943 * grub-core/genfslist.sh: Removed.
8944 * grub-core/genhandlerlist.sh: Removed.
8945 * grub-core/genmodsrc.sh: Removed.
8946 * grub-core/genpartmaplist.sh: Removed.
8947 * grub-core/genparttoollist.sh: Removed.
8948 * grub-core/gentermiinallist.sh: Removed.
8949 * grub-core/genvideolist.sh: Removed.
8950
8951 * grub-core/genmod.sh.in: New file.
8952 * grub-core/gensyminfo.sh.in: New file.
8953
8954 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8955 * conf/Makefile.extra-dist: Update with new files.
8956 * gentpl.py: Remove rules related to unnecessary temporary files.
8957 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8958 and und-* files.
8959 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8960 genmod.sh scripts.
8961 * grub-core/bus/usb/uhci.c: Remove empty #define.
8962 * grub-core/genmoddep.awk: Updated with new syminfo format.
8963 * util/bash-completion.d/Makefile.am: Add config.log to
8964 CLEANFILES.
8965
c836b030
YB
89662010-09-19 Yves Blusseau <blusseau@zetam.org>
8967
8968 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8969
2f4e8053
BC
89702010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8971
8972 * util/grub-mkconfig.in: Check the config script for syntax errors
8973 before saving.
8974
75831c34
CW
89752010-09-19 Colin Watson <cjwatson@ubuntu.com>
89762010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8979 platforms.
8980 * util/grub-install.in: Add EFI and IEEE1275 support.
8981 * util/i386/efi/grub-install.in: Removed.
8982 * util/ieee1275/grub-install.in: Likewise.
8983
eaf41b25
VS
89842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8987 (grub_cmd_cmosclean): Likewise.
8988 (GRUB_MOD_INIT): Register command cmosclean.
8989 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8990 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8991
1a9130dd
CPE
89922010-09-18 Carles Pina i Estany <carles@pina.cat>
89932010-09-18 Aleš Nesrsta <starous@volny.cz>
89942010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 Add keyboard layouts support.
8997
8998 * Makefile.util.def (grub-mklayout): New file.
8999 (grub-kbdcomp): New script.
9000 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
9001 Add keyboard_layouts.h.
9002 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
9003 commands/boot.c on yeeloong.
9004 (keylayouts): New module.
9005 * grub-core/bus/usb/ohci.c
9006 * grub-core/bus/usb/uhci.c
9007 * grub-core/bus/usb/usbhub.c (rescan): New variable.
9008 (grub_usb_add_hub): Poll interrupt pipe for device handling.
9009 (attach_root_port): Likewise.
9010 (poll_nonroot_hub): Likewise.
9011 (grub_usb_poll_devices): Likewise.
9012 (detach_device): Close transfer.
9013 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
9014 function.
9015 (grub_usb_bulk_setup_readwrite): Likewise.
9016 (grub_usb_bulk_finish_readwrite): Likewise.
9017 * grub-core/commands/keylayouts.c: New file.
9018 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
9019 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
9020 aliases.
9021 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
9022 support scancode 2.
9023 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
9024 * include/grub/keyboard_layouts.h: New file.
9025 * util/grub-mklayout.c: New file.
9026 * util/grub-kbdcomp.in: Likewise.
9027
a1d84a5e
VS
90282010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 Unify memory types.
9031
9032 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
9033 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
9034 types.
9035 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
9036 (grub_upper_mem): Likewise.
9037 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
9038 * include/grub/memory.h (grub_memory_type_t): New enum.
9039 All users updated.
9040
9696382e
VS
90412010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * grub-core/Makefile.core.def (lsapm): New module.
9044 * grub-core/commands/i386/pc/lsapm.c: New file.
9045 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
9046 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
9047 Likewise.
9048 * include/grub/i386/pc/apm.h: New file.
9049 * include/multiboot.h (multiboot_apm_info): New struct.
9050
90512010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 GRUB-legacy configuration file support.
9054
9055 * Makefile.util.def (grub-menulst2cfg): New util.
9056 * docs/man/grub-menulst2cfg.h2m: New file.
9057 * grub-core/Makefile.core.def (legacycfg): New module.
9058 * grub-core/commands/legacycfg.c: New file.
9059 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9060 (grub_normal_add_menu_entry): ... this.
9061 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9062 (grub_normal_set_password): ...this.
9063 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9064 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9065 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9066 * grub-core/lib/legacy_parse.c: New file.
9067 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9068 * include/grub/i386/pc/vesa_modes_table.h: New file.
9069 * include/grub/legacy_parse.h: Likewise.
9070 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9071 * util/grub-menulst2cfg.c: New file.
9072
bf8d1338
CW
90732010-09-17 Colin Watson <cjwatson@ubuntu.com>
9074
9075 * grub-core/kern/emu/hostdisk.c
9076 (convert_system_partition_to_system_disk): Initialise node.
9077
9c0bad2e
CW
90782010-09-17 Colin Watson <cjwatson@ubuntu.com>
9079
9080 * grub-core/kern/emu/hostdisk.c
9081 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9082 leak.
9083 Reported and based on patch by: Modestas Vainius.
9084
a939d135
CW
90852010-09-17 Colin Watson <cjwatson@ubuntu.com>
9086
9087 Fix DM-RAID probing with recent versions of device-mapper udev
9088 rules.
9089
9090 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9091 canonicalise device paths under /dev/mapper/.
9092 (convert_system_partition_to_system_disk): Compare the
9093 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9094 path, since device nodes under /dev/mapper/ are often symlinks.
9095
0f7ee3c9
YB
90962010-09-17 Yves Blusseau <blusseau@zetam.org>
9097
9098 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9099
10854d0d
YB
91002010-09-16 Yves Blusseau <blusseau@zetam.org>
9101
9102 * configure.ac: Avoid some annoying error messages if freetype-config
9103 program is not found.
9104
108538d8
CW
91052010-09-16 Colin Watson <cjwatson@ubuntu.com>
9106
9107 Support RAID on virtio devices, and others.
9108
9109 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9110 Rename to ...
9111 [__MINGW32__] (grub_find_device): ... this.
9112 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9113 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9114 reasonable default if dir is NULL.
9115 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9116 ...
9117 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9118 (grub_guess_root_device): Update callers.
9119 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9120
9121 * util/raid.c (grub_util_getdiskname): Remove.
9122 (grub_util_raid_getmembers): Use grub_find_device rather than
9123 grub_util_getdiskname.
9124
e5bfc130
CW
91252010-09-16 Colin Watson <cjwatson@ubuntu.com>
9126
9127 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9128 needing to be compiled with serial support.
9129 (ls): Indicate that multiple files are accepted.
9130 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9131 indicate that multiple files are accepted.
9132
be458ae2
CW
91332010-09-16 Colin Watson <cjwatson@ubuntu.com>
9134
9135 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9136 libgrub_a_init.c, and util/bash-completion.d/grub.
9137
cb731b5e
VS
91382010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * util/grub-setup.c (setup): Fix incorrect container semantics.
9141
35139e8a
VS
91422010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9145 misusage.
9146 Reported by: J. Nick Terry
9147
e50fca4a
VS
91482010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 Move embedding routines to partmap sources files.
9151
9152 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
9153 [GRUB_UTIL]: New variable.
9154 (gpt_partition_map_iterate): Set part.parent.
9155 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
9156 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
9157 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
9158 New function.
9159 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
9160 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
9161 (grub_partition_map) [GRUB_UTIL]: New field embed.
9162 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
9163 (setup): Use ->embed.
9164
f00478b7
VS
91652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
9168 function.
9169 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9170 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9171
2b94e3ff
YB
91722010-09-15 Yves Blusseau <blusseau@zetam.org>
9173
9174 Add function to get completions from usage.
9175
9176 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9177 completions from usage. Use LC_ALL=C to get options properly.
9178
2e04a006
VS
91792010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9180
9181 * grub-core/gnulib/basename-lgpl.c: Imported.
9182 * grub-core/gnulib/basename.c: Likewise.
9183 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9184 * grub-core/gnulib/dirname.c: Likewise.
9185 * grub-core/gnulib/dirname.h: Likewise.
9186 * grub-core/gnulib/stripslash.c: Likewise.
9187
5dcdf93a
VS
91882010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/gnulib/error.c: Resynced.
9191 * grub-core/gnulib/getopt.c: Likewise.
9192 * grub-core/gnulib/getopt_int.h: Likewise.
9193 * grub-core/gnulib/regex.h: Likewise.
9194 * grub-core/gnulib/regex_internal.c: Likewise.
9195 * grub-core/gnulib/regex_internal.h: Likewise.
9196
014f47b7
SJ
91972010-09-15 Szymon Janc <szymon@janc.net.pl>
9198
9199 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9200 CRC calculations and validity checks.
9201 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9202 calculations.
9203
dd521a4a
SJ
92042010-09-15 Szymon Janc <szymon@janc.net.pl>
9205
9206 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9207
79c4eeb9
VS
92082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 Fix incorrect echo options handling.
9211 Reported by: Yves Blusseau.
9212
9213 * include/grub/command.h (grub_command_flags_t): New flags
9214 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9215 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9216 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9217
ed80f7d5
VS
92182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9221 users updated.
9222 (GRUB_COMMAND_FLAG_MENU): Likewise.
9223 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9224 (GRUB_COMMAND_FLAG_TITLE): Removed.
9225 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9226 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9227 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9228 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9229 (grub_command_flags_t): New enum. All users updated.
9230
5fe7620a
SG
92312010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9232
9233 Fix solaris compilation.
9234
9235 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9236 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9237 (grub-emu-list): Likewise.
9238
545b752f
VS
92392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 Remove deprecated root command.
9242
9243 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9244 updated.
9245
6c1a338c
VS
92462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * util/i386/pc/grub-setup.c: Merge this ...
9249 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9250 * util/grub-setup.c: ... into this.
9251 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9252 New struct.
9253
92542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9257 possible.
9258
d2ea4551
VS
92592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9262 allocate p.
9263
3c3b5040
VS
92642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9267 explicit root argument to set to prevent UUID to be interpreted as
9268 argument to set.
9269
b71c3fae
VS
92702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9273
275433e6
VS
92742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 Don't export grub_gate_a20.
9277
9278 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9279 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9280 to ...
9281 (grub_gate_a20): ... this. All users updated.
9282 * include/grub/i386/pc/init.h: Removed. All users updated.
9283
a5dbb1f1
VS
92842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 Create euro.pf2 which supports most European languages.
9287
9288 * Makefile.am (grubdata_DATA): Add euro.pf2.
9289 (euro.pf2): New target.
9290 (CLEANFILES): Add euro.pf2.
9291
62a747cb
VS
92922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * configure.ac: Disable emu-usb by default to prevent inadvertent
9295 device takeover.
9296
608e43b1
VS
92972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 Disable usbserial on grub-emu since our libusb code isn't good enough
9300 yet.
9301
9302 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9303 (usbserial_pl2303): Likewise.
9304 (usbserial_ftdi): Likewise.
9305
94564f81
VS
93062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * include/grub/disk.h (grub_disk): Remove has_partitions.
9309 All users updated.
9310 * disk/loopback.c (grub_loopback): Remove has_partitions.
9311 All users updated.
9312 (options): Remove partitions. All users updated.
9313 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9314 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9315 actual partition table is found.
9316
3352800b
VS
93172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 Remove readability checks (too many false negatives).
9320
9321 * util/grub-install.in: Remove readability checks.
9322 * util/grub-mkconfig.in: Likewise.
9323 * util/grub.d/10_hurd.in: Likewise.
9324 * util/grub.d/10_kfreebsd.in: Likewise.
9325 * util/grub.d/10_linux.in: Likewise.
9326 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9327 way.
9328
2419f17a
VS
93292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 Enable acpi shutdown on all ACPI platforms.
9332
9333 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9334 on coreboo, multiboot and EFI.
9335 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9336 (grub_acpi_halt): Likewise.
9337 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9338 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9339 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9340 * grub-core/lib/i386/halt.c (grub_halt)
9341 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9342
0575c7c3
VS
93432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9346 context.
9347
54ac3cd1
VS
93482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9351 * grub-core/video/efi_uga.c: Likewise.
9352
b2a30ac5
VS
93532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 Filter devaliases and never open same device twice.
9356
9357 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9358 (last_ihandle): Likewise.
9359 (ofdisk_hash_ent): New member shortest.
9360 (ofdisk_hash_add): Add canonical path too.
9361 (scan): New function.
9362 (grub_ofdisk_iterate): Iterate over hashed entries.
9363 (compute_dev_path): Don't add :0.
9364 (grub_ofdisk_open): Don't really open the disk.
9365 (grub_ofdisk_close): Avoid closing unrelated disk.
9366 (grub_ofdisk_read): Implement reopen logic.
9367 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9368 New function.
9369 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9370 New proto.
9371
fb53b340
VS
93722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 Fix sparc64.
9375
9376 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9377 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9378 right address. Add sparc64_ieee1275_ldflags.
9379 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9380 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9381 to grub_host_to_target_addr
9382 (load_image): Likewise.
9383
f452b040
VS
93842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/normal/completion.c (complete_file): Handle device
9387 containing slash.
9388 Fix based on patch by Doug Nazar.
9389
9b5b2541
VS
93902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 grub-mknetdir script.
9393
9394 * Makefile.util.def (grub-mknetdir): New module.
9395 * tests/util/grub-shell.in: Support boot=net
9396 * util/grub-mknetdir.in: New file.
9397
9d2be652
VS
93982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 videoinfo on non-vbe.
9401
9402 * grub-core/Makefile.core.def (vbeinfo): Removed.
9403 (vbetest): Removed.
9404 (videoinfo): New module.
9405 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9406 * grub-core/commands/i386/pc/vbetest.c: Removed.
9407 * grub-core/commands/videoinfo.c: New file.
9408 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9409 specification.
9410 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9411 as vbetest.
9412 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9413 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9414 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9415 mode_number. New parameter mode. All users updated.
9416 (grub_video_gop_iterate): New function.
9417 (grub_video_efi_gop): New member iterate.
9418 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9419 (grub_vbe_set_video_mode): Remove setting useless fields.
9420 (vbe2videoinfo): New function.
9421 (grub_video_vbe_iterate): Likewise.
9422 (grub_video_vbe_setup): Use vbe2videoinfo.
9423 (grub_video_vbe_print_adapter_specific_info): New function.
9424 (grub_video_vbe_adapter): New fields iterate and
9425 print_adapter_specific_info.
9426 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9427 All users updated.
9428 (grub_video_mode_info): New field mode_number.
9429 (grub_video_adapter): New fields iterate and
9430 print_adapter_specific_info.
9431
179503f5
TG
94322010-09-13 Tristan Gingold <gingold@free.fr>
94332010-09-13 Robert Millan <rmh.grub@aybabtu.com>
94342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 * grub-core/commands/efi/lsefisystab.c: New file.
9437 * grub-core/commands/efi/lssal.c: Likewise.
9438 * grub-core/Makefile.core.def (lsacpi): New module.
9439 (lsefisystab): Likewise.
9440 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9441 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9442 (grub_efi_sal_system_table): New struct.
9443 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9444 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9445 (grub_efi_sal_system_table_platform_features): Likewise.
9446 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9447 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9448 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9449 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9450
cf9827de
VS
94512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 Support explicit user claim that a device is BIOS-visible.
9454
9455 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9456 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9457 * grub-core/kern/emu/hostdisk.c
9458 (convert_system_partition_to_system_disk): Support mdX.
9459 (find_system_device): New parameter add. All users updated.
9460 (grub_util_biosdisk_is_present): New function.
9461 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9462 proto.
9463
53f0eb1f
VS
94642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 Search hints support.
9467
9468 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9469 All users updated.
9470
b23ffd70
YB
94712010-09-13 Yves Blusseau <blusseau@zetam.org>
9472
9473 Bash completion script for util commands
9474
9475 * Makefile.am: Add util/bash-completion.d directory
9476 * configure.ac: Likewise.
9477 * util/bash-completion.d/Makefile.am: New file.
9478 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9479
d547dc28
VS
94802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9483 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9484 Reported by: Yves Blusseau.
9485
2fc8ccb9
VS
94862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9489 partition size and offset.
9490
d8a84076
VS
94912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9494
84fb3b3d
VS
94952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9496
9497 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9498
768ec2e2
VS
94992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9502 (grub_xvasprintf): Likewise.
9503
4870900f
VS
95042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9507
faca6bec
VS
95082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9511 args ending with NULL.
9512
95132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
9514
9515 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9516 pointer.
9517
3c70f225
SJ
95182010-09-11 Szymon Janc <szymon@janc.net.pl>
9519
9520 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9521
4df7996d
VS
95222010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 Shutdown using ACPI.
9525
9526 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9527 * grub-core/commands/acpihalt.c: New file.
9528 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9529 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9530 (grub_acpi_halt): New proto.
9531 (GRUB_ACPI_SLP_EN): New const.
9532 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9533 (GRUB_ACPI_OPCODE_*): New enum.
9534 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9535
126b4c32
TG
95362010-09-11 Tristan Gingold <gingold@free.fr>
95372010-09-11 Robert Millan <rmh.grub@aybabtu.com>
95382010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * commands/lsacpi.c: New file.
9541 * grub-core/Makefile.core.def (lsacpi): New module.
9542 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9543 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9544 (grub_acpi_madt_entry_header): New struct.
9545 (grub_acpi_madt): Likewise.
9546 (grub_acpi_madt_entry_interrupt_override): Likewise.
9547 (grub_acpi_madt_entry_sapic): Likewise.
9548 (grub_acpi_madt_entry_lsapic): Likewise.
9549 (grub_acpi_madt_entry_platform_int_source): Likewise.
9550 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9551 (PRIuGRUB_UINT32_T): Likewise.
9552 (PRIxGRUB_UINT64_T): Likewise.
9553
1aa4fe88
VS
95542010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 Implement loading palette on ieee1275_fb.
9557
9558 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9559 (have_setcolors): Likewise.
9560 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9561 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9562 (grub_video_ieee1275_set_palette): Implement.
9563
25761e13
VS
95642010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
95652010-09-11 Colin Watson <cjwatson@ubuntu.com>
9566
9567 * util/grub-install.in (grub_partition): New variable.
9568 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9569 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9570 Fixes a bug reported by Yves Blusseau.
9571
050abaea
VS
95722010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 Fix emu on mipsel.
9575
9576 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9577 =grub_cpu_flush_cache on all mips and not only yeeloong.
9578 * configure.ac (COND_mips): New conditional.
9579 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9580 platforms.
9581 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9582 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9583 [GRUB_LINKER_HAVE_INIT]: New function.
9584 (grub_emu_post_init): Likewise.
9585 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9586 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9587 * include/grub/cache.h (_mips): Include mips/cache.h.
9588 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9589 LVM and RAID prototypes.
9590 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9591 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9592 function.
9593
5ed7d816
CW
95942010-09-10 Colin Watson <cjwatson@ubuntu.com>
9595
9596 * util/grub-install.in: Don't try to verify core.img until after
9597 running grub-mkimage to create it.
9598
90367e04
RM
95992010-09-10 Robert Millan <rmh@gnu.org>
9600
9601 * util/grub.d/10_hurd.in: Add misc readability checks.
9602 * util/grub.d/10_kfreebsd.in: Likewise.
9603 * util/grub.d/10_linux.in: Likewise.
9604
c452fa66
CW
96052010-09-10 Colin Watson <cjwatson@ubuntu.com>
9606
9607 * util/grub-install.in: ${imgext} won't be defined here until the
9608 install branch is merged. For the meantime, only verify core.img on
9609 i386-pc and sparc64-ieee1275 platforms.
9610
c38fe9f4
RM
96112010-09-10 Robert Millan <rmh@gnu.org>
9612
9613 Solaris support in grub_find_zpool_from_dir(). Thanks
9614 Seth Goldberg for referring to getextmntent() facility.
9615
9616 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9617 `sys/mkdev.h'.
9618 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9619 `<sys/mnttab.h>'.
9620 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9621 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9622 method for finding zpool name.
9623
905f7773
CW
96242010-09-10 Colin Watson <cjwatson@ubuntu.com>
9625
9626 grub-fstest needs the host and hostfs modules while other utilities
9627 actively require those modules to be absent, so grub-fstest needs
9628 its own initialisation and finalisation code.
9629
9630 * Makefile.am (grub_fstest.pp): New target.
9631 (grub_fstest_init.lst): Likewise.
9632 (grub_fstest_init.c): Likewise.
9633 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9634
fb90b546
RM
96352010-09-10 Robert Millan <rmh@gnu.org>
9636
9637 * configure.ac: Check for `struct statfs.f_fstypename' and
9638 `struct statfs.f_mntfromname'.
9639
9640 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9641 kFreeBSD-specific code.
9642
66d4bea5
RM
96432010-09-10 Robert Millan <rmh@gnu.org>
9644
9645 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9646 on ZFS. Now non-main filesystems are supported as / too.
9647
b6a690ee
CW
96482010-09-09 Colin Watson <cjwatson@ubuntu.com>
9649
9650 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9651 and grub-core/disk/host.c to ...
9652 (grub-fstest): ... here. Having the host disk implementation
9653 present confuses grub-probe and other utility programs.
9654
9655 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9656 when writing to a file, not when writing to stdout.
9657
8901b00c 96582010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9659
9660 * tests/partmap_test.in: New test for partitions.
9661 * Makefile.util.def: Rules for new test.
9662
7bf45fdd
RM
96632010-09-09 Robert Millan <rmh@gnu.org>
9664
9665 * util/grub-probe.c (probe): Fix a pair of unhandled error
9666 conditions.
9667
4dfbc574
RM
96682010-09-09 Robert Millan <rmh@gnu.org>
9669
9670 Basic Btrfs support (detection and UUID).
9671
9672 * grub-core/fs/btrfs.c: New file.
9673 * Makefile.util.def (library): Register btrfs.c.
9674 * grub-core/Makefile.core.def: Likewise.
9675
6b8e78ae
RM
96762010-09-08 Robert Millan <rmh@gnu.org>
9677
9678 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9679 with (optional) parameters to specify device and relative path.
9680 * util/grub-install.in: Use is_path_readable_by_grub() to
9681 verify readability of a few critical files.
9682 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9683 verify readability of grub.cfg.new.
9684
27f21a8b
VS
96852010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 Split minix.mod into minix.mod and minix2.mod.
9688
9689 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9690 * grub-core/Makefile.core.def (minix2): New module.
9691 * grub-core/fs/minix.c: Use definitions instead of runtime version
9692 checking.
9693 * grub-core/fs/minix2.c: New file.
9694
c0e53ea5
YB
96952010-09-08 Yves Blusseau <blusseau@zetam.org>
9696
9697 Add new --boot-directory option to replace --root-directory
9698
9699 * util/grub-install.in: Add new --boot-directory option
9700 * util/grub-reboot.in: Likewise.
9701 * util/grub-set-default.in: Likewise.
9702
b9fe6ea2
YB
97032010-09-08 Yves Blusseau <blusseau@zetam.org>
9704
9705 * util/grub-mkconfig.in: Use new variable.
9706
d87aedff
YB
97072010-09-08 Yves Blusseau <blusseau@zetam.org>
9708
9709 * configure.ac: Define some useful variables.
9710
e55e8495
VS
97112010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9714 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9715 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9716 Use terminfo and don't use cursor-on/cursor-off unless it's known
9717 to work.
9718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9719 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9720
6fa6d675
CW
97212010-09-08 Colin Watson <cjwatson@ubuntu.com>
9722
9723 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9724 starts with "(,", fill the drive containing the loaded image in
9725 between those two characters, but expect that a full partition
9726 specification including partition map names will follow.
9727
92f2aef0
RM
97282010-09-08 Robert Millan <rmh@gnu.org>
9729
9730 * configure.ac: Remove `--enable-grub-fstest' option.
9731 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9732
9733 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9734 `grub-fstest' instead of `grub-probe' for readability verification.
9735 * util/grub-probe.c (probe): Remove readability verification kludge.
9736
99fd620d
RM
97372010-09-08 Robert Millan <rmh@gnu.org>
9738
9739 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9740 initializing `GRUB_FS'.
9741
058e30ac 97422010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9743
9744 Not command (!) support to GRUB script.
9745
9746 * tests/grub_script_not.in: New test.
9747 * Makefile.util.def: Rules for new test.
9748
9749 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9750 ! command as a special case.
9751 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9752
b61d05ed 97532010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9754
058e30ac 9755 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9756 grub_free.
b61d05ed 9757
4d69c786 97582010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9759
9760 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9761
aa3119c4 97622010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9763
9764 * docs/grub.texi (Shell-like scripting): Documentation for break,
9765 continue, shift and return commands.
9766
db0f7e3d
VS
97672010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9768
9769 Rename CD-ROM to cd on BIOS.
9770
9771 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9772 "cd".
9773 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9774
88b87c93
VS
97752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9778 * util/grub-probe.c (main): Likewise.
9779 * util/i386/pc/grub-setup.c (main): Likewise.
9780 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9781 Reported and debugged by: alexxy
9782
294f324d
VS
97832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9786 diagnostic info.
9787
d7ee3441
JS
97882010-09-05 Jo Shields <directhex@apebox.org>
9789
9790 * util/grub.d/30_os-prober.in: Add missing classes.
9791
d7e06c1f
VS
97922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * docs/grub.texi (Theme file format): Document new position format.
9795
fc157e53
VS
97962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9799 a table. Use @code instead of @verbatim.
9800
506e9a1c
CB
98012010-09-05 Colin D Bennett <colin@gibibit.com>
9802
9803 Gfxmenu documentation.
9804
9805 * docs/grub.texi (Theme file format): New chapter.
9806
f0aff67c
SJ
98072010-09-05 Szymon Janc <szymon@janc.net.pl>
9808
9809 * grub-core/Makefile.core.def (xzio): New module.
9810 * grub-core/io/xzio.c: New file.
9811 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9812 * grub-core/lib/xzembed/xz_config.h: Likewise.
9813 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9814 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9815 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9816 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9817 * grub-core/lib/xzembed/xz_private.h: Likewise.
9818 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9819 * include/grub/file.h (grub_file_filter_id): New compression filter
9820 GRUB_FILE_FILTER_XZIO.
9821
82a85062
VS
98222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9825 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9826 size.
9827
3579415d
VS
98282010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9831 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9832
5124ae6d
VS
98332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 Uncompressed checksum support.
9836
9837 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9838 (check_list): New parameter uncompress.
9839 (grub_cmd_hashsum): Handle --uncompress.
9840
9aadb3d1
VS
98412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 Reintroduce testload.
9844
9845 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9846 from here ...
9847 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9848 (GRUB_MOD_INIT): New function.
9849 (GRUB_MOD_FINI): Likewise.
9850 * grub-core/Makefile.core.def (testload): New module.
9851
a17792c3
SJ
98522010-09-05 Szymon Janc <szymon@janc.net.pl>
9853
9854 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9855 (uint8_t): New type.
9856 (uint16_t): Likewise.
9857 (uint32_t): Likewise.
9858 (uint64_t): Likewise.
9859
b81e40a3
SJ
98602010-09-05 Szymon Janc <szymon@janc.net.pl>
9861
9862 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9863
fc2ef117
VS
98642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9867 Made static.
9868 (grub_gzfile_open): Removed. All users updated.
9869 (GRUB_MOD_INIT): New function.
9870 (GRUB_MOD_FINI): Likewise.
9871 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9872 (grub_file_filters_enabled): Likewise.
9873 (grub_file_open): Handle filters.
9874 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9875 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9876 * include/grub/file.h (grub_file_filter_id_t): New type.
9877 (grub_file_filter_t): Likewise.
9878 (grub_file_filters_all): New extern variable.
9879 (grub_file_filters_enabled): Likewise.
9880 (grub_file_filter_register): New inline function.
9881 (grub_file_filter_unregister): Likewise.
9882 (grub_file_filter_disable): Likewise.
9883 (grub_file_filter_disable_compression): Likewise.
9884 * include/grub/gzio.h: Removed.
9885
35ee15e0
BC
98862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9887
9888 Filename expansion support for wildcards in GRUB script.
9889
9890 * tests/grub_script_expansion.in: New test.
9891 * Makefile.util.def: Rule for new test.
9892
9893 * grub-core/commands/wildcard.c: New file, implements filename
9894 expansion support for GRUB script.
9895 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9896 * grub-core/script/argv.c: Cosmetic changes.
9897 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9898 Refactored to perform wildcard expansion on arguments.
9899 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9900 struct.
9901
9902 * tests/util/grub-shell.in: Fix quoting for read input.
9903
5f0c4aca
BC
99042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9905
9906 Support for updating environment variables with matched substrings
9907 of regexp.
9908
9909 * tests/grub_cmd_regexp.in: New test.
9910 * Makefile.util.def: Rule for new test.
9911
9912 * grub-core/commands/regexp.c: New option -s to update environment
9913 variables with regexp matches.
9914
3759a35f
SJ
99152010-09-04 Szymon Janc <szymon@janc.net.pl>
9916
9917 * include/grub/file.h (grub_file): New member not_easly_seekable.
9918 (grub_file_seekable): New inline function.
9919 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9920 easily seekable.
9921 (grub_gzio_open): Set not_easly_seekable.
9922 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9923 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9924
ed8c6dec
BC
99252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9926
9927 Support for options to appear multiple times on cmdline.
9928
9929 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9930 * grub-core/commands/extcmd.c: Support for repeatable option.
9931 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9932 repeatable option support.
9933
9934 Refactor menuentry into a regular command.
9935
9936 * grub-core/commands/menuentry.c: New file, menuentry command
9937 implementation.
9938 * grub-core/Makefile.core.def: Rule update for normal.mod.
9939 * grub-core/normal/main.c: Moved menuentry creation to
9940 grub-core/commands/menuentry.c.
9941 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9942 (grub_menu_execute_entry_real): Removed.
9943 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9944 function.
9945 (grub_script_execute_menuentry): Removed.
9946 * grub-core/script/parser.y (menuentry): Removed.
9947 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9948 * grub-core/script/yylex.l (menuentry): Removed.
9949 * include/grub/menu.h (grub_menu_init): New prototype.
9950 (grub_menu_fini): New prototype.
9951 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9952 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9953 (grub_script_execute_sourcecode): New prototype.
9954
dacd0cf0
BC
99552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9956
9957 "return" command for GRUB script functions.
9958
9959 * tests/grub_script_return.in: New test.
9960 * Makefile.util.def: Rules for new test.
9961
9962 * grub-core/script/execute.c (grub_script_return): New function.
9963 * grub-core/script/main.c: Register/unregister return commaond.
9964 * include/grub/script_sh.h (grub_script_return): New prototype.
9965
52e72f9d
BC
99662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9967
9968 "setparams" command to update positional parameters.
9969
9970 * tests/grub_script_setparams.in: New test.
9971 * Makefile.util.def: Rules for new test.
9972
9973 * grub-core/script/argv.c (grub_script_argv_make): New function.
9974 * grub-core/script/execute.c (replace_scope): New function.
9975 (grub_script_setparams): New function.
9976 * grub-core/script/lexer.c: Remove unused variables.
9977 * grub-core/script/main.c: Register/unregister setparams command.
9978 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9979 (grub_script_setparams): New prototype.
9980
25b60c91
BC
99812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9982
9983 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9984 grub_free order.
9985
37e7bf68
BC
99862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9987
9988 Support for passing block of commands as an argument to extcmds.
9989
9990 * Makefile.util.def: Rules for new test.
9991 * tests/grub_script_blockarg.in: New test.
9992 * grub-core/tests/test_blockarg.c: New file, block argument
9993 command used in the test.
9994
9995 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9996 (grub_register_extcmd_prio): New function prototype.
9997 (grub_extcmd_dispatcher): New function prototype.
9998 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9999 type.
10000 * include/grub/script_sh.h (struct grub_script): New members
10001 `children', `next_siblings' and `refcnt' for block arguments and
10002 reference counting.
10003 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
10004 (grub_script_arg): New member `script' for block argument.
10005 (grub_script_argv): New member `script' for block argument.
10006 (grub_parser_param): New member `scripts' for block argument.
10007 (grub_script_mem_free): New extern function prototype.
10008 (grub_script_ref): New function prototype.
10009 (grub_script_unref): New function prototype.
10010
10011 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
10012 extcmd form to support block arguments.
10013 * grub-core/script/argv.c: Block arguments support.
10014 * grub-core/script/execute.c: Likewise.
10015 * grub-core/script/lexer.c: Likewise.
10016 * grub-core/script/main.c: Likewise.
10017 * grub-core/script/script.c: Likewise.
10018 * grub-core/script/parser.y: Likewise. New `block' and `block0'
10019 non-terminals.
10020
10021 * grub-core/commands/acpi.c: Update extcmd implementations with
10022 grub_extcmd_context_t.
10023 * grub-core/commands/cat.c: Likewise.
10024 * grub-core/commands/echo.c: Likewise.
10025 * grub-core/commands/extcmd.c: Likewise.
10026 * grub-core/commands/hashsum.c: Likewise.
10027 * grub-core/commands/hdparm.c: Likewise.
10028 * grub-core/commands/help.c: Likewise.
10029 * grub-core/commands/hexdump.c: Likewise.
10030 * grub-core/commands/i386/cpuid.c: Likewise.
10031 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10032 * grub-core/commands/i386/pc/halt.c: Likewise.
10033 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10034 * grub-core/commands/iorw.c: Likewise.
10035 * grub-core/commands/keystatus.c: Likewise.
10036 * grub-core/commands/loadenv.c: Likewise.
10037 * grub-core/commands/ls.c: Likewise.
10038 * grub-core/commands/lspci.c: Likewise.
10039 * grub-core/commands/memrw.c: Likewise.
10040 * grub-core/commands/probe.c: Likewise.
10041 * grub-core/commands/search_wrap.c: Likewise.
10042 * grub-core/commands/setpci.c: Likewise.
10043 * grub-core/commands/sleep.c: Likewise.
10044 * grub-core/disk/loopback.c: Likewise.
10045 * grub-core/hello/hello.c: Likewise.
10046 * grub-core/loader/i386/bsd.c: Likewise.
10047 * grub-core/loader/xnu.c: Likewise.
10048 * grub-core/term/gfxterm.c: Likewise.
10049 * grub-core/term/serial.c: Likewise.
10050 * grub-core/tests/lib/functional_test.c: Likewise.
10051
888d1500
BC
100522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10053
10054 Multi-line quoted strings support.
10055
10056 * grub-core/script/lexer.c (append_newline): Removed.
10057 (grub_script_lexer_yywrap): Refactored.
10058 (grub_script_lexer_init): Refactored.
10059 * grub-core/script/yylex.l (yywrap): New function.
10060 (grub_lexer_resplit): New function.
10061 (grub_lexer_unput): New function.
10062 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10063 and resplit.
10064 * tests/grub_script_echo1.in: Added few more testcases.
10065
dda060dd
VS
100662010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * grub-core/kern/misc.c: Don't add abort alias in utils.
10069 Reported by: echoline.
10070
6556eba9
BC
100712010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10072
10073 Add missing files into "make dist" tarball for other platforms.
10074
10075 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10076 * conf/Makefile.common (dist_noinst_DATA): New variable.
10077 * conf/Makefile.extra-dist: Added missing make dist files.
10078 * grub-core/Makefile.core.def: Likewise.
10079
c8e7bf5f
VS
100802010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 Compress grub_prefix.
10083
10084 * grub-core/boot/i386/pc/lnxboot.S: Use
10085 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10086 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10087 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10088 GRUB_MACHINE_PREFIX_END. All users updated.
10089 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10090 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10091 + 0x40.
10092 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10093 * util/grub-mkimage.c (image_target_desc): Change data_end to
10094 prefix_end. All users updated.
10095
a7c00cdb
VS
100962010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10099 value.
10100 (grub_openbsd_boot): Likewise.
10101 (grub_netbsd_boot): Likewise.
10102 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10103 (grub_xnu_boot): Likewise.
10104
9f915872
VS
101052010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * configure.ac: Clean LIBS variable after tests.
10108
efa1bee7
CW
101092010-09-02 Colin Watson <cjwatson@ubuntu.com>
10110
10111 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10112
61d720e5
VS
101132010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10116 echo if libdevmapper will be used.
10117
ef8e0ec8
IT
101182010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10119
10120 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10121 constant for the same file.
10122
03e261d8
VS
101232010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10126
c2a4eba6
CW
101272010-09-02 Colin Watson <cjwatson@ubuntu.com>
10128
10129 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10130 grub-core/*.pp.
10131
9056cbf3
CW
101322010-09-02 Colin Watson <cjwatson@ubuntu.com>
10133
10134 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10135 required by the boot protocol.
10136
10137 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10138 ebp and edi members.
10139 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10140 state.ebp and state.edi.
10141 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10142 %ebp and %edi according to grub_relocator32_ebp and
10143 grub_relocator32_edi respectively.
10144 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10145 and state.edi.
10146
529cc99a
VS
101472010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 Add i386-pc-pxe image target.
10150
10151 * util/grub-mkimage.c (image_target_desc): New enum value
10152 IMAGE_I386_PC_PXE.
10153 (image_targets): New target i386-pc-pxe.
10154 (generate_image): Handle i386-pc-pxe image.
10155
9a093920
VS
101562010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 Fix grub_pxe_scan.
10159
10160 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
10161 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
10162 All users updated.
10163 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
10164 (grub_pxe_pxenv): Correct type.
10165
f9cefc4e
CW
101662010-09-01 Colin Watson <cjwatson@ubuntu.com>
10167
10168 * NEWS: Document most of the important changes since 1.98.
10169
4066f57f
CW
101702010-09-01 Colin Watson <cjwatson@ubuntu.com>
10171
10172 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10173 generated manual page) a little.
10174
da2891f9
CW
101752010-09-01 Colin Watson <cjwatson@ubuntu.com>
10176
10177 * docs/grub.texi: Add myself as an author.
10178
ad717fae
VS
101792010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * Makefile.util.def (libgrub.a): Add missing sunpc.
10182 Reported by: Seth Goldberg.
10183
eefe8abd
VS
101842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 Interrupt wrapping and code simplifications.
10187
9494ef9a
VS
10188 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10189 x86_noieee1275 which are functionaly equivalent in this case.
10190 (grub-install): Make source on each platform explicit. Enable on
10191 all noemu.
10192 * gentpl.py (x86_efi_pc): Removed group.
10193 (x86_noefi): Likewise.
10194 (i386_noefi): Likewise.
10195 (x86_noieee1275): Likewise.
10196 (i386_noieee1275): Likewise.
10197 (i386_noefi_noieee1275): Likewise.
10198 (i386_pc_qemu_coreboot): Likewise.
10199 (i386_coreboot_multiboot): Likewise.
10200 (i386_pc_coreboot_multiboot_qemu): Likewise.
10201 (x86_noefi_mips): Likewise.
10202 (noieee1275): Likewise.
10203 (ieee1275_mips): Likewise.
10204 (noemu_noieee1275): Likewise.
10205 (cmos): New group.
10206 (usb): Likewise.
10207 (videoinkernel): Likewise.
10208 (videomodules): Likewise.
eefe8abd 10209 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
10210 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10211 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10212 include/grub/loader.h, include/grub/msdos_partition.h,
10213 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10214 include/grub/machine/console.h, include/grub/machine/vga.h,
10215 include/grub/machine/vbe.h, include/grub/machine/init.h,
10216 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10217 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 10218 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
10219 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10220 * grub-core/Makefile.core.def (kernel): Explicit the source for
10221 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10222 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10223 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10224 Use videoinkernel tag.
10225 (usb): Enable on all usb.
10226 (usbserial_common): Likewise.
10227 (usbserial_pl2303): Likewise.
10228 (usbserial_ftdi): Likewise.
10229 (uhci): Enable on all x86.
10230 (ohci): Enable on all pci.
10231 (cmostest): Enable on all CMOS.
10232 (acpi): Include commands/acpi.c on all platforms.
10233 (halt): Add relevant lib/*/halt.c.
10234 (hdparm): Enable on all pci.
10235 (lspci): Likewise.
10236 (usbtest): Enable on all usb.
10237 (ata): Enable on all pci.
10238 (ata_pthru): Likewise.
10239 (usbms): Enable on all usb.
10240 (usb_keyboard): Likewise.
10241 (font): Use tag videomodules.
10242 (bufio): Likewise.
10243 (datetime): Use tag cmos. Enable on all noemu.
10244 (mmap): Use tags common and x86.
10245 (gfxterm): Use tag videomodules.
10246 (bitmap): Likewise.
10247 (bitmap_scale): Likewise.
10248 (video_fb): Likewise.
10249 (video): Likewise.
10250 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10251 adjust padding accordingly. All users updated.
10252 (grub_ohci_transaction): Fix bad format specification.
10253 (GRUB_MOD_INIT): Add asserts for struct size.
10254 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10255 (grub_alloc_td): Likewise.
10256 (grub_free_queue): Likewise.
10257 (grub_uhci_transfer): Likewise.
10258 (grub_uhci_transaction): Fix bad format specification.
10259 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10260 (grub_usb_bulk_readwrite): Likewise.
10261 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10262 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10263 Made static.
10264 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10265 Made static.
10266 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10267 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10268 Transformed into C.
10269 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10270 Moved from here ...
10271 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10272 ... here. Transformed into C. Made static.
10273 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10274 Moved from here ...
10275 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10276 ... here. Transformed into C. Made static.
10277 * grub-core/kern/i386/pc/startup.S
10278 (grub_biosdisk_check_int13_extensions): Moved from here ...
10279 * grub-core/disk/i386/pc/biosdisk.c
10280 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10281 Made static.
10282 * grub-core/kern/i386/pc/startup.S
10283 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10284 * grub-core/disk/i386/pc/biosdisk.c
10285 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10286 Transformed into C. Made static.
10287 * grub-core/kern/i386/pc/startup.S
10288 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10289 * grub-core/disk/i386/pc/biosdisk.c
10290 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10291 Transformed into C. Made static.
10292 * grub-core/kern/i386/pc/startup.S
10293 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10294 * grub-core/disk/i386/pc/biosdisk.c
10295 (grub_biosdisk_get_diskinfo_standard): ... here.
10296 Transformed into C. Made static.
10297 * grub-core/kern/i386/pc/startup.S
10298 (grub_biosdisk_get_num_floppies): Moved from here ...
10299 * grub-core/disk/i386/pc/biosdisk.c
10300 (grub_biosdisk_get_num_floppies): ... here.
10301 Transformed into C. Made static.
10302 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10303 New function.
10304 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10305 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10306 Transformed into C. Made static.
10307 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10308 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10309 Transformed into C. Made static.
10310 * grub-core/kern/i386/ieee1275/init.c: Removed.
10311 * grub-core/kern/i386/misc.S: Likewise.
10312 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10313 Splitted from here ...
10314 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10315 Transformed into C. Made static. All users updated.
10316 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10317 Transformed into C. Made static. All users updated.
10318 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10319 Moved from here...
10320 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10321 Transformed into C. Made static. All users updated.
10322 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10323 Moved from here...
10324 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10325 Transformed into C. Made static. All users updated.
10326 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10327 Removed (replaced by C version).
10328 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10329 Moved from here...
10330 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10331 Transformed into C. Made static.
10332 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10333 Moved from here...
10334 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10335 ... here. Transformed into C.
10336 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10337 Moved from here...
10338 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10339 ... here. Transformed into C.
10340 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10341 Moved from here...
10342 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10343 ... here. Transformed into C. Made static.
10344 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10345 Moved from here...
10346 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10347 ... here. Transformed into C.
21ed554b
VS
10348 * grub-core/kern/i386/pc/startup.S
10349 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10350 * grub-core/video/i386/pc/vbe.c
10351 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
10352 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10353 Moved from here...
10354 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10355 ... here. Transformed into C.
10356 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10357 Moved from here...
10358 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10359 ... here. Transformed into C.
10360 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10361 Moved from here...
10362 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10363 ... here. Transformed into C.
10364 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10365 Moved from here...
10366 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10367 ... here. Transformed into C.
10368 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10369 Moved from here...
10370 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10371 ... here. Transformed into C. Made static.
10372 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10373 Moved from here...
10374 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10375 ... here. Transformed into C. Made static.
10376 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10377 Moved from here...
10378 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10379 ... here. Transformed into C. Made static.
10380 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10381 pxe_rm_entry as third argument.
10382 (grub_bios_interrupt): New function.
10383 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10384 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10385 of calling grub_stop.
10386 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10387 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10388 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10389 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10390 * grub-core/lib/i386/halt.c: Moved from here ...
10391 * grub-core/lib/i386/halt.c: ... here.
10392 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10393 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10394 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10395 grub_stop_floppy.
10396 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10397 * include/grub/i386/coreboot/init.h: Removed.
10398 * include/grub/i386/multiboot/init.h: Likewise.
10399 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10400 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10401 * include/grub/i386/pc/int.h: New file.
10402 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10403 (grub_pxe_scan): Removed.
10404 (grub_pxe_call): Update prototype.
10405 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10406 prototypes.
10407 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10408 * include/grub/i386/qemu/init.h: Removed.
10409 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10410 noreturn.
10411 (grub_halt): Likewise.
10412 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10413 (grub_reboot): Likewise.
10414 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10415 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
10416 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10417
215dd471
RM
104182010-08-30 Robert Millan <rmh@gnu.org>
10419
10420 * NEWS: Document addition of ZFS support in `grub-install' and
10421 `grub-mkconfig'.
10422
ebd65b82
BC
104232010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10424
10425 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10426 dprintf output.
10427
11721d19
VS
104282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 Remove leftover embedding of font objects.
10431
10432 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10433 * util/grub-install.in (font): Removed.
10434 * util/grub-mkimage.c (generate_image): Remove font support. All users
10435 updated.
10436
37837d4e
VS
104372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 Remove leftover embedding of font objects.
10440
10441 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10442 * util/grub-install.in (font): Removed.
10443 * util/grub-mkimage.c (generate_image): Remove font support. All users
10444 updated.
10445
b4c1aae0
VS
104462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 10449 Reported by: Ian Turner
b4c1aae0 10450
8920a08d
VS
104512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10454 timeout to avoid indefinite boot stalling.
10455
f21db033
VS
104562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10457
10458 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10459 (grub_env_write_color_highlight): Likewise.
10460
9a9de209
VS
104612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 * grub-core/normal/term.c (print_more): Return to normal and not
10464 to standard state after printing "---MORE---".
10465
3dca01d7
VS
104662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10469 Mask out the bit 0x80 since it has other meaning that specifiing color.
10470
0b986c40
VS
104712010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 New relocator. Allows for more kernel support and more straightforward
10474 loader writing.
10475
10476 * Makefile.am (BOOTTARGET): New variable.
10477 (QEMU32): Likewise.
10478 (linux.init.x86_64): New target.
10479 (linux.init.i386): Likewise.
10480 (multiboot.elf): Likewise.
10481 (kfreebsd.elf): Likewise.
10482 (kfreebsd.aout): Likewise.
10483 (pc-chainloader.elf): Likewise.
10484 (pc-chainloader.bin): Likewise.
10485 (ntldr.elf): Likewise.
10486 (ntldr.bin): Likewise.
10487 (multiboot2.elf): Likewise.
10488 (kfreebsd.init.x86_64): Likewise.
10489 (kfreebsd.init.i386): Likewise.
10490 (knetbsd.init.i386): Likewise.
10491 (kopenbsd.init.i386): Likewise.
10492 (knetbsd.init.x86_64): Likewise.
10493 (kopenbsd.init.x86_64): Likewise.
10494 (linux-initramfs.i386): Likewise.
10495 (linux-initramfs.x86_64): Likewise.
10496 (kfreebsd-mfsroot.i386.img): Likewise.
10497 (knetbsd.image.i386): Likewise.
10498 (kopenbsd.image.i386): Likewise.
10499 (kopenbsd.image.x86_64): Likewise.
10500 (knetbsd.miniroot-image.i386.img): Likewise.
10501 (kfreebsd-mfsroot.x86_64.img): Likewise.
10502 (knetbsd.image.x86_64): Likewise.
10503 (knetbsd.miniroot-image.x86_64.img): Likewise.
10504 (kfreebsd-mfsroot.i386.gz): Likewise.
10505 (bootcheck-kfreebsd-i386): Likewise.
10506 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10507 (bootcheck-kfreebsd-x86_64): Likewise.
10508 (knetbsd.miniroot-image.i386.gz): Likewise.
10509 (bootcheck-knetbsd-i386): Likewise.
10510 (bootcheck-kopenbsd-i386): Likewise.
10511 (bootcheck-kopenbsd-x86_64): Likewise.
10512 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10513 (bootcheck-knetbsd-x86_64): Likewise.
10514 (bootcheck-linux-i386): Likewise.
10515 (bootcheck-linux-x86_64): Likewise.
10516 (bootcheck-linux16-i386): Likewise.
10517 (bootcheck-linux16-x86_64): Likewise.
10518 (bootcheck-multiboot): Likewise.
10519 (bootcheck-multiboot2): Likewise.
10520 (bootcheck-kfreebsd-aout): Likewise.
10521 (bootcheck-pc-chainloader): Likewise.
10522 (bootcheck-ntldr): Likewise.
10523 (CLEANFILES): Add new targets.
10524 (BOOTCHECKS): New variable.
10525 (.PHONY): Add bootchecks.
10526 (SUCCESSFUL_BOOT_STRING): New variable.
10527 (BOOTCHECK_TIMEOUT): Likewise.
10528 (bootcheck): New target
10529 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10530 * configure.ac: Correct efiemu excuse.
10531 * docs/grub.texi (Supported kernels): New chapter.
10532 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10533 include/grub/mm_private.h. Simplify inclusion of
10534 include/grub/boot.h, include/grub/loader.h
10535 and include/grub/msdos_partition.h
10536 (KERNEL_HEADER_FILES) [i386_coreboot]:
10537 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10538 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10539 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10540 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10541 include/grub/machine/loader.h.
10542 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10543 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10544 extra_dist.
10545 (pci.mod): Enable on i386-multiboot.
10546 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10547 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10548 i386-qemu.
10549 (relocator.mod): Rewritten.
10550 (aout.mod): Enable on all x86.
10551 (bsd.mod): Likewise.
10552 (ntldr.mod): New module.
10553 (linux.mod): Use loader/i386/linux.c on all x86.
10554 (xnu.mod): Enable on all x86.
10555 (vga_text.mod): disable on EFI and QEMU.
10556 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10557 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10558 * grub-core/efiemu/loadcore.c: Likewise.
10559 * grub-core/efiemu/main.c: Likewise.
10560 (grub_efiemu_exit_boot_services): Removed.
10561 (grub_efiemu_finish_boot_services): Likewise.
10562 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10563 function.
10564 * grub-core/efiemu/i386/nocfgtables.c: New file.
10565 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10566 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10567 (grub_efi_finish_boot_services): Moved from here ...
10568 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10569 Fille finish memory map and related data.
10570 (finish_mmap_buf): New variable.
10571 (grub_efi_uintn_t finish_mmap_size): Likewise.
10572 (grub_efi_uintn_t finish_key): Likewise.
10573 (grub_efi_uintn_t finish_desc_size): Likewise.
10574 (grub_efi_uint32_t finish_desc_version): Likewise.
10575 (grub_efi_is_finished): Likewise.
10576 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10577 finished.
10578 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10579 (grub_elf64_phdr_iterate): Likewise.
10580 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10581 (grub_os_area_size): Likewise.
10582 (grub_machine_init): Don't reserve os area.
10583 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10584 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10585 * grub-core/kern/i386/loader.S: Removed.
10586 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10587 (grub_os_area_size): Likewise.
10588 (grub_machine_init): Don't reserve os area.
10589 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10590 Don't call grub_dl_unload_all.
10591 Don't include loader.S.
10592 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10593 Declare the memory after _end as available.
10594 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 10595 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 10596 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
10597 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10598 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10599 * include/grub/mm_private.h (grub_mm_header): ... here.
10600 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10601 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
10602 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10603 (grub_mm_region): ..here. Removed addr. Added pre_size.
10604 All users updated.
10605 * grub-core/kern/mm.c (base): Renamed to ...
10606 (grub_mm_base): ... this. Made global.
10607 (grub_real_malloc): Alloc from end of region.
10608 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10609 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10610 * grub-core/kern/powerpc/cache_flush.S: ... here.
10611 * grub-core/lib/efi/relocator.c: New file.
10612 * grub-core/lib/i386/relocator.c: Rewritten.
10613 * grub-core/lib/i386/relocator16.S: New file.
10614 * grub-core/lib/i386/relocator32.S: Likewise.
10615 * grub-core/lib/i386/relocator64.S: Likewise.
10616 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10617 * grub-core/lib/i386/relocator_common.S: New file.
10618 * grub-core/lib/ieee1275/relocator.c: Likewise.
10619 * grub-core/lib/mips/relocator.c: Rewritten.
10620 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10621 stylistic adjustments.
10622 * grub-core/lib/powerpc/relocator.c: New file.
10623 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10624 * grub-core/lib/relocator.c: Rewritten.
10625 * grub-core/lib/x86_64/relocator_asm.S: New file.
10626 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10627 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10628 (bsd_tag): New struct.
10629 (tags): New variable.
10630 (tags_last): Likewise.
10631 (netbsd_module): New struct.
10632 (netbsd_mods): New variable.
10633 (netbsd_mods_last): Likewise.
10634 (openbsd_opts): New parameter "serial".
10635 (OPENBSD_SERIAL_ARG): New definition.
10636 (netbsd_opts): New parameter "serial".
10637 (NETBSD_SERIAL_ARG): New definition.
10638 (grub_freebsd_add_meta): Reorganised into ...
10639 (grub_bsd_add_meta): ...this. All users updated.
10640 (grub_freebsd_add_mmap): Reorganised into ...
10641 (generate_e820_mmap): ...this...
10642 (grub_bsd_add_mmap): ...and this. All users updated.
10643 (grub_freebsd_list_modules): Use tags.
10644 (grub_netbsd_add_meta_module): New function.
10645 (grub_netbsd_list_modules): Likewise.
10646 (grub_freebsd_boot): Use relocator and finish EFI.
10647 (grub_openbsd_boot): Likewise.
10648 (grub_netbsd_setup_video): New function.
10649 (grub_netbsd_add_modules): Likewise.
10650 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10651 and finish EFI.
10652 (grub_bsd_unload): Unload tags.
10653 (grub_bsd_load_aout): Use relocator.
10654 (grub_bsd_elf32_size_hook): New function.
10655 (grub_bsd_elf32_hook): Use relocator.
10656 (grub_bsd_elf64_size_hook): New function.
10657 (grub_bsd_elf64_hook): Use relocator.
10658 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10659 (grub_bsd_load): Zero-out openbsd_ramdisk.
10660 (grub_bsd_load): Use relocator.
10661 (grub_cmd_openbsd): Support serial.
10662 (grub_cmd_netbsd): Support modules.
10663 (grub_cmd_freebsd_module): Use relocator.
10664 (grub_netbsd_module_load): New function.
10665 (grub_cmd_netbsd_module): Likewise.
10666 (grub_cmd_openbsd_ramdisk): Likewise.
10667 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10668 kopenbsd_ramdisk.
10669 (GRUB_MOD_FINI): Unregister new commands.
10670 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10671 (grub_freebsd_load_elfmodule_obj): Use relocator.
10672 (grub_freebsd_load_elfmodule): Likewise.
10673 (grub_freebsd_load_elf_meta): Likewise.
10674 (grub_netbsd_load_elf_meta): New function.
10675 (grub_openbsd_find_ramdisk): Likewise.
10676 * grub-core/loader/i386/bsd_helper.S: Removed.
10677 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10678 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10679 * grub-core/loader/i386/efi/linux.c: Likewise.
10680 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10681 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10682 (DEFAULT_VIDEO_MODE): Likewise.
10683 (real_mode_target): New variable.
10684 (prot_mode_target): Likewise.
10685 (initrd_mem_target): Likewise.
10686 (relocator): Likewise.
10687 (efi_mmap_buf): Likewise.
10688 (efi_mmap_size): Likewise.
10689 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10690 (free_pages): Use relocator.
10691 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10692 (grub_linux_setup_video): Return error.
10693 (grub_linux_trampoline_start): Removed.
10694 (grub_linux_trampoline_end): Likewise.
10695 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10696 andd video parameters depending on firmware.
10697 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10698 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10699 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10700 (grub_cmd_initrd): Use relocator.
10701 * grub-core/loader/i386/linux_trampoline.S: Removed.
10702 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10703 (elf_sec_entsize): Likewise.
10704 (elf_sec_shstrndx): Likewise.
10705 (elf_sections): Likewise.
10706 (grub_multiboot_load): Use relocator.
10707 (grub_multiboot_get_mbi_size): Account for sections.
10708 (grub_multiboot_make_mbi): Use relocator and support sections.
10709 (grub_multiboot_add_elfsyms): New function.
10710 (grub_multiboot_free_mbi): Free sections.
10711 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10712 (grub_linux_real_target): Likewise.
10713 (grub_linux_real_chunk): Likewise.
10714 (grub_linux16_prot_size): Likewise.
10715 (grub_linux16_boot): Use relocator.
10716 (grub_linux_unload): Unload relocator.
10717 (grub_cmd_linux): Use relocator.
10718 (grub_cmd_initrd): Likewise.
10719 * grub-core/loader/i386/pc/ntldr.c: New file.
10720 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10721 Don't try to guess CPU frequency.
10722 (grub_xnu_set_video): Stretch bitmap.
10723 (grub_xnu_boot): Use relocator.
10724 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10725 (grub_linux_unload): Free relocator.
10726 (grub_linux_load32): Use relocator.
10727 (grub_linux_load64): Likewise.
10728 (grub_cmd_initrd): Likewise.
10729 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10730 (grub_multiboot_unload): Unload relocator.
10731 (grub_cmd_multiboot): Use relocator.
10732 (grub_cmd_module): Likewise.
10733 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10734 Use relocator and support sections.
10735 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10736 (elf_sec_entsize): Likewise.
10737 (elf_sec_shstrndx): Likewise.
10738 (elf_sections): Likewise.
10739 (grub_multiboot_load): Use relocator.
10740 (grub_multiboot_get_mbi_size): Account for sections.
10741 (grub_multiboot_make_mbi): Use relocator and support sections.
10742 (grub_multiboot_add_elfsyms): New function.
10743 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10744 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10745 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10746 Prototype changed. All users updated.
10747 (grub_xnu_align_heap): Simplified.
10748 (grub_xnu_writetree_toheap): Likewise.
10749 (grub_xnu_unload): Unload relocator.
10750 (grub_cmd_xnu_kernel): Use relocator.
10751 (grub_cmd_xnu_kernel64): Likewise.
10752 (grub_xnu_register_memory): Simplified.
10753 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
10754 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10755 EFI is finished.
10756 (grub_console_checkkey): Likewise.
10757 (grub_console_getkey): Likewise.
10758 (grub_console_getwh): Likewise.
10759 (grub_console_getxy): Likewise.
10760 (grub_console_gotoxy): Likewise.
10761 (grub_console_cls): Likewise.
10762 (grub_console_setcolorstate): Likewise.
10763 (grub_console_setcursor): Likewise.
10764 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10765 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10766 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10767 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10768 * grub-core/tests/boot/kernel-8086.S: Likewise.
10769 * grub-core/tests/boot/kernel-i386.S: Likewise.
10770 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10771 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10772 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10773 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10774 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10775 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10776 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10777 * grub-core/tests/boot/linux.cfg: Likewise.
10778 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10779 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10780 * grub-core/tests/boot/linux16.cfg: Likewise.
10781 * grub-core/tests/boot/multiboot.cfg: Likewise.
10782 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10783 * grub-core/tests/boot/ntldr.cfg: Likewise.
10784 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10785 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10786 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10787 New definition.
10788 * include/grub/dl.h (grub_dl_unload_all): Removed.
10789 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10790 (grub_efi_finish_boot_services): Change prototype.
10791 (grub_efi_is_finished): New variable.
10792 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10793 Changed prototype.
10794 (grub_efiemu_finish_boot_services): Removed.
10795 (grub_machine_efiemu_init_tables): New prototype.
10796 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10797 (grub_elf64_phdr_iterate): Likewise.
10798 * include/grub/i386/bsd.h: Include relocator.h.
10799 (freebsd_tag_header): New struct.
10800 (grub_openbsd_bios_mmap): Removed.
10801 (grub_unix_real_boot): Removed.
10802 (grub_freebsd_load_elfmodule32): Changed prototype.
10803 (grub_freebsd_load_elfmodule_obj64): Likewise.
10804 (grub_freebsd_load_elf_meta32): Likewise.
10805 (grub_freebsd_load_elf_meta64): Likewise.
10806 (grub_freebsd_add_meta): Removed.
10807 (grub_netbsd_load_elf_meta32): New prototype.
10808 (grub_netbsd_load_elf_meta64): Likewise.
10809 (grub_bsd_add_meta): Likewise.
10810 (grub_openbsd_ramdisk_descriptor): New struct.
10811 (grub_openbsd_find_ramdisk32): New prototype.
10812 (grub_openbsd_find_ramdisk64): Likewise.
10813 * include/grub/i386/coreboot/loader.h: Removed.
10814 * include/grub/i386/efi/loader.h: Likewise.
10815 * include/grub/i386/ieee1275/loader.h: Likewise.
10816 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10817 to grub_uint32_t.
10818 * include/grub/i386/loader.h: Removed.
10819 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10820 value.
10821 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10822 (grub_phys_addr_t): New type.
10823 (grub_vtop): New inline function.
10824 (grub_map_memory): Likewise.
10825 (grub_unmap_memory): Likewise.
10826 * include/grub/i386/multiboot/loader.h: Removed.
10827 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10828 (NETBSD_BTINFO_CONSOLE): New definition.
10829 (NETBSD_BTINFO_SYMTAB): Likewise.
10830 (NETBSD_BTINFO_MODULES): Likewise.
10831 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10832 (grub_netbsd_bootinfo): New struct.
10833 (grub_netbsd_btinfo_common): Use explicit bitsize.
10834 (grub_netbsd_btinfo_mmap_entry): Removed.
10835 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10836 (grub_netbsd_btinfo_bootdisk): New struct.
10837 (grub_netbsd_btinfo_symtab): Likewise.
10838 (grub_netbsd_btinfo_serial): Likewise.
10839 (grub_netbsd_btinfo_modules): Likewise.
10840 (grub_netbsd_btinfo_framebuf): Likewise.
10841 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10842 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10843 Likewise.
10844 (grub_openbsd_bootargs): Use explicit bitsize.
10845 (grub_openbsd_bootarg_console): New struct.
10846 (GRUB_OPENBSD_COM_MAJOR): New definition.
10847 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10848 * include/grub/i386/pc/efiemu.h: Removed.
10849 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10850 * include/grub/i386/qemu/loader.h: Removed.
10851 * include/grub/i386/relocator.h: Rewritten.
10852 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10853 * include/grub/mips/memory.h: New file.
10854 * include/grub/mips/multiboot.h: Rewritten.
10855 * include/grub/mips/relocator.h: Rewritten.
10856 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10857 (grub_vtop): New function.
10858 (grub_map_memory): Likewise.
10859 (grub_unmap_memory): Likewise.
10860 * include/grub/misc.h (ALIGN_DOWN): New definition.
10861 * include/grub/mm.h (grub_mm_check_real): New proto.
10862 (GRUB_MM_CHECK): New definition.
10863 * include/grub/mm_private.h: New file.
10864 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10865 (grub_multiboot_get_mbi_size): Removed.
10866 (grub_multiboot_make_mbi): Change prottype.
10867 (grub_multiboot_set_accepts_video): New proto.
10868 (grub_multiboot_add_elfsyms): Likewise.
10869 (grub_multiboot_payload_eip): New variable.
10870 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10871 New prototype.
10872 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10873 New definition.
10874 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10875 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10876 * include/grub/powerpc/ieee1275/loader.h: Removed.
10877 * include/grub/powerpc/memory.h: New file.
10878 * include/grub/powerpc/relocator.h: Likewise.
10879 * include/grub/relocator.h: Likewise.
10880 * include/grub/relocator_private.h: Likewise.
10881 * include/grub/sparc64/ieee1275/loader.h: Removed.
10882 * include/grub/x86_64/memory.h: New file.
10883 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10884 (grub_xnu_heap_malloc): Likewise.
10885 (grub_xnu_heap_real_start): Removed.
10886 (grub_xnu_heap_start): Likewise.
10887 (grub_xnu_relocator): New variable.
10888 (grub_xnu_heap_target_start): Likewise.
10889 * tests/util/grub-shell.in: Support non-pc.
10890 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 10891
5303b85d
VS
108922010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10895 on malloc error.
10896 (grub_bidi_logical_to_visual): Check that malloc succeded.
10897 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10898 puts.
10899 (grub_xputs_normal): Likewise.
10900
d768d159
VS
109012010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10904 extra_dist.
10905
109062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10909
5bf84df4
VS
109102010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10913
3626810e
VS
109142010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10917 dprintf.
10918
a7363f53
BC
109192010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10920
10921 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10922
902f75f6
VS
109232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * grub-core/normal/term.c (print_more): Fix a memory leak.
10926 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10927 (grub_xputs_normal): Likewise.
10928
3c707967
VS
109292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10932 the begining of the string
10933
2053cc07
VS
109342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * grub-core/script/script.c (grub_script_parse): Free parsed on
10937 failure.
10938
46422ebf
VS
109392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10942 on failure.
10943
9e0fa3f6
VS
109442010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10947 return.
10948
3393cf16
VS
109492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10952 (scroll_up): Fix a memory leak.
10953
b17540cb
VS
109542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10957 errors.
10958
67140446
VS
109592010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 Handle USB pendrives exposed as floppies.
10962
10963 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10964 floppy.
10965 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10966 Check for partitions on all devices.
10967
e35e46fc
VS
109682010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10971 (readkey): Likewise.
10972
d24c6190
BC
109732010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10974
10975 Multiple variable names support to "export" command.
10976
10977 * normal/context.c (grub_cmd_export): "export" command supports
10978 multiple variable names.
10979
04ddcc6a
ST
109802010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10981
10982 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10983 --target=drive output to Mach device name.
10984
0c8b61d8
BC
109852010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10986
10987 New Automake based build system for GRUB.
10988
10989 * ABOUT-NLS: New file.
10990 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10991 in Makefile.util.def file.
10992 * Makefile.util.def: New file. Autogen build definitions file for
10993 GRUB host utils.
10994 * conf/Makefile.common: New file. Common variables for GRUB host
10995 utils and target modules.
10996 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10997 * docs/Makefile.am: New file. Automake file for docs.
10998 * gentpl.py: New file. Python script to generate Autogen
10999 template.
11000 * grub-core/Makefile.am: New file. GRUB target modules' rules
11001 that doesn't fit in Makefile.core.def file.
11002 * grub-core/Makefile.core.def: New file. Autogen build
11003 definitions file for GRUB target modules.
11004 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
11005 specific setjmp.S file.
11006 * po/Makefile.am: New file.
11007
11008 * .bzrignore: New ignores.
11009 * INSTALL: New requirements, without Ruby.
11010 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
11011 * autogen.sh: Updated to invoke autogen as necessary.
11012 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
11013 and defines for Automake conditionals.
11014 * geninit.sh: Refactoring.
11015
11016 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
11017 necessary.
11018 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
11019 New prototype.
11020
11021 * include/grub/test.h: Fix functional test modules' naming.
11022 * grub-core/tests/example_functional_test.c: Fix test module name.
11023
11024 * util/misc.c: Hosted versions' of grub functions for libgrub.a
11025 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
11026 * util/grub-editenv.c: Likewise.
11027 * util/grub-fstest.c: Likewise.
11028 * util/grub-mkdevicemap.c: Likewise.
11029 * util/grub-mkfont.c: Likewise.
11030 * util/grub-mkimage.c: Likewise.
11031 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11032 * util/grub-probe.c: Likewise.
11033 * util/grub-script-check.c: Likewise.
11034 * util/i386/pc/grub-setup.c: Likewise.
11035 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11036
11037 * tests/util/grub-shell.in: Fix override directory path.
11038 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
11039 * util/import_gcry.py: Create Makefile.gcry.def file instead.
11040
11041 * util/lvm.c: Update #includes.
11042 * util/raid.c: Likewise.
11043 * util/resolve.c: Likewise.
11044 * grub-core/bus/emu/pci.c: Likewise.
11045 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
11046 * grub-core/lib/posix_wrap/string.h: Likewise.
11047 * grub-core/kern/emu/main.c: Likewise.
11048
11049 * grub-core/gensymlist.sh: New file. Script for generating kernel
11050 symbols file.
11051 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11052
11053 * grub-core/gentrigtables.c: Fix unused variable warnings.
11054
11055 * Makefile.in: Removed.
11056 * conf/any-emu.rmk: Removed.
11057 * conf/common.rmk: Removed.
11058 * conf/i386-coreboot.rmk: Removed.
11059 * conf/i386-efi.rmk: Removed.
11060 * conf/i386-ieee1275.rmk: Removed.
11061 * conf/i386-multiboot.rmk: Removed.
11062 * conf/i386-pc.rmk: Removed.
11063 * conf/i386-qemu.rmk: Removed.
11064 * conf/i386.rmk: Removed.
11065 * conf/mips-yeeloong.rmk: Removed.
11066 * conf/mips.rmk: Removed.
11067 * conf/powerpc-ieee1275.rmk: Removed.
11068 * conf/sparc64-ieee1275.rmk: Removed.
11069 * conf/tests.rmk: Removed.
11070 * conf/x86-efi.rmk: Removed.
11071 * conf/x86_64-efi.rmk: Removed.
11072 * gendistlist.sh: Removed.
11073 * geninitheader.sh: Removed.
11074 * genkernsyms.sh.in: Removed.
11075 * genmk.rb: Removed.
11076 * gensymlist.sh.in: Removed.
11077 * mkinstalldirs: Removed.
11078 * boot: Moved ...
11079 * grub-core/boot: ... to here.
11080 * bus: Moved ...
11081 * grub-core/bus: ... to here.
11082 * commands: Moved ...
11083 * grub-core/commands: ... to here.
11084 * disk: Moved ...
11085 * grub-core/disk: ... to here.
11086 * efiemu: Moved ...
11087 * grub-core/efiemu: ... to here.
11088 * font: Moved ...
11089 * grub-core/font: ... to here.
11090 * fs: Moved ...
11091 * grub-core/fs: ... to here.
11092 * gencmdlist.sh: Moved ...
11093 * grub-core/gencmdlist.sh: ... to here.
11094 * genemuinit.sh: Moved ...
11095 * grub-core/genemuinit.sh: ... to here.
11096 * genemuinitheader.sh: Moved ...
11097 * grub-core/genemuinitheader.sh: ... to here.
11098 * genfslist.sh: Moved ...
11099 * grub-core/genfslist.sh: ... to here.
11100 * genhandlerlist.sh: Moved ...
11101 * grub-core/genhandlerlist.sh: ... to here.
11102 * genmoddep.awk: Moved ...
11103 * grub-core/genmoddep.awk: ... to here.
11104 * genmodsrc.sh: Moved ...
11105 * grub-core/genmodsrc.sh: ... to here.
11106 * genpartmaplist.sh: Moved ...
11107 * grub-core/genpartmaplist.sh: ... to here.
11108 * genparttoollist.sh: Moved ...
11109 * grub-core/genparttoollist.sh: ... to here.
11110 * genterminallist.sh: Moved ...
11111 * grub-core/genterminallist.sh: ... to here.
11112 * gentrigtables.c: Moved ...
11113 * grub-core/gentrigtables.c: ... to here.
11114 * genvideolist.sh: Moved ...
11115 * grub-core/genvideolist.sh: ... to here.
11116 * gettext: Moved ...
11117 * grub-core/gettext: ... to here.
11118 * gfxmenu: Moved ...
11119 * grub-core/gfxmenu: ... to here.
11120 * gnulib: Moved ...
11121 * grub-core/gnulib: ... to here.
11122 * hello: Moved ...
11123 * grub-core/hello: ... to here.
11124 * hook: Moved ...
11125 * grub-core/hook: ... to here.
11126 * io: Moved ...
11127 * grub-core/io: ... to here.
11128 * kern: Moved ...
11129 * grub-core/kern: ... to here.
11130 * lib: Moved ...
11131 * grub-core/lib: ... to here.
11132 * loader: Moved ...
11133 * grub-core/loader: ... to here.
11134 * mmap: Moved ...
11135 * grub-core/mmap: ... to here.
11136 * normal: Moved ...
11137 * grub-core/normal: ... to here.
11138 * partmap: Moved ...
11139 * grub-core/partmap: ... to here.
11140 * parttool: Moved ...
11141 * grub-core/parttool: ... to here.
11142 * script: Moved ...
11143 * grub-core/script: ... to here.
11144 * term: Moved ...
11145 * grub-core/term: ... to here
11146 * tests/example_functional_test.c: Moved ...
11147 * grub-core/tests/example_functional_test.c: ... to here.
11148 * tests/lib/functional_test.c: Moved ...
11149 * grub-core/tests/lib/functional_test.c: ... to here.
11150 * tests/lib/test.c: Moved ...
11151 * grub-core/tests/lib/test.c: ... to here.
11152 * video: Moved ...
11153 * grub-core/video: ... to here.
11154
645586e6
BC
111552010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11156
11157 Replace --enable-grub-emu-modules with grub-emu-lite.
11158
11159 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
11160 cache.S.
11161
11162 * include/grub/emu/misc.h (grub_emu_init): New prototype.
11163 * kern/emu/full.c: New file. For grub-emu specific initialization.
11164 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
11165 * kern/emu/main.c: Call initialization function grub_emu_init.
11166
11167 * Makefile.in: Include grub-emu-lite in install.
11168 * commands/parttool.c: Use grub_no_autoload to differentiate
11169 between grub-emu and grub-emu-lite.
11170 * include/grub/misc.h: New variable grub_no_autoload.
11171
11172 * conf/any-emu.rmk: New rules for grub-emu-lite.
11173 * configure.ac: Remove --enable-grub-emu-modules.
11174 * genmk.rb: Cleanup unnecessary rules.
11175 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11176
11177 * normal/main.c: Don't load list files on grub-emu-lite.
11178 * util/misc.c (grub_arch_sync_caches): Removed.
11179
f86a4030
CW
111802010-08-23 Colin Watson <cjwatson@ubuntu.com>
11181
11182 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11183 grub-mkimage rather than grub-mkelfimage.
11184 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11185
06776944
VS
111862010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11187
11188 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11189 a key after CapsLock or NumLock. It's just a qemu bug.
11190
df262419
VS
111912010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11194 needed by libusb wrapper.
11195
b40ea81b
ST
111962010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11197
11198 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11199
dee50575
VS
112002010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11203 --nounzip is passed.
11204
fb1d7b79
VS
112052010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 USB hotunplugging and USB serial support.
11208
11209 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11210 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11211 (grub_uhci_transfer): Respect timeout and set *actual.
11212 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11213 non-standard length.
11214 (grub_usb_device_attach): Autoload modules.
11215 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11216 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11217 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11218 users updated.
11219 (grub_usb_add_hub): Fill nports and children.
11220 (attach_root_port): Receive hub instead of controller.
11221 All users updated. Fill hub->devices.
11222 (grub_usb_root_hub): Allocate hub->devices.
11223 (detach_device): New function.
11224 (poll_nonroot_hub): Fill children and detach devices.
11225 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11226 actual arguments. All users updated.
11227 (grub_usb_bulk_read_extended): New function.
11228 * bus/usb/serial/common.c: New file.
11229 * bus/usb/serial/ftdi.c: Likewise.
11230 * bus/usb/serial/pl2303.c: Likewise.
11231 * commands/terminal.c (handle_command): Support wildcard.
11232 * commands/usbtest.c: Output "Unknown" instead of empty string.
11233 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11234 (usbserial_common_mod_SOURCES): New variable.
11235 (usbserial_common_mod_CFLAGS): Likewise.
11236 (usbserial_common_mod_LDFLAGS): Likewise.
11237 (pkglib_MODULES): Add usbserial_pl2303.mod.
11238 (usbserial_pl2303_mod_SOURCES): New variable.
11239 (usbserial_pl2303_mod_CFLAGS): Likewise.
11240 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11241 (pkglib_MODULES): Add usbserial_ftdi.mod.
11242 (usbserial_ftdi_mod_SOURCES): New variable.
11243 (usbserial_ftdi_mod_CFLAGS): Likewise.
11244 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11245 (pkglib_MODULES): Add serial.mod.
11246 (serial_mod_SOURCES): New variable.
11247 (serial_mod_CFLAGS): Likewise.
11248 (serial_mod_LDFLAGS): Likewise.
11249 * conf/i386-pc.rmk: Likewise.
11250 * conf/mips-yeeloong.rmk: Likewise.
11251 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11252 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11253 * disk/usbms.c (first_available_slot): New variable.
11254 (grub_usbms_attach): Don't reuse free slots due to potential cache
11255 problems.
11256 * include/grub/serial.h: Moved to ..
11257 * include/grub/ns8250.h: ...this.
11258 * include/grub/serial.h: New file.
11259 * include/grub/term.h (grub_term_poll_usb): New variable.
11260 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11261 readkey. All users updated.
11262 (grub_terminfo_output_state): Pass term to put.
11263 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11264 (grub_usb_controller_dev): Add timeout and actual arguments to
11265 transfer. All users updated.
11266 (grub_usb_interface): New field detach_data.
11267 (grub_usb_device): New fields children and nports.
11268 (grub_usb_ep_type_t): New type.
11269 (grub_usb_get_ep_type): New function.
11270 (grub_usb_bulk_read_extended): Likewise.
11271 * include/grub/usbdesc.h (grub_usb_desc): New type.
11272 * include/grub/usbserial.h: New file.
11273 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11274 * kern/term.c (grub_term_poll_usb): New variable.
11275 (grub_getkey): Call grub_term_poll_usb if set.
11276 (grub_checkkey): Likewise.
11277 (grub_getkeystatus): Likewise.
11278 * term/serial.c: Moved controller-specific parts to ...
11279 * term/ns8250.c: ... here.
11280 * term/serial.c: Mostly rewritten.
11281 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11282 according to spec.
11283
21a313de
RM
112842010-08-20 Robert Millan <rmh@gnu.org>
11285
11286 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11287 a separate module and maybe other interesting combinations.
11288
11289 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11290 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11291 (kfreebsd_entry): Add generic filesystem module load routine.
11292 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11293
63c734a6
CW
112942010-08-20 Colin Watson <cjwatson@ubuntu.com>
11295
11296 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11297 "numcenter" (I misunderstood the purpose of this entry).
11298 * docs/grub.texi (sendkey): Likewise.
11299
c4d16542
CW
113002010-08-20 Colin Watson <cjwatson@ubuntu.com>
11301
11302 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11303 status flag options; simply omitting the option is equivalent and
11304 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11305 (keysym_table): Rename "num5numlock" to "numlock".
11306 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11307 can uniformly say that only the last of multiple `sendkey'
11308 invocations has any effect.
11309 * docs/grub.texi (sendkey): New section.
11310
93541d66
CW
113112010-08-19 Colin Watson <cjwatson@ubuntu.com>
11312
11313 * commands/i386/pc/sendkey.c (options): Fix three typos.
11314
b4ece5e1
VS
113152010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11316
11317 Implement sendkey support.
11318
11319 * commands/i386/pc/sendkey.c: New file.
11320 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11321 (sendkey_mod_SOURCES): New variable.
11322 (sendkey_mod_CFLAGS): Likewise.
11323 (sendkey_mod_LDFLAGS): Likewise.
11324
51f1f5af
CW
113252010-08-18 Colin Watson <cjwatson@ubuntu.com>
11326
11327 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11328 fix warnings from Autoconf.
11329
9da94e05
CW
113302010-08-18 Colin Watson <cjwatson@ubuntu.com>
11331
11332 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11333 to avoid false positives with some assemblers that output things
11334 like "someprefix_func" as part of their output.
11335
729a0f2e
RM
113362010-08-15 Robert Millan <rmh@gnu.org>
11337
11338 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11339 errors.
11340 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11341 grub_get_libzfs_handle() errors.
11342
f3710e08
RM
113432010-08-14 Robert Millan <rmh@gnu.org>
11344
11345 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11346 filesystem is not ZFS.
11347
7a3c13de
BC
113482010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11349
11350 Fix for misspelled color names defaulting to black/black (bug
11351 reported by Doug Nazar)
11352
11353 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11354 status to prototype.
11355 * normal/color.c (grub_parse_color_name_pair): Return failure
11356 status.
11357 (grub_env_write_color_normal): Ignore bad color names.
11358 (grub_env_write_color_highlight): Likewise.
11359 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11360
ab8ba50d
BC
113612010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11362
11363 "shift" command support to GRUB script.
11364
11365 * include/grub/script_sh.h (grub_script_shift): New prototype.
11366 * script/execute.c (grub_script_shift): New function.
11367 * script/main.c (grub_script_init): Register shift command.
11368 (grub_script_fini): Unregister shift command.
11369 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11370
11371 * tests/grub_script_shift.in: New testcase.
11372 * conf/tests.rmk: Rules for new testcase.
11373
4d61999e
BC
113742010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11375
11376 "continue" command support to GRUB script.
11377
11378 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11379 (grub_script_break): Continue support.
11380 * script/main.c (grub_script_init): Register continue command.
11381 (grub_script_fini): Unregister continue command.
11382
11383 * tests/grub_script_continue.in: New testcase.
11384 * conf/tests.rmk: Rules for new testcase.
11385
4df51e00
BC
113862010-08-12 BVK Chaitanya <bvk@dbook>
11387
11388 "break" command support to GRUB script.
11389
11390 * conf/common.rmk: Rule updates to grub-script-check.
11391 * include/grub/misc.h (grub_min): New function.
11392 * include/grub/script_sh.h (grub_script_init): New prototype.
11393 (grub_script_fini): New prototype.
11394 (grub_script_break): New prototype.
11395 * script/main.c (grub_script_init): New function.
11396 (grub_script_fini): New function.
11397 * script/execute.c (grub_script_break): New function.
11398 * normal/main.c: Calls to grub_script_{init,fini}.
11399 * util/grub-script-check.c (grub_script_break): New function.
11400
11401 * tests/grub_script_break.in: New testcase.
11402 * conf/tests.rmk: Rules for new test case.
11403
f12c8420
BC
114042010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11405
11406 Function parameters support to GRUB script.
11407
11408 * script/yylex.l (VARIABLE): Regular expression update.
11409 * script/function.c (grub_script_function_call): Moved ...
11410 * script/execute.c (grub_script_function_call): ... to here.
11411 (grub_script_execute_arglist_to_argv): Removed.
11412 (grub_script_arglist_to_argv): New function.
11413 * script/argv.c: New file.
11414 (grub_script_argv_free): New function.
11415 (grub_script_argv_next): Likewise.
11416 (grub_script_argv_append): Likewise.
11417 (grub_script_argv_split_append): Likewise.
11418 * include/grub/script_sh.h (grub_script_argv): New struct.
11419 (grub_script_argv_free): New function.
11420 (grub_script_argv_next): Likewise.
11421 (grub_script_argv_append): Likewise.
11422 (grub_script_argv_split_append): Likewise.
11423
11424 * conf/common.rmk (normal.mod): New source script/argv.c.
11425
11426 * tests/grub_script_echo1.in: More tests.
11427 * tests/grub_script_vars1.in: Likewise.
11428 * tests/grub_script_functions.in: New test case.
11429 * conf/tests.rmk: Rules for new testcase.
11430
8022b748
BC
114312010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11432
11433 Remove grub_script_cmdblock struct.
11434
11435 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11436 * script/parser.y: Likewise.
11437 * script/execute.c: Rename cmdblock suffix to cmdlist.
11438 * script/script.c: Likewise.
11439 * util/grub-script-check.c: Likewise.
11440
79a6ba61
YB
114412010-08-11 Yves Blusseau <blusseau@zetam.org>
11442
11443 * .bzrignore: add grub-macho2img
11444
d04b9414
VS
114452010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11448
f947ab49
VS
114492010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 Remove the dump of sm712 initialisation sequence.
11452
11453 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11454 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11455 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11456 (GRUB_VGA_CR_*): Added many registers.
11457 (GRUB_VGA_SR_*): Likewise.
11458 (GRUB_VGA_GR_*): Likewise.
11459 (grub_vga_write_arx): New function.
11460 (grub_video_hw_config): New struct.
11461 (grub_vga_set_geometry): New function.
11462 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11463 GRUB_PCI_CLASS_SUBCLASS_VGA.
11464 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11465 * video/sm712.c (grub_sm712_write_reg): New function
11466 (grub_sm712_read_reg): Likewise.
11467 (grub_sm712_sr_write): Likewise.
11468 (grub_sm712_gr_write): Likewise.
11469 (grub_sm712_cr_write): Likewise.
11470 (grub_sm712_write_arx): Likewise.
11471 (grub_sm712_cr_shadow_write): Likewise.
11472 (grub_sm712_write_dda_lookup): Likewise.
11473 (grub_video_sm712_setup): Initialise the video rather then
11474 blindly replay the dump.
11475 (main) [TEST]: Add a routine to be able to compile as standalone for
11476 tests.
11477 * video/sm712_init.c (sm712_init): Removed.
11478 (sm712_sr_seq1): New array.
11479 (sm712_sr_seq2): Likewise.
11480
f0206638
VS
114812010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 * include/grub/vga.h: Add missing grub/pci.h include.
11484
2764da3b
YB
114852010-08-10 Yves Blusseau <blusseau@zetam.org>
11486
11487 * util/grub-macho2img.c (main): fix typo
11488
cf0c775e
VS
114892010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11492 (grub_vga_gr_read): Likewise.
11493 (grub_vga_cr_write): Likewise.
11494 (grub_vga_cr_read): Likewise.
11495 (grub_vga_sr_write): Likewise.
11496 (grub_vga_sr_read): Likewise.
11497 (grub_vga_palette_read): Likewise.
11498 (grub_vga_palette_write): Likewise.
11499 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11500 (grub_sm712_sr_read): New function.
11501 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11502 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11503
07f360e9
RM
115042010-08-09 Robert Millan <rmh@gnu.org>
11505
11506 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11507 out unused variables on non-ZFS build.
11508
346c2072
RM
115092010-08-08 Robert Millan <rmh@gnu.org>
11510
11511 Fix path generation for sub-filesystems in ZFS.
11512
11513 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11514 missing slash.
11515
71175420
RM
115162010-08-08 Robert Millan <rmh@gnu.org>
11517
11518 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11519
0d8286f3
RM
115202010-08-08 Robert Millan <rmh@gnu.org>
11521
11522 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11523 exist, issue a proper error message (rely on `ls' for translated
11524 strings).
11525
55dd2924
RM
115262010-08-08 Robert Millan <rmh@gnu.org>
11527
11528 Fix grub-probe invocation.
11529
11530 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11531
d3dd9e80
RM
115322010-08-04 Robert Millan <rmh@gnu.org>
11533
11534 * configure.ac: Remove checks for getfsstat() and getmntany().
11535 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11536 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11537 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11538 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11539 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11540 function.
11541 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11542 via find_mount_point_from_dir() and getfsstat() / getmntany().
11543
0de22aa9
RM
115442010-08-04 Robert Millan <rmh@gnu.org>
11545
11546 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11547 (grub_find_zpool_from_mount_point): Merge into ...
11548 (grub_find_zpool_from_dir): ... this.
11549 * kern/emu/misc.c: Likewise.
11550
11551 * kern/emu/misc.c
11552 (grub_make_system_path_relative_to_its_root): Replace
11553 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11554 with grub_find_zpool_from_dir().
11555 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11556
62858144
RM
115572010-08-04 Robert Millan <rmh@gnu.org>
11558
11559 Support OpenSolaris in ZFS device resolution.
11560
11561 * configure.ac: Check for getmntany().
11562 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11563 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11564 support.
11565
9dd6fd50
RM
115662010-08-03 Robert Millan <rmh@gnu.org>
11567
11568 Fix grub-emu build.
11569
11570 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11571 * include/grub/emu/misc.h: ... here.
11572
11573 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11574 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11575
11576 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11577 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11578 (grub_get_libzfs_handle): Move to ...
11579 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11580 (grub_get_libzfs_handle): ... here.
11581
c9f7ff97
BC
115822010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11583
11584 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11585 as command name case.
11586
a870a783
CW
115872010-08-02 Colin Watson <cjwatson@ubuntu.com>
11588
11589 * disk/raid.c (insert_array): Select unique numbers for named arrays
11590 as well, for use as keys in the disk cache.
11591
c7db243b
RM
115922010-08-01 Robert Millan <rmh@gnu.org>
11593
11594 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11595 kFreeBSD device name, except on ZFS where the filesystem label is
11596 used.
11597 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11598 `/boot/zfs/zpool.cache'.
11599 Set mountfrom kernel variable using ${kfreebsd_device}.
11600
f7abdefb
RM
116012010-08-01 Robert Millan <rmh@gnu.org>
11602
11603 Make it even harder to use uninitialized `libzfs_handle' (and
11604 make the interface a bit simpler).
11605
11606 * include/grub/util/misc.h (grub_util_init_libzfs)
11607 (libzfs_handle): Remove.
11608 (grub_get_libzfs_handle): New prototype.
11609
11610 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11611 attribute.
11612 (grub_util_init_libzfs): Remove.
11613 (grub_get_libzfs_handle): New function.
11614
11615 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11616 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11617 accessing `libzfs_handle' directly.
11618
c882acc0
RM
116192010-08-01 Robert Millan <rmh@gnu.org>
11620
11621 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11622 (grub_find_zpool_from_mount_point): New function prototypes.
11623
11624 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11625 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11626
11627 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11628 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11629 `static' attribute.
11630
11631 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11632 finding zpool from mount point into ...
11633 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11634
11635 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11636 requested path is part of a ZFS pool, use
11637 grub_find_zpool_from_mount_point() to detect its filesystem name,
11638 and generate a path with `/fsname@path' syntax.
11639
8bfe31d8
CW
116402010-08-01 Colin Watson <cjwatson@ubuntu.com>
11641
11642 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11643 (void) rather than () so that this is a proper prototype.
11644
553df63d
VS
116452010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11648
8687cf07
VS
116492010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11652 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11653
ea9be8ea
CW
116542010-08-01 Colin Watson <cjwatson@ubuntu.com>
11655
11656 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11657
6eea041a
CW
116582010-08-01 Colin Watson <cjwatson@ubuntu.com>
11659
11660 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11661
2cfb45df
CW
116622010-08-01 Colin Watson <cjwatson@ubuntu.com>
11663
11664 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11665 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11666 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11667 disable gfxpayload.
11668 (Shell-like scripting): Add real content.
11669 (Serial terminal): Suggest `terminal_input serial; terminal_output
11670 serial' rather than putting the two commands on separate lines,
11671 since console input will be inoperative after the first command.
11672 (menuentry): Document --class, --users, and --hotkey options.
11673 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11674 Vladimir Serbinenko).
11675
7decd202
VS
116762010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
116772010-08-01 Colin Watson <cjwatson@ubuntu.com>
11678
11679 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11680
c882acc0
RM
116812010-08-01 Robert Millan <rmh@gnu.org>
11682
11683 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11684 (grub_find_zpool_from_mount_point): New function prototypes.
11685
11686 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11687 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11688
11689 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11690 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11691 `static' attribute.
11692
11693 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11694 finding zpool from mount point into ...
11695 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11696
11697 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11698 requested path is part of a ZFS pool, use
11699 grub_find_zpool_from_mount_point() to detect its filesystem name,
11700 and generate a path with `/fsname@path' syntax.
11701
deb0caa3
RM
117022010-08-01 Robert Millan <rmh@gnu.org>
11703
11704 Prevent accidental use of uninitialized libzfs_handle.
11705
11706 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11707 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11708 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11709
ce04ef47
CW
117102010-08-01 Colin Watson <cjwatson@ubuntu.com>
11711
11712 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11713 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11714
ebf53056
RM
117152010-08-01 Robert Millan <rmh@gnu.org>
11716
11717 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 11718
3710bb6b
RM
117192010-07-31 Robert Millan <rmh@gnu.org>
11720
11721 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11722
8072efeb
RM
117232010-07-31 Robert Millan <rmh@gnu.org>
11724
11725 * kern/emu/misc.c: Add missing license header.
11726
3169f4c7
RM
117272010-07-31 Robert Millan <rmh@gnu.org>
11728
11729 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11730
11731 * include/grub/util/libnvpair.h: Include `<config.h>'.
11732 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11733 declaring libnvpair prototypes ourselves.
11734 * include/grub/util/libzfs.h: Include `<config.h>'.
11735 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11736 declaring libzfs prototypes ourselves.
11737
11738 (libzfs_handle): Moved to ...
11739 * include/grub/util/misc.h (libzfs_handle): ... here.
11740 Include `<grub/util/libzfs.h>'.
11741
c9a00aee
RM
117422010-07-30 Robert Millan <rmh@gnu.org>
11743
11744 * include/grub/emu/misc.h: Add missing license header.
11745
a184f9c8
RM
117462010-07-30 Robert Millan <rmh@gnu.org>
11747
11748 Enable `grub-probe -t device' resolution on ZFS.
11749
11750 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11751 * include/grub/util/libnvpair.h: New file.
11752 * include/grub/util/libzfs.h: New file.
11753
11754 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11755 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11756 `<grub/util/libnvpair.h>'.
11757 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11758
11759 (find_mount_point_from_dir): New static function.
11760 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11761 function.
11762 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11763 find_root_device_from_libzfs() before ressorting to find_root_device().
11764
11765 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11766 prototype.
11767 * util/misc.c: Include `<grub/util/libzfs.h>'.
11768 (grub_util_init_libzfs): New function.
11769 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11770 [HAVE_LIBZFS] (fini_libzfs): New static function.
11771 (grub_util_init_libzfs): New function.
11772 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11773
f7790cdd
RM
117742010-07-30 Robert Millan <rmh@gnu.org>
11775
11776 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11777 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11778 `warn_unused_result' attribute.
11779 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11780 (grub_xasprintf, grub_xvasprintf): Likewise.
11781 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11782
0806b63c
RM
117832010-07-29 Robert Millan <rmh@gnu.org>
11784
11785 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11786 (probe): Handle `PRINT_FS_LABEL'.
11787 (main): Handle `-t fs_label'.
11788
9f841f5c
RM
117892010-07-29 Robert Millan <rmh@gnu.org>
11790
11791 * configure.ac: Remove grub-mkisofs checks.
11792
46371121
VS
117932010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11796 Reported by: Lennart Sorensen.
11797
117982010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11801 prior to terminal_input/terminal_output separation. It's been over 1.5
11802 years and those versions weren't widely deployed.
11803
a9600892
CW
118042010-07-22 Colin Watson <cjwatson@ubuntu.com>
11805
11806 * disk/raid.c (insert_array): Don't count named arrays when looking
11807 for unused array numbers.
697e053c 11808 Reported and tested by: Michael Guntsche.
a9600892 11809
c03507df
CW
118102010-07-20 Colin Watson <cjwatson@ubuntu.com>
11811
11812 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11813 implementation of this so that grub-emu links again, with a note
11814 that this should support hotplugging in the future.
11815
b26f1c11
CW
118162010-07-20 Colin Watson <cjwatson@ubuntu.com>
11817
11818 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11819
efc9d7f1
CW
118202010-07-20 Colin Watson <cjwatson@ubuntu.com>
11821
11822 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11823 handle on failure.
11824 (grub_loopback_close): Remove empty function.
11825 (grub_loopback_dev): Remove close method.
11826
dd8ff5c9
CW
118272010-07-20 Colin Watson <cjwatson@ubuntu.com>
11828
11829 Disable EFI cursor when the EFI console becomes inactive.
11830
11831 * term/efi/console.c (grub_efi_console_init): New function.
11832 (grub_efi_console_fini): New function.
11833 (grub_console_term_output): Register init and fini methods.
11834
5e3bec67
VS
118352010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11836
11837 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11838 sh script.
11839
afaec079
VS
118402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11841
11842 * disk/loopback.c (grub_loopback): Replace filename with file.
11843 (delete_loopback): Handle new semantics.
11844 (grub_cmd_loopback): Likewise.
11845 (grub_loopback_iterate): Likewise.
11846 (grub_loopback_close): Likewise.
11847
a6a11f3c
VS
118482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11851 with -p "".
11852 Reported by: Tito Keitel.
11853
64a638b0
VS
118542010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 * docs/grub.texi (Naming convention): Document new naming convention.
11857
ab8ba957
VS
118582010-07-20 Vadim Solomin <vadic052@gmail.com>
118592010-07-20 Colin Watson <cjwatson@ubuntu.com>
11860
11861 Generate device.map in something closer to the old ordering.
11862
11863 * util/deviceiter.c (struct device): New declaration.
11864 (compare_file_names): Rename to ...
11865 (compare_devices): ... this. Sort by kernel name in preference to
11866 the stable by-id name, but keep the latter as a fallback comparison.
11867 Update header comment.
11868 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11869 of `struct device' rather than of plain file names.
11870
a29d6a4b
TF
118712010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11872
11873 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11874 on i386.
11875
39d824e8
VS
118762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11879 hardcoding size.
11880 (setv1table): Likewise.
11881
f058276b
FZ
118822010-07-20 Colin Watson <cjwatson@ubuntu.com>
11883
11884 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11885 removing the homehost if present.
11886 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11887 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11888 removing the homehost if present.
11889 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11890 if possible.
11891 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11892
11893 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11894 parameter. Set its pointer target to 0.
11895 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11896 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11897 `data_offset' value from the superblock for 1.x metadata.
11898 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11899 data on the device.
11900 (insert_array): Record the start sector of data on the device.
11901 (grub_raid_register): Pass start_sector parameters to
11902 grub_raid_list->detect and insert_array.
11903 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11904 member.
11905 (struct grub_raid): Add start_sector parameter to `detect'.
11906
11907 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11908 __attribute__ ((packed)), leaving a comment.
11909 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11910 (grub_mdraid_detect_09): ... here and ...
11911 (grub_mdraid_detect_1x): ... here.
11912
119132010-07-20 Peter Henn <peter.henn@web.de>
11914
11915 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11916 chunk size and disk size, which are already given as sector counts
11917 as distinct from the 0.90 units. Fetch the correct device number
11918 from the role table instead of using the table index.
11919
119202010-07-20 Felix Zielcke <fzielcke@z-51.de>
11921
11922 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11923 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11924 (WriteMostly1): New macro.
11925 Set array->name to NULL for metadata format 0.90. Add support for
11926 metadata 1.x. Fix some comments.
11927 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11928 few comments.
11929 * util/getroot.c (grub_util_get_grub_dev): Add support for
11930 /dev/md/name style devices.
11931
4b761da9
CW
119322010-07-20 Colin Watson <cjwatson@ubuntu.com>
11933
11934 * .bzrignore: Ignore 20_linux_xen.
11935
5771289a
CW
119362010-07-17 Colin Watson <cjwatson@ubuntu.com>
11937
11938 * util/import_unicode.py: Remove unnecessary imports.
11939
5dab68df
AN
119402010-07-17 Aleš Nesrsta <starous@volny.cz>
11941
11942 Hotplugging and USB hub support.
11943
11944 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11945 (grub_ohci): Likewise.
11946 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11947 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11948 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11949 (GRUB_OHCI_CTRL_EDS): Likewise.
11950 (GRUB_OHCI_BULK_EDS): Likewise.
11951 (GRUB_OHCI_TDS): Likewise.
11952 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11953 (grub_ohci_ed_phys2virt): New function.
11954 (grub_ohci_virt_to_phys): Likewise.
11955 (grub_ohci_td_phys2virt): Likewise.
11956 (grub_ohci_td_virt2phys): Likewise.
11957 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11958 attachment.
11959 (grub_ohci_find_ed): New function.
11960 (grub_ohci_alloc_td): Likewise.
11961 (grub_ohci_free_td): Likewise.
11962 (grub_ohci_free_tds): Likewise.
11963 (grub_ohci_transfer): Use previously allocated memory.
11964 (grub_ohci_portstatus): Reset status changed bit.
11965 (grub_ohci_detect_dev): Supply status changed.
11966 (grub_ohci_fini_hw): Free memory.
11967 (grub_ohci_restore_hw): Reallocate memory.
11968 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11969 Reset status change.
11970 (grub_uhci_detect_dev): Supply status_change.
11971 * bus/usb/usb.c (attach_hooks): New var.
11972 (grub_usb_device_attach): New function.
11973 (grub_usb_register_attach_hook_class): Likewise.
11974 (grub_usb_unregister_attach_hook_class): Likewise.
11975 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11976 (grub_usb_add_hub): Reset connection changed bit.
11977 (attach_root_port): New function.
11978 (grub_usb_root_hub): Likewise.
11979 (poll_nonroot_hub): Likewise.
11980 (grub_usb_poll_devices): Likewise.
11981 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11982 * disk/usbms.c (grub_usbms_open): Use device hooks.
11983 (grub_usbms_iterate) :Poll devices.
11984 (grub_usbms_finddevs): Split into ...
11985 (grub_usbms_attach): ... this ...
11986 (grub_usbms_attach): ... and this.
11987 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11988 in detect_dev.
11989 (grub_usb_interface): New fields attached and detach_hook.
11990 (grub_usb_attach_hook_class): New type.
11991 (grub_usb_attach_desc): New struct.
11992 (grub_usb_register_attach_hook_class): New function.
11993 (grub_usb_unregister_attach_hook_class): Likewise.
11994 (grub_usb_poll_devices): Likewise.
11995 (grub_usb_device_attach): Likewise.
11996 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11997 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11998
3222efaf
VS
119992010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
12002 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
12003 delta determination style. Works with most NetBSD partitions too.
12004
139b714a
VS
120052010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
12008 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
12009
986aad56
VS
120102010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
12013
99be513c
AB
120142010-07-14 Anton Blanchard <anton@samba.org>
12015
12016 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
12017 ET_DYN files.
12018
18075f62
GS
120192010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12020
12021 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
12022
8d9a5b15
GS
120232010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12024
12025 * kern/partition.c (grub_partition_check_containment): New function to
12026 check that a partition is physically contained in a parent. Since
12027 offsets are relative (and non-negative), this reduces to checking that
12028 the partition ends before its parent.
12029 (grub_partition_map_probe): Discard out-of-range sub-partitions.
12030 (grub_partition_iterate): Likewise.
12031 * include/grub/partition.h (grub_partition_map): Slightly more detailed
12032 comments.
12033 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
12034 partitions that start before their parent, and add debug printfs.
12035
19563c25
CW
120362010-07-13 Colin Watson <cjwatson@ubuntu.com>
12037
12038 * Makefile.in (.SUFFIX): Spell correctly, as ...
12039 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
12040 bare module name without `.mod', e.g. `test') tried to invoke a
12041 Modula-2 compiler.
12042
1a1f1e67
CW
120432010-07-13 Colin Watson <cjwatson@ubuntu.com>
12044
12045 * README: Point to the Info manual.
12046
811b0dca
JS
120472010-07-13 Jiro SEKIBA <jir@unicus.jp>
12048
12049 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12050 2nd superblock position from partition size.
12051
e4f4eafc
CW
120522010-07-10 Colin Watson <cjwatson@ubuntu.com>
12053
12054 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12055 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12056 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12057 outputs.
12058
4274c30f
VS
120592010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 Restructure SCSI .id handling.
12062 Reported and tested by: Aleš Nesrsta.
12063
12064 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12065 (grub_atapi_dev): Changed .name to "ata". New field .id.
12066 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12067 (grub_usbms_dev): New field .id.
12068 * disk/scsi.c (grub_scsi_iterate): Generate name.
12069 (grub_scsi_open): Parse name.
12070 * include/grub/scsi.h (grub_make_scsi_id): New function.
12071 (grub_scsi_dev): Change iterate and open to number instead of naming
12072 busses. All users updated.
12073 (grub_scsi): Remove name. Add .bus.
12074
5bc24388
VS
120752010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * commands/help.c (grub_cmd_help): Fix a typo.
12078
249975ba
VS
120792010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12082 Reported and tested by: Colin Watson.
12083
3eaac1a1
VS
120842010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12087 in this context.
12088
becce1b1
VS
120892010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12092
f7bf0918
CW
120932010-07-07 Colin Watson <cjwatson@ubuntu.com>
12094
12095 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12096 indentation.
12097
0b0f9620
CW
120982010-07-06 Colin Watson <cjwatson@ubuntu.com>
12099
12100 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12101 and disk/raid6_recover.c.
12102 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12103 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12104
1e545469
CW
121052010-07-06 Colin Watson <cjwatson@ubuntu.com>
12106
12107 * term/gfxterm.c (repaint_schedulded): Rename to ...
12108 (repaint_scheduled): ... this. Update all callers.
12109 (repaint_was_schedulded): Rename to ...
12110 (repaint_was_scheduled): ... this. Update all callers.
12111
5357687a
CW
121122010-07-06 Colin Watson <cjwatson@ubuntu.com>
12113
12114 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12115 which we expect to be handled by upper layers.
12116
29d7e783
BC
121172010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12118
12119 * bus/usb/usbhub.c: #include time.h header.
12120
37582066
CW
121212010-07-06 Colin Watson <cjwatson@ubuntu.com>
12122
12123 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12124 entry_name also for entries without stat blocks (e.g. ".."); fixes
12125 corruption of the first entry in a directory.
12126
c8c06953
CW
121272010-07-06 Colin Watson <cjwatson@ubuntu.com>
12128
12129 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12130 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12131 doesn't work otherwise.
12132
e75056f1
CW
121332010-07-05 Colin Watson <cjwatson@ubuntu.com>
12134
12135 * docs/grub.texi (Features): Update list of supported file systems.
12136 (GNU/Linux): Update for GRUB 2.
12137 (Serial terminal): Remove mention of --disable-serial, which was a
12138 GRUB Legacy configure option. Update instructions to use
12139 `terminal_input' and `terminal_output' rather than `terminal'.
12140 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12141 configuration' and `Installing GRUB using grub-install'.
12142 (Menu entry editor): Update for GRUB 2.
12143 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12144 Document new -a, -u, and -v options.
12145 (initrd): New section.
12146 (initrd16): New section.
12147 (linux): New section.
12148 (linux16): New section.
12149 (search): The `var' argument to `--set' is optional.
12150 (GRUB only offers a rescue shell): Go into a little more detail on
12151 drive ordering.
12152
5cf69151
CW
121532010-07-05 Colin Watson <cjwatson@ubuntu.com>
12154
12155 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
12156
e3f90044
CW
121572010-07-05 Colin Watson <cjwatson@ubuntu.com>
12158
12159 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
12160 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
12161
38d8f4f3
CW
121622010-07-05 Colin Watson <cjwatson@ubuntu.com>
12163
12164 * util/i386/pc/grub-setup.c (setup): Rename prefix to
12165 install_prefix, in line with install_dos_part and install_bsd_part.
12166 Add new prefix variable, which is copied to install_prefix after
12167 comparing core.img in memory with the one read from disk in the
12168 no-embedding case, and use that rather than overwriting
12169 install_prefix immediately when installing to a partition.
12170 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12171 Bicakci.
12172
57ebd41e
GS
121732010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12174
12175 * configure.ac: Avoid == in test command, it's not portable.
12176 * util/grub.d/30_os-prober.in: Likewise.
12177
cb7f64b2
CW
121782010-07-04 Colin Watson <cjwatson@ubuntu.com>
12179
12180 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12181
6b654bb0
GS
121822010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12183
12184 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12185 multiple (top-level) partmaps.
12186
72a2026d
VS
121872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 12190 Reported by: Tino Keitel.
72a2026d 12191
df3eb88f
VS
121922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 Bidi and diacritics support.
12195
12196 * Makefile.in (widthspec.bin): New target.
12197 (widthspec.h): Likewise.
12198 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12199 * autogen.sh: Generate unidata.c.
12200 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12201 * commands/ls.c (grub_ls_list_devices): Likewise.
12202 (grub_ls_list_files): Likewise.
12203 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12204 (grub_mini_cmd_lsmod): Likewise.
12205 * commands/read.c: Likewise.
12206 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12207 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12208 * lib/arg.c (grub_arg_show_help): Likewise.
12209 * lib/crypto.c (grub_password_get): Likewise.
12210 * normal/auth.c (grub_username_get): Likewise.
12211 * normal/misc.c (grub_normal_print_device_info): Likewise.
12212 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12213 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12214 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12215 (normal/charset.c_DEPENDENCIES): New variable.
12216 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12217 (pkglib_MODULES): Remove charset.mod.
12218 (charset_mod_SOURCES): Removed.
12219 (charset_mod_CFLAGS): Likewise.
12220 (charset_mod_LDFLAGS): Likewise.
12221 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12222 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12223 and term/tparm.c.
12224 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12225 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12226 (kernel_img_HEADERS): Add terminfo.h.
12227 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12228 Fill ->font. Reverse ascii bitmaps.
12229 (grub_font_get_xheight): New function.
12230 * font/font.c (grub_font_get_string_width): Moved from here ...
12231 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12232 * font/font.c (grub_font_draw_string): Moved from here ...
12233 * gfxmenu/font.c (grub_font_draw_string): ... here.
12234 * font/font.c (grub_font_dup_glyph): New function.
12235 (grub_font_blit_glyph): Likewise.
12236 (grub_font_blit_glyph_mirror): Likewise.
12237 (blit_comb): Likewise.
12238 (grub_font_construct_dry_run): Likewise.
12239 (grub_font_get_constructed_device_width): Likewise.
12240 (grub_font_construct_glyph): Likewise.
12241 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12242 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12243 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12244 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12245 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12246 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12247 (grub_font_get_xheight): New proto.
12248 (grub_font_get_constructed_device_width): Likewise.
12249 (grub_font_construct_glyph): Likewise.
12250 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12251 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12252 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12253 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12254 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12255 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12256 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12257 (grub_console_getcharwidth): Likewise.
12258 * include/grub/misc.h (grub_xputs): New proto.
12259 (grub_puts): Inlined.
12260 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12261 (grub_normal_get_line_counter): Removed.
12262 (grub_install_newline_hook): Likewise.
12263 (grub_normal_get_char_counter): New proto.
12264 (grub_normal_reset_more): Likewise.
12265 (grub_xputs_normal): Likewise.
12266 * include/grub/powerpc/ieee1275/console.h: Removed.
12267 * include/grub/sparc64/ieee1275/console.h: Likewise.
12268 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12269 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12270 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12271 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12272 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12273 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12274 (grub_term_input): Pass reference to self. All users updated.
12275 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12276 Pass reference to self. New fields normal_color, highlight_color and
12277 data. All users updated.
12278 (grub_putchar): Removed.
12279 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12280 (grub_unicode_estimate_width): New function.
12281 (grub_term_getcharwidth): Add defaults.
12282 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12283 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12284 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12285 (grub_cls): Remove EXPORT_FUNC.
12286 (grub_setcolorstate): Inline.
12287 (grub_newline_hook): Removed.
12288 * include/grub/terminfo.h: Rewritten. All users updated.
12289 * include/grub/unicode.h: New file.
12290 * include/grub/video.h (grub_video_signed_rect): New type.
12291 * kern/emu/console.c (grub_console_highlight_color): Removed.
12292 (grub_console_normal_color): Likewise.
12293 (grub_console_standard_color): Made static.
12294 (grub_ncurses_putchar): Remove mapping.
12295 (grub_ncurses_getcharwidth): Removed.
12296 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12297 (grub_ncurses_setcolor): Removed.
12298 (grub_ncurses_getcolor): Likewise.
12299 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12300 (grub_console_putchar): ... this.
12301 (grub_console_putchar): Handle argument difference.
12302 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12303 console_init_early and console_init_lately.
12304 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12305 * kern/misc.c (grub_puts): Removed.
12306 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12307 (grub_vsnprintf_real): Remove str = NULL support.
12308 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12309 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12310 * kern/term.c (grub_putcode): Renamed to ...
12311 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12312 (grub_putchar): Removed.
12313 (grub_xputs_dumb): New function.
12314 (grub_xputs): New variable.
12315 * lib/charset.c: Move from here ...
12316 * normal/charset.c: ... to here.
12317 (grub_ucs4_to_utf8): New function.
12318 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12319 (join_types): New variable.
12320 (unpack_join): New function.
12321 (bidi_types): New variable.
12322 (unpack_bidi): New function.
12323 (get_bidi_type): Likewise.
12324 (get_join_type): Likewise.
12325 (is_mirrored): Likewise.
12326 (grub_unicode_get_comb_type): Likewise.
12327 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12328 (is_type_after): Likewise.
12329 (grub_unicode_aglomerate_comb): Likewise.
12330 (bidi_line_wrap): Likewise.
12331 (grub_bidi_line_logical_to_visual): Likewise.
12332 (grub_bidi_logical_to_visual): Likewise.
12333 (grub_unicode_mirror_code): Likewise.
12334 (grub_unicode_shape_code): Likewise.
12335 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12336 Don't use grub_putchar.
12337 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12338 (grub_normal_reader_init): Likewise.
12339 (grub_xputs_saved): New variable.
12340 (GRUB_MOD_INIT): Set grub_xputs.
12341 (GRUB_MOD_FINI): Restore grub_xputs.
12342 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12343 (menu_init): Avoid printing gfxmenu error.
12344 (show_menu): Use grub_normal_get_char_counter.
12345 * normal/menu_entry.c (update_screen): Fix out-of-array.
12346 (complete): Avoid NULL dereferencing.
12347 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12348 * normal/menu_text.c (print_spaces): Removed.
12349 (grub_print_ucs4): Likewise.
12350 (grub_print_message_indented): Use grub_print_ucs4.
12351 (print_message): Use grub_putcode.
12352 (print_entry): Hanlde diacritics.
12353 * normal/term.c (term_state): New type.
12354 (grub_more_lines): Removed.
12355 (term_states): New variable.
12356 (grub_normal_line_counter): Renamed to ..
12357 (grub_normal_char_counter): ...this. All users updated.
12358 (grub_normal_get_line_counter): Renamed to ...
12359 (grub_normal_get_char_counter): ... this.
12360 (grub_normal_reset_more): New function.
12361 (process_newline): Removed.
12362 (print_more): New function.
12363 (grub_install_newline_hook): Removed.
12364 (map_code): New function.
12365 (grub_puts_terminal): Use grub_print_ucs4.
12366 (putglyph): New function.
12367 (putcode_real): Likewise.
12368 (grub_putcode): Use putcode_real.
12369 (get_maxwidth): New function.
12370 (get_startwidth): Likewise.
12371 (print_ucs4_terminal): Likewise.
12372 (find_term_state): Likewise.
12373 (put_glyphs_terminal): Likewise.
12374 (print_backlog): Likewise.
12375 (print_ucs4_real): Likewise.
12376 (grub_print_ucs4): Likewise.
12377 (grub_xputs_normal): Likewise.
12378 * term/efi/console.c (grub_console_putchar): Output diacritics.
12379 (grub_console_getcharwidth): Removed.
12380 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12381 * term/gfxterm.c (clear_char): Free chars.
12382 (scroll_up): Avoid leaking memory.
12383 (grub_gfxterm_putchar): Support diacritics.
12384 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12385 * term/i386/pc/console.c (grub_console_term_output): Declare as
12386 GRUB_TERM_CODE_TYPE_VGA.
12387 * term/i386/pc/vga.c (grub_vga_term): Declare as
12388 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12389 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12390 GRUB_TERM_CODE_TYPE_VGA.
12391 * term/i386/vga_common.c (map_char): Removed.
12392 (grub_console_putchar): Likewise.
12393 (grub_console_getcharwidth): Likewise.
12394 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12395 (colors): Reordered to match terminfo.
12396 (grub_ofconsole_normal_color): Removed.
12397 (grub_ofconsole_writeesc): Likewise.
12398 (grub_ofconsole_highlight_color): Likewise.
12399 (grub_ofconsole_getcharwidth): Likewise.
12400 (grub_ofconsole_setcolorstate): Likewise.
12401 (grub_ofconsole_setcolor): Likewise.
12402 (grub_ofconsole_getcolor): Likewise.
12403 (grub_ofconsole_readkey): Renamed to ...
12404 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12405 key.
12406 (grub_ofconsole_checkkey): Removed.
12407 (grub_ofconsole_getkey): Likewise.
12408 (grub_ofconsole_getxy): Likewise.
12409 (grub_ofconsole_gotoxy): Likewise.
12410 (grub_ofconsole_cls): Likewise.
12411 (grub_ofconsole_refresh): Likewise.
12412 (grub_ofconsole_terminfo_input): New struct.
12413 (grub_ofconsole_terminfo_output): Likewise.
12414 (grub_ofconsole_term_input): Use terminfo.
12415 (grub_ofconsole_term_output): Likewise.
12416 (grub_console_init): Split into ...
12417 (grub_console_init_early): ...this and ...
12418 (grub_console_init_lately): ...this. Use terminfo.
12419 (grub_ofconsole_putchar): Renamed to ...
12420 (put): ... this. Remove mapping.
12421 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12422 * term/serial.c: Simplify using terminfo.
12423 (xpos): Removed.
12424 (ypos): Likewise.
12425 (keep_track): Likewise.
12426 (registered): Likewise.
12427 (input_buf): Likewise.
12428 (npending): Likewise.
12429 (serial_translate_key_sequence): Likewise.
12430 (fill_input_buf): Likewise.
12431 (grub_serial_checkkey): Likewise.
12432 (grub_serial_getkey): Likewise.
12433 (grub_serial_getxy): Likewise.
12434 (grub_serial_gotoxy): Likewise.
12435 (grub_serial_putchar): Likewise.
12436 (grub_serial_cls): Likewise.
12437 (grub_serial_setcolorstate): Likewise.
12438 (grub_serial_setcursor): Likewise.
12439 (serial_hw_init): Use serial_hw_fetch.
12440 (grub_serial_terminfo_input): New variable.
12441 (grub_serial_terminfo_output): Likewise.
12442 (grub_serial_term_input): Use terminfo.
12443 (grub_serial_term_output): Likewise.
12444 * term/terminfo.c (putstr): Use put.
12445 (grub_terminfo_all_free): New function
12446 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12447 (grub_terminfo_output_register): New function.
12448 (grub_terminfo_output_unregister): Likewise.
12449 (grub_terminfo_getxy): Likewise.
12450 (grub_terminfo_readkey): Likewise.
12451 (grub_terminfo_checkkey): Likewise.
12452 (grub_terminfo_getkey): Likewise.
12453 (grub_terminfo_input_init): Likewise.
12454 (print_terminfo): Likewise.
12455 (grub_cmd_terminfo): Handle encoding.
12456 (grub_terminfo_gotoxy): Track position.
12457 (grub_terminfo_cls): Likewise.
12458 (grub_terminfo_putchar): Likewise.
12459 (grub_terminfo_setcolorstate): Handle colors
12460 (grub_terminfo_cursor_on): This ...
12461 (grub_terminfo_cursor_off): ... and this merged into ...
12462 (grub_terminfo_setcursor): ... this.
12463 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12464 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12465 * unicode/BidiMirroring.txt: Likewise.
12466 * unicode/UnicodeData.txt: Likewise.
12467 * unicode/COPYING: Likewise.
12468 * util/grub-editenv.c (grub_putchar): Removed.
12469 (grub_xputs_real): New function.
12470 (grub_xputs): New variable.
12471 * util/grub-fstest.c (grub_putchar): Removed.
12472 (grub_xputs_real): New function.
12473 (grub_xputs): New variable.
12474 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12475 (grub_xputs_real): New function.
12476 (grub_xputs): New variable.
12477 * util/grub-probe.c (grub_putchar): Removed.
12478 (grub_xputs_real): New function.
12479 (grub_xputs): New variable.
12480 * util/grub-script-check.c (grub_putchar): Removed.
12481 (grub_xputs_real): New function.
12482 (grub_xputs): New variable.
12483 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12484 (grub_xputs_real): New function.
12485 (grub_xputs): New variable.
12486 * util/import_unicode.py: New file.
12487 * util/grub-mkfont.c (ft_errmsgs): New array.
12488 (grub_glyph_info): Make bitmap a pointer.
12489 (file_formats): New type WIDTH_SPEC.
12490 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12491 (options): Add width-spec.
12492 (help): Likewise.
12493 (add_char): Renamed to ...
12494 (add_glyph): ... this.
12495 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12496 (glyph_replace): New type.
12497 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12498 (add_char): New function.
12499 (add_subst): Likewise.
12500 (process_cursive): Likewise.
12501 (add_font): Handle GSUB.
12502 (write_font_width_spec): New function.
12503 (main): Sort glyphs.
12504 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12505 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12506 * kern/term.c (grub_cls): Moved from here...
12507 * normal/term.c (grub_cls): ... here.
12508
50f0bcda
CW
125092010-07-02 Colin Watson <cjwatson@ubuntu.com>
12510
12511 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12512 suitable for using within the format argument of printf when
12513 converting grub_size_t.
12514 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12515 "x" to convert grub_size_t arguments.
12516
40372103
VS
125172010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12520 too long captions.
12521 (list_get_minimal_size): Take selection box into account.
12522
942a10c7
VS
125232010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12526 NULL font.
12527
2bdb2892
CW
125282010-07-02 Colin Watson <cjwatson@ubuntu.com>
12529
12530 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12531 devices when iterating over /dev/disk/by-id; they will be handled
12532 later if appropriate, which they aren't always (e.g. LVM).
12533
e03ed6c1
CW
125342010-07-02 Colin Watson <cjwatson@ubuntu.com>
12535
12536 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12537 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12538 fails.
12539 (grub_halt): Likewise.
12540 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12541 reset-all fails.
12542 (grub_halt): Don't return, even if all of shut-down, power-off, and
12543 poweroff fail.
12544
47695765
CW
125452010-07-02 Colin Watson <cjwatson@ubuntu.com>
12546
12547 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12548 arguments, not three.
12549
507736c8
CW
125502010-07-02 Colin Watson <cjwatson@ubuntu.com>
12551
12552 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12553 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12554 LVM-on-RAID is handled correctly.
12555
e3c8cd37
CW
125562010-07-02 Colin Watson <cjwatson@ubuntu.com>
12557
12558 * docs/grub.texi (Changes from GRUB Legacy): New section.
12559 (Future): Fix typo.
12560
8d4a2fec
CW
125612010-07-02 Colin Watson <cjwatson@ubuntu.com>
12562
12563 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12564 grub.d/README accidentally ends up executable for one reason or
12565 another. Ignore it.
12566
1c4827be
VS
125672010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12570 (gpt_partition_map_iterate): Support non-512B sectors.
12571
d9a0c941
VS
125722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12575 Tested by: Seth Goldberg.
12576
48f27e87
VS
125772010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12580 Properly align mbi.
12581 Reported by: Seth Goldberg.
12582
b0c4f956
VS
125832010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12584
12585 * util/grub-mkrescue.in: Avoid module duplication.
12586
105a2e8c
SF
125872010-07-01 Sean Finney <seanius@seanius.net>
12588
12589 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12590
5944958c
SF
125912010-07-01 Sean Finney <seanius@seanius.net>
12592
12593 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12594
125952010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 * disk/lvm.c (grub_lvm_checkvalue): New function.
12598 (grub_lvm_check_flag): Likewise.
12599
b79889ba
RM
126002010-07-01 Robert Millan <rmh@gnu.org>
12601
12602 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12603 Support 'p' as partition separator on kernel of FreeBSD (used
12604 with GPT labels).
12605 (grub_util_biosdisk_get_grub_dev): Likewise.
12606
ec1d04f1
VS
126072010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 Yeeloong firmware port.
12610
12611 * boot/mips/yeeloong/fwstart.S: New file.
12612 * bus/cs5536.c (gpiodump): New const.
12613 (set_io_space): New function.
12614 (set_iod): Likewise.
12615 (set_p2d): Likewise.
12616 (grub_cs5536_init_geode): Likewise.
12617 * commands/mips/yeeloong/lsspd.c: New file.
12618 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12619 (serial_mod_SOURCES): New variable.
12620 (serial_mod_CFLAGS): Likewise.
12621 (serial_mod_LDFLAGS): Likewise.
12622 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12623 term/terminfo.c and term/tparm.c.
12624 (pkglib_IMAGES): Add fwstart.img.
12625 (fwstart_img_SOURCES): New variable.
12626 (fwstart_img_CFLAGS): Likewise.
12627 (fwstart_img_ASFLAGS): Likewise.
12628 (fwstart_img_LDFLAGS): Likewise.
12629 (fwstart_img_FORMAT): Likewise.
12630 (pkglib_MODULES): Add lsspd.mod.
12631 (lsspd_mod_SOURCES): New variable.
12632 (lsspd_mod_CFLAGS): Likewise.
12633 (lsspd_mod_LDFLAGS): Likewise.
12634 (pkglib_MODULES): Add halt.mod.
12635 (halt_mod_SOURCES): New variable.
12636 (halt_mod_CFLAGS): Likewise.
12637 (halt_mod_LDFLAGS): Likewise.
12638 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12639 (serial_mod_SOURCES): Removed.
12640 (serial_mod_CFLAGS): Likewise.
12641 (serial_mod_LDFLAGS): Likewise.
12642 * disk/ata.c (check_device): New function.
12643 (grub_ata_device_initialize): Use check_device.
12644 (grub_ata_iterate): Recheck devices.
12645 (grub_ata_open): Likewise.
12646 (grub_atapi_iterate): Likewise.
12647 (grub_atapi_open): Likewise.
12648 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12649 (GRUB_ATA_CH1_PORT1): Likewise.
12650 (GRUB_ATA_CH0_PORT2): Likewise.
12651 (GRUB_ATA_CH1_PORT2): Likewise.
12652 * include/grub/mips/loongson.h: New file.
12653 * include/grub/mips/yeeloong/ec.h: Likewise.
12654 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12655 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12656 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12657 * include/grub/misc.h (grub_halt): Declare as noreturn.
12658 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12659 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12660 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12661 (UART_ENABLE_DTRRTS): Likewise.
12662 (UART_ENABLE_MODEM): Removed.
12663 (UART_ENABLE_OUT2): New const.
12664 * include/grub/term.h (grub_term_register_input_active): New function.
12665 (grub_term_register_output_active): Likewise.
12666 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12667 argument.
12668 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12669 (init_pci): New function.
12670 (grub_machine_init): Execute platform init when firmware. Init serial.
12671 (grub_halt): Implement.
12672 (grub_exit): Likewise.
12673 (grub_reboot): Likewise.
12674 * term/serial.c (serial_hw_init): Update macros.
12675 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12676 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12677 (image_targets): New target mipsel-yeeloong-flash.
12678 (generate_image): Support IMAGE_YEELOONG_FLASH.
12679 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12680 (grub_video_sm712_setup): Init card.
12681 (grub_video_sm712_set_palette): Removed.
12682 * video/sm712_init.c: New file.
12683
ff4a70d2
CW
126842010-06-30 Colin Watson <cjwatson@ubuntu.com>
12685
12686 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12687 PATH when running help2man and then run it on the unadorned
12688 executable names, rather than passing $(builddir)/* paths to
12689 help2man. This avoids the build directory ending up in generated
12690 manual pages.
12691
1246efeb
CW
126922010-06-29 Colin Watson <cjwatson@ubuntu.com>
12693
12694 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12695 to avoid accidents when debugging with 'sh -x'.
12696 * util/grub-mkrescue.in: Likewise.
12697 * util/grub.d/00_header.in: Likewise.
12698 * util/grub.d/10_hurd.in: Likewise.
12699 * util/grub.d/10_kfreebsd.in: Likewise.
12700 * util/grub.d/10_linux.in: Likewise.
12701 * util/grub.d/10_netbsd.in: Likewise.
12702 * util/grub.d/10_windows.in: Likewise.
12703 * util/grub.d/20_linux_xen.in: Likewise.
12704 * util/grub.d/30_os-prober.in: Likewise.
12705 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12706
1ba9b889
CW
127072010-06-29 Colin Watson <cjwatson@ubuntu.com>
12708
12709 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12710 last character in the buffer.
12711 Reported by: Vladimir Serbinenko.
12712
dccaf99d
RM
127132010-06-29 Robert Millan <rmh@gnu.org>
12714
12715 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12716 (Command-line and menu entry commands): Document `badram' command.
12717
d500ed12
RM
127182010-06-28 Robert Millan <rmh@gnu.org>
12719
12720 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12721 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12722 command using ${GRUB_BADRAM} as parameter.
12723
20bc84a6
CW
127242010-06-28 Colin Watson <cjwatson@ubuntu.com>
12725
12726 * docs/grub.texi (Device map): New section.
12727 (Themes): New section (stub).
12728 * Makefile.in (docs/grub.info): The info documentation now builds
12729 without errors. Make sure it stays that way.
12730
4045dee1
VS
127312010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 Use normal parser for menu entries.
12734 Reported by: Thomas Frauendorfer
12735
12736 * include/grub/parser.h (grub_parser_execute): Don't export.
12737 * normal/menu.c (grub_menu_execute_entry_real): New function.
12738 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12739
bca58c7b
CW
127402010-06-28 Colin Watson <cjwatson@ubuntu.com>
12741
12742 * docs/grub.texi (Embedded configuration): New section (replacing
12743 old "Preset Menu" stub).
12744 (Images): New section.
12745 (configfile): Note that any menu entries defined in `file' are shown
12746 immediately.
12747
dec53e63
JT
127482010-06-28 Josh Triplett <josh@joshtriplett.org>
12749
12750 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12751
c06e40f7
CW
127522010-06-28 Colin Watson <cjwatson@ubuntu.com>
12753
12754 * util/grub-install.in: Add --debug-image= option.
12755
cb88052b
CW
127562010-06-28 Colin Watson <cjwatson@ubuntu.com>
12757
12758 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12759 possible on Linux.
12760
12761 * util/deviceiter.c (check_device): Rename to ...
12762 (check_device_readable_unique): ... this. Update all callers.
12763 Maintain and check a list of which devices (by canonicalized name)
12764 have already been seen.
12765 (clear_seen_devices): New function.
12766 (compare_file_names) [__linux__]: New function.
12767 (grub_util_iterate_devices): Clear the list of seen devices on exit
12768 and (just in case) on entry.
12769 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12770 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12771 seen-devices list, superseded by general code in check_device.
12772
bbe34652
CW
127732010-06-28 Colin Watson <cjwatson@ubuntu.com>
12774
12775 * commands/cat.c (options): New variable.
12776 (grub_cmd_cat): Parse options. If the --dos option is given, print
12777 DOS-style "\r\n" line endings as simple newlines (Debian bug
12778 #586358).
12779 (GRUB_MOD_INIT): Use extcmd.
12780 (GRUB_MOD_FINI): Likewise.
12781 * docs/grub.texi (cat): Document --dos.
12782
412e09f3
VS
127832010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 XEN with Linux grub-mkconfig support.
12786
12787 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12788 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12789 GRUB_CMDLINE_XEN_DEFAULT.
12790 * util/grub.d/20_linux_xen.in: New file.
12791
53f3ef38 127922010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
12793
12794 Initialise VGA video on qemu ourselves.
12795
12796 * boot/i386/qemu/boot.S: Don't call 0xc000.
12797 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12798 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12799 (kernel_img_HEADERS): Add pci.h.
12800 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12801 * configure.ac: Force unifont on qemu and yeeloong.
12802 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12803 (grub_vga_palette_write): Use correct register.
12804 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12805 Call grub_qemu_init_cirrus.
12806 * kern/i386/qemu/init.c: New file.
12807 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12808
12809 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12810
c75be4fb
PR
128112010-06-26 Pavel Roskin <proski@gnu.org>
12812
12813 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12814 13.
12815
d8034603
CW
128162010-06-26 Colin Watson <cjwatson@ubuntu.com>
12817
12818 * docs/grub.texi (Simple configuration): Explain that
12819 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12820 set to `true' to disable their respective recovery entries, not
12821 merely set.
12822
3fa06487
CW
128232010-06-26 Colin Watson <cjwatson@ubuntu.com>
12824
12825 Make the `source' command slightly faster.
12826
12827 * normal/main.c (grub_normal_execute): Don't re-read list files when
12828 nested.
12829
e9b29642
CW
128302010-06-23 Colin Watson <cjwatson@ubuntu.com>
12831
12832 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12833 field position and mask size to red fields from mode_info, not
12834 green.
12835 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12836 Remove redundant tag->common.framebuffer_type assignment.
12837 Reported by: Seth Goldberg.
12838
e726542f
CW
128392010-06-23 Colin Watson <cjwatson@ubuntu.com>
12840
12841 Sync up other versions of the Linux loader with Robert Millan's
12842 change of 2010-01-09, "Make loader output a bit more user-friendly".
12843
12844 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12845 grub_dprintf().
12846 (grub_cmd_linux): Likewise.
12847 (grub_cmd_initrd): Likewise.
12848 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12849 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12850
d6e98a17
CW
128512010-06-21 Colin Watson <cjwatson@ubuntu.com>
12852
12853 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12854 larger than MEMORY_MAP_SIZE.
12855
14d3f08e
BC
128562010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12857
12858 Fix parallel build.
12859
12860 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12861 dependency.
12862 * script/parser.y: #include grub_script.tab.h header.
12863
4f9613a3
VS
128642010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 Support >3GiB and <16MiB RAM in i386-qemu.
12867
12868 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12869 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12870 (grub_lower_mem): Removed.
12871 (grub_upper_mem): Likewise.
12872 (mem_size): Made static.
12873 (above_4g): New variable.
12874 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12875 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12876 support.
12877
05e51879
VS
128782010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 Cirrus 5446 and Bochs video cards support.
12881
12882 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12883 video_bochs.mod
12884 (video_cirrus_mod_SOURCES): New variable.
12885 (video_cirrus_mod_CFLAGS): Likewise.
12886 (video_cirrus_mod_LDFLAGS): Likewise.
12887 (video_bochs_mod_SOURCES): Likewise.
12888 (video_bochs_mod_CFLAGS): Likewise.
12889 (video_bochs_mod_LDFLAGS): Likewise.
12890 * include/grub/vga.h: New file.
12891 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12892 (grub_video_fb_set_page_t): New type.
12893 (grub_video_fb_setup): New prototype.
12894 (grub_video_fb_swap_buffers): Likewise.
12895 (grub_video_fb_get_info_and_fini): Likewise.
12896 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12897 (CRTC_DATA_PORT): Likewise.
12898 (CRTC_CURSOR): Likewise.
12899 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12900 (CRTC_CURSOR_ADDR_LOW): Likewise.
12901 (CRTC_CURSOR_DISABLE): Likewise.
12902 (update_cursor): Use grub_vga_cr_write.
12903 (grub_vga_text_setcursor): Likewise.
12904 * video/bochs.c: New file.
12905 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12906 (palette): Likewise.
12907 (palette_size): Likewise.
12908 (framebuffer): New variable.
12909 (grub_video_fb_init): Use 'framebuffer'.
12910 (grub_video_fb_fini): Likewise.
12911 (grub_video_fb_get_info): Likewise.
12912 (grub_video_fb_get_palette): Likewise.
12913 (grub_video_fb_set_palette): Likewise.
12914 (grub_video_fb_set_viewport): Likewise.
12915 (grub_video_fb_get_viewport): Likewise.
12916 (grub_video_fb_map_color): Likewise.
12917 (grub_video_fb_map_rgb): Likewise.
12918 (grub_video_fb_map_rgba): Likewise.
12919 (grub_video_fb_unmap_color): Likewise.
12920 (grub_video_fb_unmap_color_int): Likewise.
12921 (grub_video_fb_fill_rect): Likewise.
12922 (grub_video_fb_blit_bitmap): Likewise.
12923 (grub_video_fb_blit_render_target): Likewise.
12924 (grub_video_fb_scroll): Likewise.
12925 (grub_video_fb_create_render_target): Likewise.
12926 (grub_video_fb_doublebuf_blit_init): Likewise.
12927 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12928 (doublebuf_pageflipping_update_screen): New function.
12929 (doublebuf_pageflipping_init): Likewise.
12930 (grub_video_fb_setup): Likewise.
12931 (grub_video_fb_swap_buffers): Likewise.
12932 (grub_video_fb_get_info_and_fini): Likewise.
12933 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12934 All users updated.
12935 (doublebuf_pageflipping_commit): Restructured into ...
12936 (doublebuf_pageflipping_set_page): ... this.
12937 (doublebuf_pageflipping_update_screen): Removed.
12938 (doublebuf_pageflipping_init): Likewise.
12939 (double_buffering_init): Likewise.
12940 (grub_video_vbe_setup): Use grub_video_fb_setup.
12941 (grub_video_vbe_swap_buffers): Removed.
12942 (grub_video_vbe_set_active_render_target): Likewise.
12943 (grub_video_vbe_get_active_render_target): Likewise.
12944 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12945 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12946 grub_video_fb_set_active_render_target and
12947 grub_video_fb_get_active_render_target.
12948 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12949 (SEQUENCER_DATA_PORT): Likewise.
12950 (MAP_MASK_REGISTER): Likewise.
12951 (CRTC_ADDR_PORT): Likewise.
12952 (CRTC_DATA_PORT): Likewise.
12953 (START_ADDR_HIGH_REGISTER): Likewise.
12954 (START_ADDR_LOW_REGISTER): Likewise.
12955 (GRAPHICS_ADDR_PORT): Likewise.
12956 (GRAPHICS_DATA_PORT): Likewise.
12957 (READ_MAP_REGISTER): Likewise.
12958 (INPUT_STATUS1_REGISTER): Likewise.
12959 (INPUT_STATUS1_VERTR_BIT): Likewise.
12960 (get_map_mask): Use grub_vga_sr_read.
12961 (set_map_mask): Use grub_vga_sr_write.
12962 (set_read_map): Use grub_vga_gr_write.
12963 (set_start_address): Use grub_vga_cr_write.
12964 * video/sm712.c (framebuffer): Remove leftover fields.
12965
4321c64a
CW
129662010-06-20 Colin Watson <cjwatson@ubuntu.com>
12967
12968 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12969 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12970 instead. Replace the gfxterm backend check with a check that
12971 ${GRUB_PREFIX}/video.lst is non-empty.
12972 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12973 again.
12974 (load_video): New generated function. Call it before loading
12975 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12976 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12977 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12978 * docs/grub.texi (Simple configuration): Document
12979 GRUB_VIDEO_BACKEND.
12980
129812010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 Use video functions in linux and xnu loaders.
12984
12985 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12986 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12987 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12988 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12989 loader/i386/pc/linux.c.
12990 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12991 (find_line_len): Removed.
12992 (find_framebuf): Likewise.
12993 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12994 * loader/i386/efi/xnu.c: Removed.
12995 * loader/i386/pc/xnu.c: Moved from here...
12996 * loader/i386/xnu.c: ...here.
12997
12998 Enable priorities in video drivers.
12999
13000 * include/grub/video.h (grub_video_adapter_prio_t): New type.
13001 (grub_video_adapter): New field prio.
13002 (grub_video_register): Respect prio when inserting.
13003 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
13004 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
13005 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
13006 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
13007 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
13008 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
13009 * video/sm712.c (grub_video_sm712_adapter): Likewise.
13010
13011 Fix SDL driver ID.
13012
13013 * include/grub/video.h (grub_video_driver_id_t): New value
13014 GRUB_VIDEO_DRIVER_SDL.
13015 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
13016
7d24e434
CW
130172010-06-17 Colin Watson <cjwatson@ubuntu.com>
13018
13019 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
13020 argument to printf.
13021 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13022
c88a83f6
CW
130232010-06-17 Colin Watson <cjwatson@ubuntu.com>
13024
13025 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
13026 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13027
094dfb69
CW
130282010-06-17 Colin Watson <cjwatson@ubuntu.com>
13029
13030 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
13031 directly, and recommend grub-install instead.
13032 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13033
2164da6b
CW
130342010-06-17 Colin Watson <cjwatson@ubuntu.com>
13035
13036 Fix i386-pc prefix handling with nested partitions (Debian bug
13037 #585068). Note that the case where the core image is booted using
13038 multiboot and relocated from its original location still requires
13039 more work.
13040
13041 * kern/i386/pc/init.c (make_install_device): If the prefix starts
13042 with "(,", fill the boot drive in between those two characters, but
13043 expect that a full partition specification including partition map
13044 names will follow.
13045 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
13046 specified, write a prefix without the drive name but including a
13047 full partition specification.
13048
044e2e60
CW
130492010-06-16 Colin Watson <cjwatson@ubuntu.com>
13050
13051 * util/grub-mkconfig.in: Ignore non-option arguments, for
13052 compatibility with older versions (before 2010-06-12) which did the
13053 same. In particular, this makes it easier to ship an update-grub
13054 wrapper which is compatible with that used with GRUB Legacy (Debian
13055 bug #586056).
13056
5591324f
GS
130572010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13058
13059 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13060 for manual page generation.
13061
662e24d5
GS
130622010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13063
13064 * po/POTFILES: Remove leftover commands/handler.c.
13065
8d70754e
CW
130662010-06-14 Colin Watson <cjwatson@ubuntu.com>
13067
13068 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13069 left this script non-functional.
13070
41160e2e
CW
130712010-06-14 Colin Watson <cjwatson@ubuntu.com>
13072
13073 * docs/man/grub-emu.h2m: New file.
13074
b5309cc1
CW
130752010-06-13 Colin Watson <cjwatson@ubuntu.com>
13076
13077 * docs/grub.texi (Commands): Document reduced command set in rescue
13078 mode.
13079 (cpuid): New section.
13080
fcb2d090
GS
130812010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13082
13083 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13084 new partition naming style.
13085 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13086
96e5c556
BC
130872010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13088
13089 Add "-o grub.iso" like cmdline options support.
13090
13091 * util/grub-install.in: Improve cmdline option parsing.
13092 * util/grub-mkconfig.in: Likewise.
13093 * util/grub-mkrescue.in: Likewise.
13094 * util/grub-reboot.in: Likewise.
13095 * util/grub-set-default.in: Likewise.
13096 * util/i386/efi/grub-install.in: Likewise.
13097 * util/ieee1275/grub-install.in: Likewise.
13098 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13099
c16be99b
CW
131002010-06-12 Colin Watson <cjwatson@ubuntu.com>
13101
13102 * .bzrignore: Ignore 41_custom.
13103
ce08a9fb
TS
131042010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13105
13106 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13107
7beac90c
CW
131082010-06-12 Colin Watson <cjwatson@ubuntu.com>
13109
13110 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13111 prototype declarations.
13112
13113 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13114 generating fs, partmap, and video lists.
13115 * include/grub/fs.h (grub_fs_register): Omit prototype if
13116 GRUB_LST_GENERATOR is defined.
13117 * include/grub/partition.h (grub_partition_map_register): Likewise.
13118 * include/grub/video.h (grub_video_register): Likewise.
13119
1c8f0f8d
JM
131202010-06-12 Javier Martín <lordhabbit@gmail.com>
13121
13122 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13123
a6085973
TS
131242010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13125
13126 * util/grub-mkrescue.in: Support --xorriso argument.
13127
25c56d29
VS
131282010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13131 Suggested by: Thomas Schmitt.
13132
e03e4b24
VS
131332010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13136 Suggested by: Thomas Schmitt.
13137
57711df6
VS
131382010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 custom.cfg support.
13141
13142 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13143 * util/grub.d/41_custom.in: New file.
13144
ee62c427
CW
131452010-06-12 Colin Watson <cjwatson@ubuntu.com>
13146
13147 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13148 been merged back into normal.
13149
283af07a
CW
131502010-06-11 Colin Watson <cjwatson@ubuntu.com>
13151
13152 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
13153 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
13154
56a0d956
CW
131552010-06-11 Colin Watson <cjwatson@ubuntu.com>
13156
13157 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
13158 when generating manual pages.
13159 * docs/man/grub-bin2h.h2m: New file.
13160 * docs/man/grub-editenv.h2m: New file.
13161 * docs/man/grub-fstest.h2m: New file.
13162 * docs/man/grub-install.h2m: New file.
13163 * docs/man/grub-macho2img.h2m: New file.
13164 * docs/man/grub-mkconfig.h2m: New file.
13165 * docs/man/grub-mkdevicemap.h2m: New file.
13166 * docs/man/grub-mkfont.h2m: New file.
13167 * docs/man/grub-mkimage.h2m: New file.
13168 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13169 * docs/man/grub-mkrelpath.h2m: New file.
13170 * docs/man/grub-mkrescue.h2m: New file.
13171 * docs/man/grub-ofpathname.h2m: New file.
13172 * docs/man/grub-pe2elf.h2m: New file.
13173 * docs/man/grub-probe.h2m: New file.
13174 * docs/man/grub-reboot.h2m: New file.
13175 * docs/man/grub-script-check.h2m: New file.
13176 * docs/man/grub-set-default.h2m: New file.
13177 * docs/man/grub-setup.h2m: New file.
13178
3a37e322
VS
131792010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 Use FOR_* macros instead of *_iterate whenever possible.
13182
13183 * commands/handler.c: Removed.
13184 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13185 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13186 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13187 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13188 (grub_probe_SOURCES): Remove kern/parser.c.
13189 (util/grub-script-check.c_DEPENDENCIES): Removed.
13190 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13191 and grub_script_check_init.c.
13192 (grub_script_check_init.lst): Removed.
13193 (grub_script_check_init.h): Likewise.
13194 (grub_script_check_init.c): Likewise.
13195 (pkglib_MODULES): Remove handler.mod and sh.mod.
13196 (handler_mod_SOURCES): Removed.
13197 (handler_mod_CFLAGS): Likewise.
13198 (handler_mod_LDFLAGS): Likewise.
13199 (normal_mod_SOURCES): Remove normal/handler.c.
13200 Add script/main.c, script/script.c, script/execute.c,
13201 script/function.c, script/lexer.c, grub_script.tab.c
13202 and grub_script.yy.c.
13203 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13204 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13205 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13206 (grub_setup_SOURCES): Remove kern/parser.c.
13207 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13208 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13209 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13210 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13211 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13212 (grub_setup_SOURCES): Remove kern/parser.c.
13213 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13214 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13215 * include/grub/command.h (grub_command_iterate): Removed.
13216 (FOR_COMMANDS): New macro.
13217 * include/grub/dl.h (grub_dl): New member next.
13218 (grub_dl_iterate): Removed.
13219 (grub_dl_head): New variable declaration.
13220 (FOR_DL_MODULES): New macro.
13221 * include/grub/fs.h: Include list.h.
13222 (grub_fs): Make next first element.
13223 (grub_fs_list): New variable declaration.
13224 (grub_fs_register): Make inline.
13225 (grub_fs_unregister): Likewise.
13226 (grub_fs_iterate): Removed.
13227 (FOR_FILESYSTEMS): New macro.
13228 * include/grub/handler.h: Removed.
13229 * include/grub/list.h (grub_list_hook_t): Removed.
13230 (grub_list_test_t): Likewise.
13231 (grub_list_pop): Likewise.
13232 (grub_list_iterate): Likewise.
13233 (grub_list_insert): Likewise.
13234 (FOR_LIST_ELEMENTS): New macro.
13235 * include/grub/parser.h (grub_parser_class): Removed.
13236 (grub_parser_register): Likewise.
13237 (grub_parser_unregister): Likewise.
13238 (grub_parser_get_current): Likewise.
13239 (grub_parser_set_current): Likewise.
13240 (grub_register_rescue_parser): Likewise.
13241 (grub_rescue_parse_line): New function.
13242 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13243 * include/grub/script_sh.h (grub_script_function_list): New variable
13244 declaration.
13245 (FOR_SCRIPT_FUNCTIONS): New macro.
13246 (grub_script_function_iterate): Removed.
13247 (grub_normal_parse_line): New prototype.
13248 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13249 (FOR_DISABLED_TERM_INPUTS): Likewise.
13250 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13251 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13252 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13253 element.
13254 (grub_video_register): Inline.
13255 (grub_video_unregister): Likewise.
13256 (grub_video_adapter_list): New variable declaration.
13257 (grub_video_iterate): Removed.
13258 (FOR_VIDEO_ADAPTERS): New macro.
13259 * kern/dl.c (grub_dl_list): Removed. All users updated.
13260 (grub_dl_iterate): Removed.
13261 * kern/fs.c (grub_fs_list): Make global.
13262 (grub_fs_register): Removed.
13263 (grub_fs_unregister): Likewise.
13264 (grub_fs_iterate): Likewise.
13265 * kern/handler.c: Removed.
13266 * kern/list.c (grub_list_pop): Removed.
13267 (grub_list_iterate): Likewise.
13268 (grub_list_insert): Likewise.
13269 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13270 (grub_prio_list_insert): Don't use grub_list_insert.
13271 * kern/main.c (grub_register_rescue_parser): Don't call
13272 grub_register_rescue_parser.
13273 * kern/parser.c (grub_parser_class): Removed.
13274 (grub_parser_execute): Use grub_rescue_parse_line.
13275 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13276 (grub_rescue_parser): Removed.
13277 (grub_register_rescue_parser): Likewise.
13278 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13279 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13280 (grub_auth_check_authentication): Likewise.
13281 * normal/completion.c (iterate_command): Removed.
13282 (grub_normal_do_completion): Use FOR_COMMANDS.
13283 * normal/handler.c: Removed.
13284 * normal/main.c (read_config_file): Remove parser changing.
13285 (grub_normal_execute): Don't call read_handler_list.
13286 (grub_normal_read_line_real): Statically allocate prompt.
13287 (grub_cmdline_run): Use grub_normal_parse_line.
13288 (GRUB_MOD_FINI): Don't call free_handler_list.
13289 * normal/menu_entry.c (run): Likewise.
13290 * script/function.c (grub_script_function_list): Make global.
13291 (grub_script_function_iterate): Removed.
13292 * script/main.c (grub_normal_parse_line): Make global.
13293 (grub_sh_parser): Removed.
13294 (GRUB_MOD_INIT): Likewise.
13295 (GRUB_MOD_FINI): Likewise.
13296 * tests/lib/functional_test.c (grub_functional_test): Use
13297 FOR_LIST_ELEMENTS.
13298 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13299 (grub_test_run): Use FOR_LIST_ELEMENTS.
13300 * tests/lib/unit_test.c (main): Likewise.
13301 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13302 grub_list_pop.
13303 * util/grub-fstest.c (grub_term_input_class): Removed.
13304 (grub_term_output_class): Likewise.
13305 * util/grub-probe.c: Likewise.
13306 * util/i386/pc/grub-setup.c: Likewise.
13307 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13308 * util/grub-script-check.c (main): Don't call grub_init_all and
13309 grub_fini_all.
13310 * video/video.c (grub_video_adapter_list): Make global.
13311 (grub_video_register): Removed.
13312 (grub_video_unregister): Likewise.
13313 (grub_video_iterate): Likewise.
13314
6289c3a7
VS
133152010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13318 reported by Henrique Ferreiro.
13319
91460247
RM
133202010-06-09 Robert Millan <rmh@gnu.org>
13321
13322 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13323 ones, when both are available.
13324
0ea7c4f9
GS
133252010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13326
13327 Make --version uniform and avoid hard-coded program name.
13328
13329 * util/grub-mkimage.c (main): Use `program_name' instead of
13330 hard-coded string.
13331 * util/i386/pc/grub-setup.c (main): Likewise.
13332 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13333 * util/grub-install.in: Save the basename of $0 in $self, and use the
13334 latter in informational messages. Use the same format for --version
13335 as the binary programs.
13336 * util/grub-mkconfig.in: Likewise.
13337 * util/grub-mkrescue.in: Likewise.
13338 * util/grub-reboot.in: Likewise.
13339 * util/grub-set-default.in: Likewise.
13340 * util/i386/efi/grub-install.in: Likewise.
13341 * util/ieee1275/grub-install.in: Likewise.
13342 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13343
e8a6f3b6
GS
133442010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13345
13346 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13347 embedding area. Use <= instead of == when checking for non-emptiness.
13348
f4d095d7
GS
133492010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13350
13351 * configure.ac: Add `.' to the directories searched for unifont.
13352
50e532ca
CW
133532010-06-08 Colin Watson <cjwatson@ubuntu.com>
13354
13355 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13356 grub_script.yy.h.
13357
d39f3dec
CW
133582010-06-08 Colin Watson <cjwatson@ubuntu.com>
13359
13360 * docs/grub.texi (History): Expand to cover GRUB 2.
13361 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13362 commands, not `terminal'.
13363 (serial): Likewise.
13364 (terminal_input): New section.
13365 (terminal_output): New section.
13366 (uppermem): New section (stub).
13367 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13368
6ef0ddb4
CW
133692010-06-08 Colin Watson <cjwatson@ubuntu.com>
13370
13371 * docs/grub.texi (Security): Menu entries are unrestricted by
13372 default, not restricted to superusers as I had previously thought.
13373 Reword to account for this.
13374
e0f4c438
CW
133752010-06-07 Colin Watson <cjwatson@ubuntu.com>
13376
13377 * kern/emu/misc.c (device_mapper_null_log): New function.
13378 (grub_device_mapper_supported): New function.
13379 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13380 prototype.
13381 * kern/emu/hostdisk.c (find_partition_start): Check whether
13382 device-mapper is supported before trying to use it.
13383 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13384
da908200
CW
133852010-06-07 Colin Watson <cjwatson@ubuntu.com>
13386
13387 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13388 (File name syntax): Likewise.
13389 (help): --all is no longer supported in GRUB 2. Be more precise
13390 about pattern matching.
13391
fb55c3ac
CW
133922010-06-07 Colin Watson <cjwatson@ubuntu.com>
13393
13394 * normal/completion.c (grub_normal_do_completion): When completing
13395 arguments to "set" and the current word contains an equals sign,
13396 skip to after the equals sign before starting completion.
13397
258c2573
CW
133982010-06-07 Colin Watson <cjwatson@ubuntu.com>
13399
13400 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13401
ee75515e
CW
134022010-06-07 Colin Watson <cjwatson@ubuntu.com>
13403
13404 * docs/grub.texi (Network): New section.
13405 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13406 `(nd)' as in GRUB Legacy.
13407 (pxe_unload): New section.
13408
a6a700aa
CW
134092010-06-07 Colin Watson <cjwatson@ubuntu.com>
13410
13411 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13412 in the rescue shell, so recommend using `set' instead. Thanks,
13413 Jordan Uggla.
13414
4003dd38
CW
134152010-06-07 Colin Watson <cjwatson@ubuntu.com>
13416
13417 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13418 (password): New section.
13419 (password_pbkdf2): New section.
13420 (search): New section.
13421 (Security): New section.
13422 (Troubleshooting): New section, currently very incomplete.
13423 (Invoking grub-mkpasswd-pbkdf2): New section.
13424 (Internals): New section, currently very incomplete.
13425
e1cbcc40
CW
134262010-06-07 Colin Watson <cjwatson@ubuntu.com>
13427
13428 * util/grub.d/00_header.in: Add some more quoting (of
13429 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13430 work again.
13431 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13432
db8fa1ad
CW
134332010-06-07 Colin Watson <cjwatson@ubuntu.com>
13434
13435 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13436 to `count', fixing variable shadowing that broke the -c option.
13437
134382010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
13439
13440 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13441 in case they contain spaces.
13442
f28a9212
CW
134432010-06-04 Colin Watson <cjwatson@ubuntu.com>
13444
13445 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13446 "part_" to partmap module names, in line with grub-install.
13447 Reported by: Jindřich Makovička (Debian bug #584426).
13448
9cdfe32f
CW
134492010-06-04 Colin Watson <cjwatson@ubuntu.com>
13450
13451 * util/grub-mkimage.c: Make target-related error messages slightly
13452 more helpful; -O talks about "format". Explicitly point to the use
13453 of -O if no target is specified.
13454 Reported by: Didier Raboud (Debian bug #584415).
13455
795b593a
CW
134562010-06-03 Colin Watson <cjwatson@ubuntu.com>
13457
13458 * INSTALL: Document several build requirements for optional features
13459 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13460
9d9b5833
GS
134612010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13462
13463 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13464 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13465 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13466
0819fec8
CW
134672010-06-02 Colin Watson <cjwatson@ubuntu.com>
13468
13469 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13470 Thanks to Jordan Uggla for spotting this.
13471
49396b4f
VS
134722010-06-02 Aleš Nesrsta <starous@volny.cz>
13473
13474 Finally make USB usable.
13475
13476 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13477 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13478 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13479 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13480 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13481 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13482 (GRUB_OHCI_FSMPS): Likewise.
13483 (GRUB_OHCI_PERIODIC_START): Likewise.
13484 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13485 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13486 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13487 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13488 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13489 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13490 (grub_ohci_transaction): Likewise.
13491 (grub_ohci_transfer): Improve condition detection algorithms.
13492 Handle toggle property. Program the transactions correctly.
13493 Improve error handling. Various important fixups.
13494 (grub_ohci_portstatus): Put register writes in right order.
13495 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13496 (grub_uhci_transfer): Don't show "failed" message on success.
13497 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13498 array.
13499 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13500 determine its size.
13501 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13502 before initialization is completed. Use IN direction for empty
13503 transfers. Use last_trans and compute toggle.
13504 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13505 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13506 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13507 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13508 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13509 (grub_usb_device): Increase toggle to 256.
13510 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13511 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13512 GRUB_USBMS_SUBCLASS_SFF8070.
13513 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13514 (grub_scsi_inquiry): New member page and alloc_length.
13515 (grub_scsi_request_sense): New structure.
13516 (grub_scsi_request_sense_data): Likewise.
13517 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13518 control.
13519 * disk/scsi.c (grub_scsi_request_sense): New function.
13520 (grub_scsi_test_unit_ready): Likewise.
13521 (grub_scsi_inquiry): Fill new fields.
13522 (grub_scsi_read_capacity): Likewise.
13523 (grub_scsi_read10): Add request sense at the end.
13524 (grub_scsi_read12): Likewise.
13525 (grub_scsi_write10): Likewise.
13526 (grub_scsi_write12): Likewise.
13527 (grub_scsi_open): Add Test Unit Ready.
13528 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13529 Support additional subclasses. Con't clear halt yet. Activate the
13530 proper config. Calculate LUNs correctly.
13531 (grub_usbms_transfer): Various important fixups.
13532
135332010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13536 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13537 (grub_ohci_fini_hw): New function.
13538 (grub_ohci_restore_hw): Likewise.
13539 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13540 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13541 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13542
135432010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 Dedicated DMA allocations.
13546
13547 * bus/pci.c (grub_memalign_dma32): New function
13548 (grub_dma_free): Likewise.
13549 (grub_dma_get_virt): Likewise.
13550 (grub_dma_get_phys): Likewise.
13551 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13552 (grub_ohci_pci_iter): Use dma32_alloc.
13553 (grub_ohci_transfer): Likewise.
13554 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13555 (grub_usb_bulk_readwrite): Likewise.
13556 * include/grub/pci.h: Add declarations.
13557
135582010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 CS5536 support.
13561
13562 * bus/cs5536.c: New file.
13563 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13564 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13565 (cs5536_mod_SOURCES): New variable.
13566 (cs5536_mod_CFLAGS): Likewise.
13567 (cs5536_mod_LDFLAGS): Likewise.
13568 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13569 machine/pci.h.
13570 (kernel_img_SOURCES): Add bus/cs5536.c.
13571 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13572 usb_keyboard.mod.
13573 (usb_mod_SOURCES): New variable.
13574 (usb_mod_CFLAGS): New variable.
13575 (usb_mod_LDFLAGS): New variable.
13576 (usbtest_mod_SOURCES): New variable.
13577 (usbtest_mod_CFLAGS): New variable.
13578 (usbtest_mod_LDFLAGS): New variable.
13579 (ohci_mod_SOURCES): New variable.
13580 (ohci_mod_CFLAGS): New variable.
13581 (ohci_mod_LDFLAGS): New variable.
13582 (usbms_mod_SOURCES): New variable.
13583 (usbms_mod_CFLAGS): New variable.
13584 (usbms_mod_LDFLAGS): New variable.
13585 (usb_keyboard_mod_SOURCES): New variable.
13586 (usb_keyboard_mod_CFLAGS): New variable.
13587 (usb_keyboard_mod_LDFLAGS): New variable.
13588 * include/grub/smbus.h: New file.
13589 * include/grub/cs5536.h: New file.
13590
0b35b2a9
CW
135912010-06-02 Colin Watson <cjwatson@ubuntu.com>
13592
13593 * util/grub.d/00_header.in: Add safety check to make sure that
13594 ${locale_dir} exists before trying to probe it.
13595
ca0afd5b
CW
135962010-06-02 Colin Watson <cjwatson@ubuntu.com>
13597
13598 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13599 per the GNU Coding Standards; this is now too obscure to be worth
13600 documenting.
13601 (QNX): Likewise.
13602 (chainloader): Remove cross-reference to `SCO UnixWare'.
13603
1c41aa78
CW
136042010-06-02 Colin Watson <cjwatson@ubuntu.com>
13605
13606 * docs/grub.texi (Chain-loading): New section.
13607 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13608 adjusted for GRUB 2.
13609 (SCO UnixWare): Likewise.
13610 (QNX): Likewise.
13611 (chainloader): Add reference to `Block list syntax'.
13612 (drivemap): New section.
13613 (parttool): New section.
13614
bb8ea0f5
CW
136152010-06-02 Colin Watson <cjwatson@ubuntu.com>
13616
13617 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13618 the grub shell'.
13619 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13620 (Installing GRUB using grub-install): Remove reference to the grub
13621 shell; mention `grub-mkimage' and `grub-setup' instead.
13622 (Invoking grub-install): Likewise.
13623 (Interface): Add reference to `Menu entry editor'.
13624 (serial): Remove `--device' option.
13625
288dd6ed
CW
136262010-06-02 Colin Watson <cjwatson@ubuntu.com>
13627
13628 * docs/grub.texi (Configuration): New section, documenting
13629 configuration file generation using grub-mkconfig. I've left a slot
13630 for documenting the full shell scripting format but have not yet
13631 started on writing that up.
13632 (Invoking grub-mkconfig): New section.
13633
34c9f0e9
CW
136342010-06-02 Colin Watson <cjwatson@ubuntu.com>
13635
13636 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13637 (GNU GRUB manual): Likewise.
13638 (General commands): Update description of `terminfo' for GRUB 2.
13639
9121567e
CW
136402010-06-02 Colin Watson <cjwatson@ubuntu.com>
13641
13642 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13643 (GRUB_MOD_INIT): Fix capitalisation.
13644 * docs/grub.texi (Command-line and menu entry commands): Document
13645 gettext and gptsync commands.
13646
ab631611
CW
136472010-06-02 Colin Watson <cjwatson@ubuntu.com>
13648
13649 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13650 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13651
bde4a9ac
CW
136522010-06-01 Colin Watson <cjwatson@ubuntu.com>
13653
13654 Add btrfs probing support, currently only in the single-device case.
13655
13656 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13657 function.
13658 (grub_guess_root_device): Call find_root_device_from_mountinfo
13659 before looking in /dev.
13660
b1d17e10
VS
136612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13664 GRUB_DISK_SIZE_UNKNOWN.
13665 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13666
dfbfe004
JS
136672010-05-31 Jiro SEKIBA <jir@unicus.jp>
13668
13669 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13670 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13671 corrupted or not synced properly.
13672
c2ffc8e9
VS
136732010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13676 Reported by: Seth Goldberg.
13677
56293166
VS
136782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13681 addition of dest.
13682 Reported by: Seth Goldberg.
13683
7620e7de
VS
136842010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13687 Reported by: Seth Goldberg.
13688
c837af3f
VS
136892010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13690
13691 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13692 64-bit address as signed on MIPS.
13693
c7c75cf4
CW
136942010-05-28 Colin Watson <cjwatson@ubuntu.com>
13695
13696 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13697 to the empty string.
13698
fa4b8490
BC
136992010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13700
13701 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13702
13703 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13704 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13705 * kern/misc.c (__enable_execute_stack): Disable on
13706 GRUB_MACHINE_EMU.
13707
a33075b9
CW
137082010-05-28 Colin Watson <cjwatson@ubuntu.com>
13709
13710 Make grub-probe work with symbolic links under /dev/mapper as well
13711 as with real block devices. The Linux world seems to be (at best)
13712 in transition here, and GRUB shouldn't get caught in the middle.
13713
13714 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13715 /dev/mapper.
13716
d8708134
CW
137172010-05-27 Colin Watson <cjwatson@ubuntu.com>
13718
13719 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13720 input files (in which case exit zero).
13721
db2102a0
CW
137222010-05-27 Colin Watson <cjwatson@ubuntu.com>
13723
13724 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13725 return NULL for various reasons even if it has a maximum-length
13726 buffer: for example, there might be a symlink loop, or the path
13727 might exceed PATH_MAX. If this happens, return NULL.
13728
5fdba519
RM
137292010-05-27 Robert Millan <rmh@gnu.org>
13730
13731 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13732 partmap module to handle cross-partmap setups.
13733 Reported by Orestes Mas. Gràcies!
13734
d1d368e4
CW
137352010-05-27 Colin Watson <cjwatson@ubuntu.com>
13736
13737 * util/grub-mkrescue.in: Initialise override_dir rather than
13738 assuming that it's unset or empty in the environment.
13739
95ac3c73
GS
137402010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13741
13742 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13743 variable index into p_index to suppress a warning with -Wshadow.
13744
7d8c0213
BC
137452010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13746
13747 * INSTALL: Added flex >= 2.5.35 requirement.
13748
db4d5813
VS
137492010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13752
f24f4300
VS
137532010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 cmostest support.
13756
13757 * commands/i386/cmostest.c: New file.
13758 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13759 (cmostest_mod_SOURCES): New variable.
13760 (cmostest_mod_CFLAGS): Likewise.
13761 (cmostest_mod_LDFLAGS): Likewise.
13762 * conf/i386-pc.rmk: Likewise.
13763 * docs/grub.texi (Vendor power-on keys): New section.
13764 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13765 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13766 and GRUB_BUTTON_CMOS_ADDRESS.
13767 * util/grub.d/00_header.in: Handle powering-on by separate button.
13768
ad603f61
VS
137692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13772 Removed drawing_scrollbar argument. All users updated
13773 Fixes #29792.
13774 Reported by Jo Shields
13775
3ecb080a
VS
137762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13777
13778 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13779 buffer since gfxterm handles double repaint.
13780
5f2316c1
VS
137812010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13784 * term/gfxterm.c (real_scroll): Likewise.
13785
9a25f885
VS
137862010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13789 before calling BIOS.
13790
39fbb79a
VS
137912010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 * include/grub/i18n.h: Always enable grub_gettext.
13794
228cfa97
VS
137952010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13798 partition naming style.
13799
21717c8f
CW
138002010-05-21 Colin Watson <cjwatson@ubuntu.com>
13801
13802 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13803 not the first option.
13804
c0f48e65
CW
138052010-05-20 Colin Watson <cjwatson@ubuntu.com>
13806
13807 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13808
96779aec
CW
138092010-05-20 Colin Watson <cjwatson@ubuntu.com>
13810
13811 * util/misc.c: Move inclusion of <limits.h> to ...
13812 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13813
fa9d256e
GS
138142010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13815
13816 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13817 Fix merge error in NetBSD code.
13818 (find_partition_start) [__NetBSD__]: Likewise.
13819
123b7a85
BC
138202010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13821
13822 Fix grub-mkrescue usage unit testing.
13823
13824 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13825
74276c0d
CF
138262010-05-18 Christian Franke <franke@computer.org>
13827
13828 * util/grub.d/10_windows.in: Use path names instead of
13829 drive letters to prevent warning from Cygwin 1.7.
13830 Add drivemap command to menuentry if needed.
13831
c4f7b523
ST
138322010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13833
13834 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13835 gnumach and gnumach.gz.
13836
95b97950
VS
138372010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 * include/grub/i18n.h (gettext): Inline instead of using #define.
13840 (grub_gettext): Likewise.
13841 (_): Likewise.
13842
01b8d2d7
VS
138432010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13846 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13847 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13848 (main): Add a slash after pkglibdirroot.
13849
654e1d1e
VS
138502010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 * util/grub-install.in: Add missing "in" keyword.
13853
26966aeb
VS
138542010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13857 Reported by: Seth Goldberg.
13858
75006747
VS
138592010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13860
13861 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13862
74cbf5bd
CW
138632010-05-18 Colin Watson <cjwatson@ubuntu.com>
13864
13865 * configure.ac: Check for Linux device-mapper support.
13866
13867 * util/hostdisk.c (device_is_mapped): New function.
13868 (find_partition_start): New function, partly broken out from
13869 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13870 device-mapper support added.
13871 (linux_find_partition): Use find_partition_start.
13872 (convert_system_partition_to_system_disk): Add `st' argument.
13873 Support Linux /dev/mapper/* devices if device-mapper support is
13874 available; only DM-RAID devices are understood at present.
13875 (find_system_device): Add `st' argument. Pass it to
13876 convert_system_partition_to_system_disk.
13877 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13878 find_system_device and convert_system_partition_to_system_disk. Use
13879 find_partition_start.
13880
13881 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13882 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13883 * util/deviceiter.c [__linux__]: Define MINOR.
13884 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13885 * util/mkdevicemap.c (grub_putchar): New function.
13886 (grub_getkey): New function.
13887 (grub_refresh): New function.
13888 (main): Set debug=all if -v -v is used.
13889
355b51e9
CW
138902010-05-18 Colin Watson <cjwatson@ubuntu.com>
13891
13892 Fix build with non-GNU libcs.
13893
13894 * util/misc.c (canonicalize_file_name): Move to ...
13895 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13896 grub_make_system_path_relative_to_its_root.
13897
7fb5c25f
CW
138982010-05-18 Colin Watson <cjwatson@ubuntu.com>
13899
13900 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13901 we handle finding grub-mkimage. Default to finding grub-mkimage in
13902 ${bindir} with program_transform_name applied, and provide a
13903 --grub-mkimage option to override this.
13904
1d3293d6
VS
139052010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 Remove grub-mkisofs.
13908
13909 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13910 (grub_mkisofs_SOURCES): Removed.
13911 (grub_mkisofs_CFLAGS): Removed.
13912 * util/mkisofs/defaults.h: Removed.
13913 * util/mkisofs/eltorito.c: Likewise.
13914 * util/mkisofs/exclude.h: Likewise.
13915 * util/mkisofs/hash.c: Likewise.
13916 * util/mkisofs/include/: Likewise.
13917 * util/mkisofs/include/fctldefs.h: Likewise.
13918 * util/mkisofs/include/mconfig.h: Likewise.
13919 * util/mkisofs/include/prototyp.h: Likewise.
13920 * util/mkisofs/include/statdefs.h: Likewise.
13921 * util/mkisofs/iso9660.h: Likewise.
13922 * util/mkisofs/joliet.c: Likewise.
13923 * util/mkisofs/match.c: Likewise.
13924 * util/mkisofs/match.h: Likewise.
13925 * util/mkisofs/mkisofs.c: Likewise.
13926 * util/mkisofs/mkisofs.h: Likewise.
13927 * util/mkisofs/msdos_partition.h: Likewise.
13928 * util/mkisofs/multi.c: Likewise.
13929 * util/mkisofs/name.c: Likewise.
13930 * util/mkisofs/rock.c: Likewise.
13931 * util/mkisofs/tree.c: Likewise.
13932 * util/mkisofs/write.c: Likewise.
13933
5dde9afe
VS
139342010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13935
13936 Unify grub-mkimage accross platforms.
13937
13938 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13939 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13940 (grub_mkelfimage_SOURCES): Removed.
13941 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13942 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13943 (bin_UTILITIES): Add grub-mkimage.
13944 (grub_mkimage_SOURCES): New variable.
13945 (kernel_img_HEADERS): Remove machine/kernel.h.
13946 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13947 (pkglib_PROGRAMS): Add kernel.img.
13948 (kernel_img_HEADERS): Add machine/kernel.h.
13949 (kernel_img_FORMAT): Removed.
13950 (bin_UTILITIES): Remove grub-mkimage.
13951 (grub_mkimage_SOURCES): Removed.
13952 (grub_mkimage_CFLAGS): Likewise.
13953 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13954 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13955 (pkglib_PROGRAMS): Add kernel.img.
13956 (bin_UTILITIES): Remove grub-mkimage.
13957 (grub_mkimage_SOURCES): Removed.
13958 (grub_mkimage_CFLAGS): Likewise.
13959 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13960 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13961 (pkglib_PROGRAMS): Add kernel.img.
13962 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13963 (pkglib_PROGRAMS): Add kernel.img.
13964 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13965 (grub_mkimage_SOURCES): Removed.
13966 (grub_mkimage_CFLAGS): Likewise.
13967 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13968 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13969 (pkglib_PROGRAMS): Add kernel.img.
13970 (bin_UTILITIES): Remove grub-mkimage.
13971 (grub_mkimage_SOURCES): Removed.
13972 (grub_mkimage_CFLAGS): Likewise.
13973 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13974 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13975 (grub_mkimage_SOURCES): Removed.
13976 (grub_mkimage_CFLAGS): Likewise.
13977 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13978 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13979 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13980 (grub_pe32_optional_header): ... this.
13981 (grub_pe64_optional_header): ... and this. All users updated.
13982 (GRUB_PE32_PE32_MAGIC): Split into ..
13983 (GRUB_PE32_PE32_MAGIC): .. this.
13984 (GRUB_PE32_PE64_MAGIC): .. and this.
13985 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13986 * include/grub/elf.h (PT_GNU_STACK): New definition.
13987 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13988 * include/grub/i386/efi/kernel.h: Likewise.
13989 * include/grub/i386/kernel.h: Likewise.
13990 * include/grub/i386/pc/kernel.h: Likewise.
13991 * include/grub/i386/qemu/boot.h: Likewise.
13992 * include/grub/mips/kernel.h: Likewise.
13993 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13994 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13995 * include/grub/powerpc/kernel.h: Likewise.
13996 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13997 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13998 * include/grub/sparc64/kernel.h: Likewise.
13999 * include/grub/x86_64/efi/kernel.h: Likewise.
14000 * include/grub/x86_64/kernel.h: Likewise.
14001 * include/grub/offsets.h: New file.
14002 * include/grub/kernel.h (grub_module_info): Split into ...
14003 (grub_module_info32): ... this.
14004 (grub_module_info64): ... and this.
14005 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
14006 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
14007 (grub_boot_blocklist): Moved from here ...
14008 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
14009 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
14010 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
14011 * include/grub/types.h (grub_target_to_host16): Removed.
14012 (grub_target_to_host32): Likewise.
14013 (grub_target_to_host64): Likewise.
14014 (grub_host_to_target16): Likewise.
14015 (grub_host_to_target32): Likewise.
14016 (grub_host_to_target64): Likewise.
14017 (grub_host_to_target_addr): Likewise.
14018
14019 Support grub-mkrescue for efi, coreboot and qemu.
14020
14021 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
14022 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
14023 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
14024 * util/grub-mkrawimage.c: Moved from here ...
14025 * util/grub-mkimage.c: ... here. All users updated.
14026 (ALIGN_ADDR): Use image_target.
14027 (TARGET_NO_FIELD): New const.
14028 (image_target_desc): New type.
14029 (image_targets): New array.
14030 (grub_target_to_host64): Use image_target.
14031 (grub_target_to_host32): Likewise.
14032 (grub_target_to_host16): Likewise.
14033 (grub_host_to_target64): Likewise.
14034 (grub_host_to_target32): Likewise.
14035 (grub_host_to_target16): Likewise.
14036 (grub_host_to_target_addr): Likewise.
14037 (generate_image): Handle multiimage.
14038 (main): Require -O parameter. All users updated.
14039 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
14040 util/efi/grub-mkimage.c
14041 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
14042 New option --rom-directory.
14043 Use xorriso.
14044 * util/i386/efi/grub-mkimage.c: Removed.
14045 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
14046 (grub_target_to_host32): Likewise.
14047 (grub_target_to_host64): Likewise.
14048 (grub_host_to_target16): Likewise.
14049 (grub_host_to_target32): Likewise.
14050 (grub_host_to_target64): Likewise.
14051 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14052 (grub_target_to_host32): Likewise.
14053 (grub_target_to_host64): Likewise.
14054 (grub_host_to_target16): Likewise.
14055 (grub_host_to_target32): Likewise.
14056 (grub_host_to_target64): Likewise.
14057
f4fc97d0
BC
140582010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14059
14060 Source tree is reorganized for emu build.
14061
14062 * include/grub/util/console.h: Move from here...
14063 * include/grub/emu/console.h: ...to here.
14064 * include/grub/util/getroot.h: Move from here...
14065 * include/grub/emu/getroot.h: ...to here.
14066 * include/grub/util/hostdisk.h: Move from here...
14067 * include/grub/emu/hostdisk.h: ...to here.
14068 * util/console.c: Move from here...
14069 * kern/emu/console.c: ...to here.
14070 * util/getroot.c: Move from here...
14071 * kern/emu/getroot.c: ...to here.
14072 * util/grub-emu.c: Move from here...
14073 * kern/emu/main.c: ...to here.
14074 * util/hostdisk.c: Move from here...
14075 * kern/emu/hostdisk.c: ...to here.
14076 * util/hostfs.c: Move from here...
14077 * kern/emu/hostfs.c: ...to here.
14078 * util/mm.c: Move from here...
14079 * kern/emu/mm.c: ...to here.
14080 * util/pci.c: Move from here...
14081 * bus/emu/pci.c: ...to here.
14082 * util/sdl.c: Move from here...
14083 * video/emu/sdl.c: ...to here.
14084 * util/time.c: Move from here...
14085 * kern/emu/time.c: ...to here.
14086 * util/usb.c: Move from here...
14087 * bus/usb/emu/usb.c: ...to here.
14088
14089 * include/grub/emu/misc.h: New header for grub-emu functions.
14090 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14091
14092 * conf/any-emu.rmk: Rule updates for above renames.
14093 * conf/common.rmk: Likewise.
14094 * conf/i386-pc.rmk: Likewise.
14095 * conf/i386-qemu.rmk: Likewise.
14096 * conf/mips.rmk: Likewise.
14097 * conf/sparc64-ieee1275.rmk: Likewise.
14098 * conf/x86-efi.rmk: Likewise.
14099
14100 * disk/lvm.h: #include updates for above renames.
14101 * util/grub-mkrelpath.c: Likewise.
14102 * util/grub-probe.c: Likewise.
14103 * util/i386/pc/grub-setup.c: Likewise.
14104 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14105 * kern/emu/console.c: Likewise.
14106 * kern/emu/getroot.c: Likewise.
14107 * kern/emu/hostdisk.c: Likewise.
14108 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14109
14110 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14111 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14112 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14113 * util/misc.c: Remove grub-emu functions.
14114
cced9145
VS
141152010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14116
14117 Fix gfxmenu crash.
14118 Reported by: Thorsten Grützmacher.
14119
14120 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14121 timeout hook.
14122 (circprog_set_property): Register and unregister timeout hook.
14123 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14124 (label_destroy): Free template. and unregister hook.
14125 (label_set_state): New function.
14126 (label_set_property): Handle templates and hooks.
14127 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14128 timeout hook.
14129 (progress_bar_set_property): Register and unregister timeout hook.
14130 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14131 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14132 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14133 (update_timeout_visit): Removed.
14134 (update_timeouts): New function.
14135 (redraw_timeouts): Likewise.
14136 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14137 (grub_gfxmenu_clear_timeout): Likewise.
14138 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14139 (grub_gfxmenu_timeout_notify): Likewise.
14140 (grub_gfxmenu_timeout_notifications): New external variable.
14141 (grub_gfxmenu_timeout_register): New function.
14142 (grub_gfxmenu_timeout_unregister): Likewise.
14143
c6e5caab
VS
141442010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 Transform (broken) vga terminal into (working) vga video driver.
14147
14148 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14149 video/i386/pc/vga.c.
14150 * include/grub/video.h (grub_video_driver_id):
14151 Add GRUB_VIDEO_DRIVER_VGA.
14152 * term/i386/pc/vga.c: Renamed to ...
14153 * video/i386/pc/vga.c: ...this
14154 (DEBUG_VGA): Removed.
14155 (CHAR_WIDTH): Likewise.
14156 (CHAR_HEIGHT): Likewise.
14157 (TEXT_WIDTH): Likewise.
14158 (TEXT_HEIGHT): Likewise.
14159 (DEFAULT_FG_COLOR): Likewise.
14160 (DEFAULT_BG_COLOR): Likewise.
14161 (colored_char): Likewise.
14162 (xpos): Likewise.
14163 (ypos): Likewise.
14164 (cursor_state): Likewise.
14165 (fg_color): Likewise.
14166 (bg_color): Likewise.
14167 (text_buf): Likewise.
14168 (page): Likewise.
14169 (font): Likewise.
14170 (framebuffer): New variable.
14171 (set_read_map): Disabled.
14172 (setup): New variable.
14173 (is_target): Likewise.
14174 (grub_vga_mod_init): Likewise.
14175 (grub_vga_mod_fini): Likewise.
14176 (check_vga_mem): Likewise.
14177 (write_char): Likewise.
14178 (write_cursor): Likewise.
14179 (scroll_up): Likewise.
14180 (grub_vga_putchar): Likewise.
14181 (grub_vga_getcharwidth): Likewise.
14182 (grub_vga_getwh): Likewise.
14183 (grub_vga_getxy): Likewise.
14184 (grub_vga_gotoxy): Likewise.
14185 (grub_vga_cls): Likewise.
14186 (grub_vga_setcolorstate): Likewise.
14187 (grub_vga_setcursor): Likewise.
14188 (grub_video_vga_init): New function.
14189 (grub_video_vga_setup): Likewise.
14190 (grub_video_vga_fini): Likewise.
14191 (update_target): Likewise.
14192 (grub_video_vga_blit_bitmap): Likewise.
14193 (grub_video_vga_blit_render_target): Likewise.
14194 (grub_video_vga_set_active_render_target): Likewise.
14195 (grub_video_vga_get_active_render_target): Likewise.
14196 (grub_video_vga_swap_buffers): Likewise.
14197 (grub_video_vga_set_palette): Likewise.
14198 (grub_video_vga_get_info_and_fini): Likewise.
14199 (grub_vga_term): Removed.
14200 (grub_video_vga_adapter): New variable.
14201 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14202 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14203
2bf61a98
VS
142042010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * video/readers/jpeg.c: Indented.
14207
09ddcd11
VS
142082010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 Various jpeg cleanups.
14211
14212 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14213 (grub_jpeg_decode_quan_table): Use sizeof.
14214 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14215
e5507505
PH
142162010-05-05 Peter Hurley <No e-mail available> (tiny change)
14217
14218 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14219 tables. Ignore non-last ac bit.
14220 (grub_jpeg_decode_quan_table): Likewise.
14221
7e720a9b
VS
142222010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14225 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14226 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14227 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14228 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14229 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14230
a7fc080b
VS
142312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14234 error.
14235
2bf6012d
VS
142362010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14239
265d68cd
VS
142402010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14243 condition.
14244
142452010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
14246
14247 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14248 part.
14249
265d68cd 142502010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
14251
14252 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14253 pointers.
14254
265d68cd 142552010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
14256
14257 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14258
d1b61374
CF
142592010-05-01 Christian Franke <franke@computer.org>
14260
14261 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14262 Remove broken Cygwin path conversion.
14263 * util/misc.c: [__CYGWIN__] Add include and define.
14264 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14265 for Cygwin 1.7.
14266 (make_system_path_relative_to_its_root): Simplify loop, replace early
14267 return by break.
14268 [__CYGWIN__] Add conversion to win32 path.
14269 Include "/" case in trailing slash removal.
14270
3558c6e9
VS
142712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14274 Reported by: Seth Goldberg
14275
f5f3ff93
VS
142762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 * commands/help.c (grub_cmd_help): Fix a typo.
14279 Reported by: Seth Goldberg
14280
d8b5cd40
VS
142812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14282
14283 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14284 name and add N_.
14285 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14286 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14287 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14288 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14289 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14290 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14291 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14292 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14293 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14294 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14295 * normal/context.c (GRUB_MOD_INIT): Likewise.
14296 * normal/main.c (GRUB_MOD_INIT): Likewise.
14297 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14298 * term/serial.c (GRUB_MOD_INIT): Likewise.
14299 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14300
88c14915
VS
143012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14302
14303 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14304 extra == 0.
14305
165134bc
VS
143062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 * commands/iorw.c: New file.
14309 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14310 (iorw_mod_SOURCES): New variable.
14311 (iorw_mod_CFLAGS): Likewise.
14312 (iorw_mod_LDFLAGS): Likewise.
14313
c5ac9b32
VS
143142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14315
14316 Hotkey support
14317
14318 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14319 * normal/main.c (hotkey_aliases): New variable.
14320 (grub_normal_add_menu_entry): Parse "--hotkey".
14321 * normal/menu_text.c (run_menu): Handle hotkeys.
14322
ce60689c
VS
143232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 * kern/i386/coreboot/init.c (grub_machine_init): Call
14326 grub_machine_mmap_init on qemu.
14327
0359d006
VS
143282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * boot/i386/qemu/boot.S: Add a missing .code16.
14331
7819a456
VS
143322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 Use LBIO on coreboot.
14335
14336 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14337 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14338 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14339 New declaration.
14340 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14341 grub_machine_mmap_init on coreboot.
14342 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14343 GRUB_LINUXBIOS_MEMBER_LINK.
14344 (grub_machine_mmap_iterate): Fix declaration.
14345 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14346
7210dca9
VS
143472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 Split coreboot and multiboot ports.
14350
14351 * conf/i386-multiboot.rmk: New file.
14352 * configure.ac: Add multiboot port.
14353 * include/grub/i386/multiboot/boot.h: New file.
14354 * include/grub/i386/multiboot/console.h: Likewise.
14355 * include/grub/i386/multiboot/init.h: Likewise.
14356 * include/grub/i386/multiboot/kernel.h: Likewise.
14357 * include/grub/i386/multiboot/loader.h: Likewise.
14358 * include/grub/i386/multiboot/memory.h: Likewise.
14359 * include/grub/i386/multiboot/serial.h: Likewise.
14360 * include/grub/i386/multiboot/time.h: Likewise.
14361 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14362 * loader/multiboot.c: Likewise.
14363 * loader/multiboot_mbi2.c: Likewise.
14364 * util/grub-mkrescue.in: Generate multiboot rescue.
14365
6f8aaf68
VS
143662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14367
3080f7a7
VS
14368 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14369
143702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14371
14372 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
14373
14374 * commands/terminal.c (abstract_terminal): New struct.
14375 (handle_command): New function. Based on grub_cmd_terminal_input.
14376 (grub_cmd_terminal_input): Use handle_command.
14377 (grub_cmd_terminal_output): Use handle_command.
14378
a8ebb841
BC
143792010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14380
14381 Fix comment handling.
14382
14383 * tests/grub_script_comments.in: New testcase.
14384 * conf/tests.rmk: Rules for new testcase.
14385 * script/yylex.l: Updated flex rules.
14386
bb06ba08
ST
143872010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14388
14389 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
14390 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14391 if argc is 1.
bb06ba08 14392
cc9d2425
VS
143932010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14394
14395 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14396 autogen issues.
14397
460d8402
CF
143982010-04-26 Christian Franke <franke@computer.org>
14399
14400 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14401 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14402 (grub_get_prefix): Remove function.
14403 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14404 make_system_path_relative_to_its_root ().
14405 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14406
553c01f9
CF
144072010-04-24 Christian Franke <franke@computer.org>
14408
14409 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14410 (kernel_img_LDFLAGS): Remove -static-libgcc.
14411
2aec1692
CF
144122010-04-24 Christian Franke <franke@computer.org>
14413
14414 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14415 and CHECK_END_SYMBOL if grub-emu is built.
14416 Unset TARGET_OBJ2ELF if grub-emu is built
14417 without module support.
14418
f67dc308
JS
144192010-04-24 Jiro SEKIBA <jir@unicus.jp>
14420
14421 Nilfs2 support.
14422
14423 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14424 (grub_fstest_SOURCES): Likewise.
14425 (pkglib_MODULES): Add nilfs2.mod.
14426 (nilfs2_mod_SOURCES): New variable.
14427 (nilfs2_mod_CFLAGS): Likewise.
14428 (nilfs2_mod_LDFLAGS): Likewise.
14429 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14430 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14431 * fs/nilfs2.c: New file.
14432
4ba8d354
VS
144332010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14436 is not supported.
14437
0d2c20c6
GS
144382010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14439
14440 Add grub-mkconfig support for NetBSD.
14441
14442 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14443 * util/grub-mkconfig.in: export new NetBSD specific variables.
14444 * po/POTFILES-shell: added 10_netbsd.in.
14445 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14446
bc4a2d83
BC
144472010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14448
14449 Fix emu build with grub-emu-pci and grub-emu-modules.
14450
14451 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14452 functions.
14453 * include/grub/libpciaccess.h: New file.
14454 * conf/any-emu.rmk: Update kernel headers for emu build.
14455
f48c87aa
VS
144562010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14459
18959385
VS
144602010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14461
14462 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14463
0037de3f
VS
144642010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14467 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14468 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14469 util/ieee1275/ofpath.c.
14470 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14471 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14472 * include/grub/sparc64/ieee1275/boot.h
14473 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14474 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14475 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14476 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14477 const char *.
14478 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14479 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14480 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14481 install.
14482
38e55e90
GS
144832010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14484
14485 * util/grub-mkconfig.in: Corrected two == equality tests.
14486 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14487 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14488 expect a number appended to it.
14489 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14490 expects a number appended to it.
14491
a9e6ff28
VS
144922010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14495
0b830b8f
VS
144962010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 * util/hostdisk.c (make_device_name): Change to new partition naming.
14499
0973daeb
VS
145002010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14501
14502 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14503
460d8402 145042010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
14505
14506 * Makefile.in: Add missing localedir setting.
14507
0b456309
CW
145082010-04-14 Colin Watson <cjwatson@ubuntu.com>
14509
14510 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14511 mistake in r2156. Noticed by Anthony Fok.
14512
14513 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14514 @localedir@.
14515 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14516
08f46d62
BC
145172010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14518
14519 Fix a spurious, uninitialized variable warning.
14520
14521 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14522 Initialize variable, shdr.
14523 (grub_freebsd_load_elfmodule): Likewise.
14524 (grub_freebsd_load_elf_meta): Likewise.
14525
8c4a72d4
BC
145262010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14527
14528 Fix for escaped dollar in double quoted strings.
14529
14530 * script/yylex.l: Updated flex rules.
14531 * conf/tests.rmk: Rule for new testcase.
14532 * tests/grub_script_dollar.in: New testcase.
14533
ce44826e
CPE
145342010-04-13 Carles Pina i Estany <carles@pina.cat>
145352010-04-13 Colin Watson <cjwatson@ubuntu.com>
14536
14537 Enclose all translated strings in grub.cfg in single quotes, and
14538 escape them appropriately (Ubuntu bug #552921).
14539
14540 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14541 * util/grub.d/10_hurd.in: Use it.
14542 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14543 * util/grub.d/10_linux.in (linux_entry): Likewise.
14544
4b0cd8f8
VS
145452010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 Fix cygwin compilation.
14548
14549 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14550 * include/grub/misc.h (__register_frame_info)
14551 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14552 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14553 * kern/misc.c (__register_frame_info)
14554 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14555 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14556
01fcf061
VS
145572010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14560
5d04b11e
VS
145612010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 Unify libgcc processing.
14564
14565 * Makefile.in (kernel_img_LDFLAGS): New variable.
14566 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14567 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14568 overwriting.
14569 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14570 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14571 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14572 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14573 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14574 overwriting. Remove -lgcc and -static-libgcc
14575 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14576 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14577 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14578 (kernel_img_LDFLAGS): Append instead of overwriting.
14579 Remove -lgcc and -static-libgcc
14580 * conf/sparc64-ieee1275.rmk: Likewise.
14581 * include/grub/powerpc/libgcc.h: Move to ...
14582 * include/grub/libgcc.h: .. this.
14583 * include/grub/libgcc.h: Don't export most of the function on x86.
14584 (__bswapsi2): New export.
14585 (__bswapdi2): Likewise.
14586 * include/grub/mips/libgcc.h: Removed.
14587 * include/grub/sparc64/libgcc.h: Likewise.
14588
b7f3ac29
VS
145892010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14592 disk_info_msg (conflicts with gettexting into languages with cases).
14593
2c7031b1
GS
145942010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14595
14596 Add grub-probe support for NetBSD.
14597
14598 * util/getroot.c (find_root_device): Convert block device to
14599 character device on NetBSD.
14600 * util/probe.c (probe): Require character device on NetBSD.
14601 * util/hostdisk.c: NetBSD specific headers.
14602 (configure_device_driver): new function to tune device driver
14603 parameters (currently only for NetBSD floppy driver).
14604 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14605 via disklabel ioctl).
14606 (open_device): call configure_device_driver on NetBSD.
14607 (convert_system_partition_to_system_disk): NetBSD specific code.
14608 (device_is_wholedisk): Likewise.
14609 (grub_util_biosdisk_get_grub_dev): Likewise.
14610 (make_device_name): Fixed a typo in bsd_part_str.
14611 * configure.ac: check for opendisk() and getrawpartition() on
14612 NetBSD and set LIBUTIL.
14613 * Makefile.in: add LIBUTIL to LIBS.
14614
f516290c
BC
146152010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14616
14617 Documentation fix.
14618
14619 * util/grub-script-check.c: Better help message.
14620
d8dcc0df
BC
146212010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14622
14623 Fix FreeBSD build.
14624
14625 * configure.ac: Flex version check.
14626 * conf/common.rmk: Add -Wno-error to sh.mod.
14627 * script/yylex.l: Remove all #pragma.
14628
6734334a
VS
146292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14632 prototype.
14633 Reported by: Seth Goldberg.
14634
daea6abd
VS
146352010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14638 Rename "module" to "module2".
14639 Reported by: Seth Goldberg.
14640
f2fd9d2b
VS
146412010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14644 EXPORT_FUNC.
14645 Reported by: Seth Goldberg.
14646
be124579
VS
146472010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 * lib/posix_wrap/locale.h: Add missing file.
14650 Reported by: Seth Goldberg.
14651
ef5da797
VS
146522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 grub-emu module load support.
14655
14656 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14657 NO_DYNAMIC_MODULES switched to this.
14658 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14659 (CFLAGS): Likewise.
14660 * conf/any-emu.rmk: Generate symlist.
14661 (kernel_img_HEADERS): Add util/datetime.h.
14662 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14663 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14664 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14665 kern/$(target_cpu)/cache.S.
14666 * configure.ac (grub-emu-modules): New option.
14667 * genmk.rb: Handle multiple source lists.
14668 * include/grub/sdl.h: New file.
14669 * include/grub/libusb.h: Likewise.
14670 * util/grub-emu.c (main): Hanle (host) root.
14671 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14672 GRUB_ERR_UNKNOWN_DEVICE.
14673 * util/misc.c: Move mm functions to ...
14674 * util/mm.c: ... here. All users updated.
14675
47822096
VS
146762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14679 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14680 missing files.
14681 (maintainer-clean): Remove libgcrypt-grub.
14682
5d7e7445
VS
146832010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14686
25f4e252
EC
146872010-04-09 EFI Coder <eficoder@hotmail.com>
14688
14689 * normal/menu_text.c (print_message): Clean up the message and show
14690 the Fn information when on EFI
14691 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14692
027de555
VS
146932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14694
14695 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14696 All users updated.
14697 * normal/crypto.c (read_crypto_list): Likewise.
14698 * normal/dyncmd.c (read_command_list): Likewise.
14699 * normal/term.c (read_terminal_list): Likewise.
14700 * normal/main.c (read_lists): Use explicit prefix.
14701 (read_lists_hook): Use read_lists.
14702 (grub_normal_execute): Likewise.
14703
47779711
VS
147042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14705
14706 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14707 Reported by: Thomas Schmitt.
14708 Add -no-emul-boot to grub-mkisofs parameters.
14709
1118c32e
VS
147102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14711
14712 * font/font.c: Indented.
14713
7d652447
BC
147142010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14715
14716 Elif support to GRUB script (by Deepak Vankadaru).
14717
14718 * tests/grub_script_if.in: New testcase.
14719 * conf/tests.rmk: Rule for new testcase.
14720 * script/parser.y: Grammar rules for elif.
14721
34bb22df
BC
147222010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14723
14724 While and until loops support to GRUB script.
14725
14726 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14727 (grub_script_create_cmdwhile): New function prototype.
14728 (grub_script_execute_cmdwhile): New function prototype.
14729 * script/execute.c (grub_script_execute_cmdwhile): New function.
14730 * script/parser.y (command): New commands.
14731 (whilecmd): New grammar rule.
14732 (untilcmd): New grammar rule.
14733 * script/script.c (grub_script_create_cmdwhile): New function.
14734 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14735 function.
14736
14737 * tests/grub_script_while1.in: New testcase.
14738 * conf/tests.rmk: Rule for new testcase.
14739
e215d8e0
VS
147402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14743 as *.jpg.
14744
d7c43ba1
MV
147452010-04-09 Mario Vazquez <mariovazq@gmail.com>
14746
14747 GRUB_BACKGROUND support.
14748
14749 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14750 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14751
d64795c0
VS
147522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 14755 Idea by: Mario Vazquez
d64795c0
VS
14756
14757 * util/grub.d/00_header.in: Load pf2 and image modules.
14758
f267f83a
VS
147592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 grub-mkconfig multiple terminal support.
14762
14763 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14764 * util/grub.d/00_header.in: Likewise.
14765
b7841ceb
VS
147662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14769 we use cd $(srcdir).
14770
df60998c
CW
147712010-04-08 Colin Watson <cjwatson@ubuntu.com>
14772
14773 * util/grub.d/10_linux.in: Only use the first word of
14774 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14775 spaces in GRUB_DISTRIBUTOR.
14776 * util/grub.d/10_kfreebsd.in: Likewise.
14777 * util/grub.d/10_hurd.in: Likewise.
14778
fa09c82e
BC
147792010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14780
14e18ae3 14781 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
14782
14783 * tests/util/grub-shell.in: Remove -serial stdio option.
14784
daf892b3
BC
147852010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 POSIX header file wrappers.
14788
14789 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14790 equivalents.
14791 * lib/posix_wrap/ctype.h: Likewise.
14792 * lib/posix_wrap/errno.h: Likewise.
14793 * lib/posix_wrap/langinfo.h: Likewise.
14794 * lib/posix_wrap/limits.h: Likewise.
14795 * lib/posix_wrap/localcharset.h: Likewise.
14796 * lib/posix_wrap/stdint.h: Likewise.
14797 * lib/posix_wrap/stdio.h: Likewise.
14798 * lib/posix_wrap/stdlib.h: Likewise.
14799 * lib/posix_wrap/string.h: Likewise.
14800 * lib/posix_wrap/sys/types.h: Likewise.
14801 * lib/posix_wrap/unistd.h: Likewise.
14802 * lib/posix_wrap/wchar.h: Likewise.
14803 * lib/posix_wrap/wctype.h: Likewise.
14804 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14805 (grub_script.yy.h): Likewise.
14806 * script/yylex.l: Remove POSIX emulation #defines.
14807 * Makefile.in (POSIX_CFLAGS): New variable.
14808 (GNULIB_UTIL_CFLAGS): Likewise.
14809
14810 Regexp support.
14811
14812 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14813 (regexp_mod_SOURCES): New variable.
14814 (regexp_mod_CFLAGS): Likewise.
14815 (regexp_mod_LDFLAGS): Likewise.
14816 * commands/regexp.c: New file.
14817 * gnulib/regcomp.c: New file. Imported from gnulib.
14818 * gnulib/regex.c: Likewise.
14819 * gnulib/regex_internal.c: Likewise.
14820 * gnulib/regex_internal.h: Likewise.
14821 * gnulib/regexec.c: Likewise.
14822 * gnulib/regex.h: Likewise.
14823
974ac4f7
VS
148242010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14827 unsupported video mode types.
14828
2622c3ff
VS
148292010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14830
14831 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14832
064cb524
VS
148332010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14834
14835 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14836 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14837
a8c3b552
VS
148382010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14839
14840 Remove unused grub_vga_get_font.
14841
14842 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14843 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14844
187bbe3d
GS
148452010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14846
14847 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14848 * include/grub/misc.h: Likewise.
14849
b9396631
GS
148502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14851
14852 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14853 for which failure is fatal.
14854
50479feb
GS
148552010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14856
14857 * util/grub-install.in: Use mkdir -p to create grub directory.
14858 * util/i386/efi/grub-install.in: Likewise.
14859 * util/ieee1275/grub-install.in: Likewise.
14860
b1654fdf
GS
148612010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14862
14863 * Makefile.in (LEX): new variable.
14864
bd5a6415
GS
148652010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14866
14867 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14868 `=' and added double quotes on operands of this equality test.
14869
3db3a82b
VS
148702010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * Makefile.in (uninstall): Remove a leftover debug echo.
14873 Reported by: Grégoire Sutre
14874
38023412
VS
148752010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 MIPS multiboot2 support.
14878
14879 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14880 (multiboot2_mod_SOURCES): New variable.
14881 (multiboot2_mod_CFLAGS): Likewise.
14882 (multiboot2_mod_LDFLAGS): Likewise.
14883 (multiboot2_mod_ASFLAGS): Likewise.
14884 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14885 definition.
14886 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14887 (MULTIBOOT_MBI_REGISTER): Likewise.
14888 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14889 (MULTIBOOT_ELF32_MACHINE): Likewise.
14890 (MULTIBOOT_ELF64_MACHINE): Likewise.
14891 * include/grub/mips/multiboot.h: New file.
14892 * include/grub/video.h (grub_video_driver_id): New type
14893 GRUB_VIDEO_DRIVER_SM712.
14894 (grub_video_get_info_and_fini): Export.
14895 (grub_video_get_palette): Likewise.
14896 (grub_video_get_driver_id): Likewise.
14897 * include/multiboot2.h: Resynced with spec.
14898 * loader/i386/multiboot.c: Moved from here ...
14899 * loader/multiboot.c: ... here. All users updated.
14900 (grub_multiboot_boot): Use platform-specific macros.
14901 * loader/i386/multiboot_elfxx.c: Moved from here ...
14902 * loader/multiboot_elfxx.c: ... here. All users updated.
14903 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14904 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14905 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14906
47674667
VS
149072010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 Import gnulib argp module.
14910
14911 * gnulib/argp-ba.c: New file.
14912 * gnulib/argp-eexst.c: Likewise.
14913 * gnulib/argp-fmtstream.c: Likewise.
14914 * gnulib/argp-fmtstream.h: Likewise.
14915 * gnulib/argp-fs-xinl.c: Likewise.
14916 * gnulib/argp-help.c: Likewise.
14917 * gnulib/argp-namefrob.h: Likewise.
14918 * gnulib/argp-parse.c: Likewise.
14919 * gnulib/argp-pin.c: Likewise.
14920 * gnulib/argp-pv.c: Likewise.
14921 * gnulib/argp-pvh.c: Likewise.
14922 * gnulib/argp-version-etc.c: Likewise.
14923 * gnulib/argp-version-etc.h: Likewise.
14924 * gnulib/argp-xinl.c: Likewise.
14925 * gnulib/argp.h: Likewise.
14926
495442ed
VS
149272010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14928
14929 * kern/device.c (grub_device_iterate): Clear errors after failed
14930 opening device.
14931
f9fd65df
VS
149322010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14933
14934 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14935 returned by firmware.
14936
af09641e
VS
149372010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14938
14939 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14940 compilation on coreboot and qemu
14941
016883a5
VS
149422010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14943
14944 * include/multiboot2.h: Resync with spec.
14945
f97e1f7d
VS
149462010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14947
14948 Multiboot2 tag support
14949
14950 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14951 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14952 Remove loader/multiboot_loader.c.
14953 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14954 (grub_multiboot2_real_boot): Likewise.
14955 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14956 (grub_get_multiboot_mmap_count): New proto.
14957 (grub_fill_multiboot_mmap): Likewise.
14958 (grub_multiboot_set_video_mode): Likewise.
14959 (grub_multiboot_set_console): Likewise.
14960 (grub_multiboot_load): Likewise.
14961 (grub_multiboot_load_elf): Likewise.
14962 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14963 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14964 * include/multiboot.h: Resynced with specification.
14965 * include/multiboot2.h: Resynced with specification.
14966 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14967 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14968 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14969 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14970 users updated.
14971 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14972 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14973 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14974 Removed.
14975 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14976 Moved from here...
14977 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14978 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14979 Moved from here...
14980 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14981 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14982 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14983 All users updated.
14984 * loader/i386/multiboot_mbi2.c: New file.
14985
3506b90b
VS
149862010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 Resync with gnulib.
14989
14990 * Makefile.in (GNULIB_CFLAGS): New variable.
14991 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14992 (grub_script_check_CFLAGS): New variable.
14993 * gnulib/alloca.h: Resync with gnulib.
14994 * gnulib/error.c: Likewise.
14995 * gnulib/error.h: Likewise.
14996 * gnulib/fnmatch.c: Likewise.
14997 * gnulib/fnmatch_loop.c: Likewise.
14998 * gnulib/getdelim.c: Likewise.
14999 * gnulib/getline.c: Likewise.
15000 * gnulib/getopt.c: Likewise.
15001 * gnulib/getopt1.c: Likewise.
15002 * gnulib/getopt_int.h: Likewise.
15003 * gnulib/gettext.h: Likewise.
15004 * gnulib/progname.c: Likewise.
15005 * gnulib/progname.h: Likewise.
15006
394a3120
GS
150072010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
15008
15009 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
15010 which is the case with --disabled-nls.
15011
15012 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
15013 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
15014 * util/misc.c: Likewise.
15015 * util/mkisofs/mkisofs.c: Likewise.
15016 * util/mkisofs/mkisofs.h: Likewise.
15017
969d1c78
VS
150182010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15019
15020 Simplify Apple CC support.
15021
15022 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
15023 Add 0 byte at the end not to have a symbol with empty target.
15024 * mmap/i386/pc/mmap_helper.S: Likewise.
15025 * genmk.rb: Ignore errors 2030 and 2050.
15026 * kern/i386/pc/startup.S: Use LOCAL when possible.
15027
8d2977bb
BC
150282010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
15029
15030 Testcase and the fix for final semicolon on cmdline.
15031
15032 * tests/grub_script_final_semicolon.in: New testcase.
15033 * conf/tests.rmk: Rules for the new testcase.
15034 * script/parser.y: Grammar fix.
15035
a7bd6915
BC
150362010-03-26 BVK Chaitanya <bvk@localhost>
15037
15038 Blank lines testcase for GRUB script.
15039
15040 * tests/grub_script_blanklines.in: New testcase.
15041 * conf/tests.rmk: Rules for the new testcase.
15042
e4ff6628
VS
150432010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15044
15045 Don't use __FILE__.
15046
15047 * genmk.rb: Add -DGRUB_FILE to all C targets.
15048 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15049 * include/grub/list.h: Likewise.
15050 * include/grub/misc.h: Likewise.
15051 * include/grub/mm.h: Likewise.
15052 * include/grub/test.h: Likewise.
15053 * kern/mm.c: Likewise.
15054 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15055
6a5cf6b6
VS
150562010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 Sunpc partitions support.
15059
15060 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15061 (grub_fstest_SOURCES): Likewise.
15062 (pkglib_MODULES): Add part_sunpc.mod.
15063 (part_sunpc_mod_SOURCES): New variable.
15064 (part_sunpc_mod_CFLAGS): Likewise.
15065 (part_sunpc_mod_LDFLAGS): Likewise.
15066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15067 * partmap/sunpc.c: New file.
15068
746d9045
BC
150692010-03-26 BVK Chaitanya <bvk@localhost>
15070
15071 For loop support to GRUB script.
15072
15073 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15074 (grub_script_create_cmdfor): New function prototype.
15075 (grub_script_execute_cmdfor): New function prototype.
15076 * script/execute.c (grub_script_execute_cmdfor): New function.
15077 * script/parser.y (command): New for command.
15078 (forcmd): New grammar rule.
15079 * script/script.c (grub_script_create_cmdfor): New function.
15080 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15081 function.
15082 * tests/grub_script_for1.in: New testcase.
15083 * conf/tests.rmk: Rules for new testcase.
15084
18486b18
VS
150852010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 Nested partitions
15088
15089 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15090 'partition' is NULL, grub_partition_get_start already does that.
15091 * commands/loadenv.c (check_blocklists): Likewise.
15092 (write_blocklists): Likewise.
15093 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15094 (grub_fstest_SOURCES): Likewise.
15095 (pkglib_MODULES): Add part_bsd.mod.
15096 (part_bsd_mod_SOURCES): New variable.
15097 (part_bsd_mod_CFLAGS): Likewise.
15098 (part_bsd_mod_LDFLAGS): Likewise.
15099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15100 (grub_emu_SOURCES): Likewise.
15101 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15102 * include/grub/bsdlabel.h: New file.
15103 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15104 'get_name'.
15105 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15106 (grub_partition_map_list): New variable.
15107 (grub_partition_map_register): Inline.
15108 (grub_partition_map_unregister): Likewise.
15109 (FOR_PARTITION_MAPS): New macro.
15110 (grub_partition_map_iterate): Removed.
15111 (grub_partition_get_start): Handle nested partitions.
15112 * include/grub/msdos_partition.h: Remove bsd-related entries.
15113 (grub_pc_partition): Remove.
15114 * kern/disk.c (grub_disk_close): Free partition data.
15115 (grub_disk_adjust_range): Handle nested partitions.
15116 * kern/partition.c (grub_partition_map_probe): New function.
15117 (grub_partition_probe): Parse name to number, handle subpartitions.
15118 (get_partmap): New function.
15119 (grub_partition_iterate): Handle subpartitions.
15120 (grub_partition_get_name): Likewise.
15121 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15122 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15123 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15124 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15125 Set 'number'.
15126 (acorn_partition_map_probe): Remove.
15127 (acorn_partition_map_get_name): Likewise.
15128 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15129 Set 'number'.
15130 Set 'index' to 0 since there can be only one partition entry per sector.
15131 (amiga_partition_map_probe): Remove.
15132 (amiga_partition_map_get_name): Likewise.
15133 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15134 Set 'number'.
15135 Set 'offset' and 'index' to real positions of partitions.
15136 (apple_partition_map_probe): Remove.
15137 (apple_partition_map_get_name): Likewise.
15138 * partmap/bsdlabel.c: New file.
15139 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15140 Set 'number'.
15141 Allocate 'data' so it can be correctly freed.
15142 Set 'index' to offset inside sector.
15143 (gpt_partition_map_probe): Remove.
15144 (gpt_partition_map_get_name): Likewise.
15145 * partmap/msdos.c (grub_partition_parse): Remove.
15146 (pc_partition_map_iterate): Don't force raw access.
15147 Set 'number'.
15148 Make 'ext_offset' a local variable.
15149 (pc_partition_map_probe): Remove.
15150 (pc_partition_map_get_name): Remove.
15151 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
15152 Set 'number'.
15153 (sun_partition_map_probe): Remove.
15154 (sun_partition_map_get_name): Likewise.
15155 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
15156 (grub_pcpart_type): Likewise.
15157 * util/hostdisk.c (open_device): Handle new numbering scheme.
15158 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
15159 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
15160 * util/grub-probe.c (probe_partmap): Handle nested paritions.
15161 * util/grub-install.in: Insert all subpartition modules.
15162 * util/ieee1275/grub-install.in: Likewise.
15163
a3940f88
AG
151642010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
15165
15166 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
15167 grammar.
15168
21b99926 151692010-03-24 Colin Watson <cjwatson@ubuntu.com>
15170
15171 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15172
bed1d352
CW
151732010-03-21 Colin Watson <cjwatson@ubuntu.com>
15174
15175 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15176 match where 'make install' puts them.
15177 * util/i386/efi/grub-install.in: Likewise.
15178
c9f58427
CW
151792010-03-19 Colin Watson <cjwatson@ubuntu.com>
15180
15181 * .bzrignore: Add gentrigtables, grub-script-check,
15182 grub_script_check_init.c, grub_script_check_init.h, and
15183 trigtables.c.
15184
f84afb27
VS
151852010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15186
15187 * kern/parser.c: Indented.
15188
ed0e3d30
VS
151892010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15192
0ea81d98
VS
151932010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15196 alpha_mask_size == 0 case.
15197
0cdc2a09
BC
151982010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15199
15200 GRUB shell lexer and parser improvements.
15201
15202 * conf/any-emu.rmk: Build rule updates.
15203 * conf/common.rmk: Likewise.
15204 * conf/i386-coreboot.rmk: Likewise.
15205 * conf/i386-efi.rmk: Likewise.
15206 * conf/i386-ieee1275.rmk: Likewise.
15207 * conf/i386-pc.rmk: Likewise.
15208 * conf/powerpc-ieee1275.rmk: Likewise.
15209 * conf/x86_64-efi.rmk: Likewise.
15210
15211 * configure.ac: Configure check for flex.
15212
15213 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15214 types.
15215 (grub_lexer_param): Struct member updates.
15216 (grub_parser_param): Likewise.
15217 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15218 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15219 (grub_script_lexer_init): Prototype update.
15220 (grub_script_lexer_record_start): Likewise.
15221 (grub_script_lexer_record_stop): Likewise.
15222 (grub_script_lexer_yywrap): New function prototype.
15223 (grub_script_lexer_fini): Likewise.
15224 (grub_script_execute_argument_to_string): Removed by...
15225 (grub_script_execute_argument_to_argv): ...better version.
15226
15227 * script/execute.c (ROUND_UPTO): New macro.
15228 (grub_script_execute_cmdline): Out of memory fixes.
15229 (grub_script_execute_menuentry): Likewise.
15230 (grub_script_execute_argument_to_string): Removed. Update all
15231 users by...
15232 (grub_script_execute_argument_to_argv): ...better version.
15233 * script/function.c (grub_script_function_create): Use
15234 grub_script_execute_argument_to_argv instead of
15235 grub_script_execute_argument_to_string.
15236
15237 * script/lexer.c (check_varstate): Removed.
15238 (check_textstate): Removed.
15239 (grub_script_lexer_record_start): Likewise.
15240 (grub_script_lexer_record_stop): Likewise.
15241 (recordchar): Replaced with...
15242 (grub_script_lexer_record): ...new function.
15243 (nextchar): Removed.
15244 (grub_script_lexer_init): Rewritten.
15245 (grub_script_yylex): Rewritten.
15246 (append_newline): New function.
15247 (grub_script_lexer_yywrap): New function.
15248 (grub_script_lexer_fini): New function.
15249 (grub_script_yyerror): Sets error flag.
15250
15251 * script/yylex.l: New file.
15252 (grub_lexer_yyfree): Wrapper for flex yyffre.
15253 (grub_lexer_yyalloc): Likewise.
15254 (grub_lexer_yyrealloc): Likewise.
15255 * script/parser.y: Refactored.
15256
15257 * script/script.c (grub_script_arg_add): Out of memory fixes.
15258 (grub_script_add_arglist): Likewise.
15259 (grub_script_create_cmdline): Likewise.
15260 (grub_script_create_cmdmenu): Likewise.
15261 (grub_script_add_cmd): Likewise.
15262 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15263 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15264 unnecessary code.
15265
15266 * tests/grub_script_echo1.in: New testcase.
15267 * tests/grub_script_vars1.in: New testcase.
15268 * tests/grub_script_echo_keywords.in: New testcase.
15269
1d63a066
VS
152702010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 Remove some redundancy in build system.
15273
15274 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15275 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15276 (TARGET_LDFLAGS): Add -nostdlib.
15277 (TARGET_IMG_LDFLAGS): Likewise.
15278 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15279 anything since mmap isn't available.
15280 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15281 Add util/time.c.
15282 (pkglib_MODULES): Remove reboot.mod.
15283 (reboot_mod_SOURCES): Removed.
15284 (reboot_mod_CFLAGS): Likewise.
15285 (reboot_mod_LDFLAGS): Likewise.
15286 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15287 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15288 (DEFSYMFILES): Add kernel_syms.lst.
15289 (kernel_img_HEADERS): Add common headers.
15290 (symlist.c): New target.
15291 (kernel_syms.lst): Likewise.
15292 (pkglib_MODULES): Add memdisk.mod.
15293 (memdisk_mod_SOURCES): New variable.
15294 (memdisk_mod_CFLAGS): Likewise.
15295 (memdisk_mod_LDFLAGS): Likewise.
15296 (pkglib_MODULES): Add reboot.mod.
15297 (reboot_mod_SOURCES): New variable.
15298 (reboot_mod_CFLAGS): Likewise.
15299 (reboot_mod_LDFLAGS): Likewise.
15300 (pkglib_MODULES): Add date.mod.
15301 (date_mod_SOURCES): New variable.
15302 (date_mod_CFLAGS): Likewise.
15303 (date_mod_LDFLAGS): Likewise.
15304 (pkglib_MODULES): Add datehook.mod.
15305 (datehook_mod_SOURCES): New variable.
15306 (datehook_mod_CFLAGS): Likewise.
15307 (datehook_mod_LDFLAGS): Likewise.
15308 (pkglib_MODULES): Add lsmmap.mod.
15309 (lsmmap_mod_SOURCES): New variable.
15310 (lsmmap_mod_CFLAGS): Likewise.
15311 (lsmmap_mod_LDFLAGS): Likewise.
15312 (pkglib_MODULES): Add boot.mod.
15313 (boot_mod_SOURCES): New variable.
15314 (boot_mod_CFLAGS): Likewise.
15315 (boot_mod_LDFLAGS): Likewise.
15316 * conf/i386-coreboot.rmk: Removed redundant parts.
15317 * conf/i386-ieee1275.rmk: Likewise.
15318 * conf/i386-pc.rmk: Likewise.
15319 * conf/mips-yeeloong.rmk: Likewise.
15320 * conf/mips.rmk: Likewise.
15321 * conf/powerpc-ieee1275.rmk: Likewise.
15322 * conf/sparc64-ieee1275.rmk: Likewise.
15323 * conf/x86_64-efi.rmk: Likewise.
15324 * conf/i386-coreboot.rmk: Moved qemu parts ..
15325 * conf/i386-qemu.rmk: ... here
15326 * conf/i386-efi.rmk: Moved common parts to...
15327 * conf/x86-efi.rmk: ... here.
15328 * conf/i386.rmk: Added modules common to all x86 variants.
15329 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15330 * disk/memdisk.c: Remove grub/machine/kernel.h.
15331 * gensymlist.sh.in: Include symbol.h.
15332 * hook/datehook.c: Correct module name.
15333 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15334 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15335 * include/grub/i386/efi/serial.h: New file.
15336 * include/grub/x86_64/efi/serial.h: Likewise.
15337 * util/time.c: Likewise.
15338 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15339
463ac55f
CK
153402010-03-14 Colin King <colin.king@ubuntu.com>
153412010-03-14 Colin Watson <cjwatson@ubuntu.com>
15342
15343 Shrink the pre-partition-table part of boot.img by eight bytes.
15344
15345 * boot/i386/pc/boot.S (ERR): New macro.
15346 (chs_mode): Use ERR.
15347 (geometry_error): Likewise.
15348 (hd_probe_error): Remove. This is only used once, so we wrwite
15349 it inline instead.
15350 (read_error): Instead of printing read_error_string, just set up
15351 %si and fall through to ...
15352 (error_message): ... this new function, also used by ERR.
15353
08e46ede
CW
153542010-03-14 Colin Watson <cjwatson@ubuntu.com>
15355
15356 Speed up consecutive hostdisk operations on the same device.
15357
15358 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15359 (grub_util_biosdisk_open): Initialise disk->data.
15360 (struct linux_partition_cache): New structure.
15361 (linux_find_partition): Cache partition start positions; these are
15362 expensive to compute on every read and write.
15363 (open_device): Cache open file descriptor in disk->data, so that we
15364 don't have to reopen it and flush the buffer cache for consecutive
15365 operations on the same device.
15366 (grub_util_biosdisk_close): New function.
15367 (grub_util_biosdisk_dev): Set `close' member.
15368
15369 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15370 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15371 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15372 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15373 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15374
4a6d2d06
VS
153752010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 Compile parts of grub-emu as modules.
15378
15379 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15380 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15381 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15382 (all-local): Add $(GRUB_EMU).
15383 (install-local): Install $(GRUB_EMU).
15384 (uninstall): Uninstall $(GRUB_EMU).
15385 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15386 * kern/dl.c: Likewise.
15387 * commands/sleep.c: Not include machine/time.h.
15388 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15389 (COMMON_CFLAGS): Likewise.
15390 (sbin_UTILITIES): Remove grub-emu.
15391 (grub_emu_SOURCES): Removed.
15392 (kernel_img_RELOCATABLE): New variable.
15393 (pkglib_PROGRAMS): Add kernel.img.
15394 (kernel_img_SOURCES): New variable
15395 (kernel_img_CFLAGS): Likewise.
15396 (kernel_img_LDFLAGS): Likewise.
15397 (TARGET_NO_STRIP): Likewise.
15398 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15399 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15400 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15401 (grub-emu): New target.
15402 (GRUB_EMU): New variable.
15403 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15404 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15405 * loader/xnu.c: Likewise.
15406 * include/grub/pci.h: Likewise.
15407 * genemuinit.sh: New file.
15408 * genemuinitheader.sh: Likewise.
15409 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15410 Support TARGET_NO_DYNAMIC_MODULES.
15411 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15412 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15413 * disk/loopback.c: Likewise.
15414 * font/font_cmd.c: Likewise.
15415 * partmap/acorn.c: Likewise.
15416 * partmap/amiga.c: Likewise.
15417 * partmap/apple.c: Likewise.
15418 * partmap/gpt.c: Likewise.
15419 * partmap/msdos.c: Likewise.
15420 * partmap/sun.c: Likewise.
15421 * parttool/msdospart.c: Likewise.
15422 * term/gfxterm.c: Likewise.
15423 * video/bitmap.c: Likewise.
15424 * video/readers/jpeg.c: Likewise.
15425 * video/readers/png.c: Likewise.
15426 * video/readers/tga.c: Likewise.
15427 * video/video.c: Likewise.
15428 * util/grub-emu.c (read_command_list): Removed.
15429 (main): Don't call util_init_nls.
15430 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15431 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15432
91fdd2ed
VS
154332010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15434
15435 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15436 date.mod, datehook.mod.
15437 (datetime_mod_SOURCES): New variable.
15438 (datetime_mod_CFLAGS): Likewise.
15439 (datetime_mod_LDFLAGS): Likewise.
15440 (date_mod_SOURCES): Likewise.
15441 (date_mod_CFLAGS): Likewise.
15442 (date_mod_LDFLAGS): Likewise.
15443 (datehook_mod_SOURCES): Likewise.
15444 (datehook_mod_CFLAGS): Likewise.
15445 (datehook_mod_LDFLAGS): Likewise.
15446 * conf/sparc64-ieee1275.rmk: Likewise.
15447 * lib/ieee1275/datetime.c: New file.
15448
873ccae6
VS
154492010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15452 (ieee1275_fb_mod_SOURCES): New variable.
15453 (ieee1275_fb_mod_CFLAGS): Likewise.
15454 (ieee1275_fb_mod_LDFLAGS): Likewise.
15455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15456 New proto.
15457 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15458 (HEAP_MAX_ADDR): Likewise.
15459 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15460 type.
15461 Correct stop condition.
15462 (grub_ieee1275_devices_iterate): New function.
15463 * video/ieee1275.c: New file.
15464
601c97c0
VS
154652010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15468
15469 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15470 as scratch.
15471 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15472 SCRATCH_PAD_DISKBOOT as scratch.
15473 (bootit): Pass Openfirmware pointer in %o4.
15474 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15475 of 0x200000.
15476 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15477 with util/grub-mkrawimage.c.
15478 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15479 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15480 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15481 (grub_aout_load) [GRUB_UTIL]: Likewise.
15482 * include/grub/kernel.h (grub_modules_get_end): New proto.
15483 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15484 (SCRATCH_PAD_BOOT): New definition.
15485 (SCRATCH_PAD_DISKBOOT): Likewise.
15486 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15487 * include/grub/sparc64/ieee1275/ieee1275.h
15488 (grub_ieee1275_original_stack): New variable
15489 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15490 New definition
15491 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15492 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15493 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15494 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15495 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15496 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15497 (grub_platform_image_format_t): New type.
15498 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15499 * kern/main.c (grub_modules_get_end)
15500 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15501 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15502 (codestart): Switch stacks.
15503 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15504 variable.
15505 (grub_heap_init): Use grub_modules_get_end.
15506 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15507 stack.
15508 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15509 (main): Likewise.
15510 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15511
d68b491e
TG
155122010-03-14 Thorsten Glaser <tg@mirbsd.org>
15513
15514 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15515
4e02ed50
MK
155162010-03-08 Matt Kraai <kraai@ftbfs.org>
15517
15518 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15519 bug #559005).
15520
1f15fc1e
VS
155212010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * genmoddep.awk: Output all missing symbols and not only first.
15524
fce5d8ff
VS
155252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15526
15527 * NEWS: Put the date of 1.98 release.
15528
d1e8a02f
VS
155292010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15530
15531 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15532 ft2build.h.
15533
696fd607
VS
155342010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15535
15536 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15537 completition in the middle of string.
15538
33e2e6f3
VS
155392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15540
15541 * util/grub-mkrescue.in: Use mktemp with explicit template.
15542
b1f6d291
VS
155432010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15546
2ac227c7
VS
155472010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15550 right pointer.
15551
8f9a632b
VS
155522010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 Fix FreeBSD compilation.
15555
15556 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15557 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15558
60b03859
VS
155592010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15560
15561 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15562
48a5a769
VS
155632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15564
15565 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15566
3ab4bd77
VS
155672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15570
d116e0d8
RM
155712010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15572
15573 Support relative image path in theme file.
15574
15575 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15576 (image_set_property): Handle theme_dir and relative path.
15577
c7ef54aa
VS
155782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 * configure.ac: Alias amd64 to x86_64.
15581
fcee14ed
VS
155822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 * NEWS: mention multiboot on EFI.
15585
d0780363
VS
155862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 * kern/main.c (grub_load_modules): Handle errors from init functions of
15589 embeded modules.
15590
41168ea4
VS
155912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * normal/autofs.c (autoload_fs_module): Handle errors.
15594
b54d93ac
VS
155952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 Disable linux.mod on qemu-mips since it's not functional and leads
15598 to compilation failure.
15599
15600 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15601 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15602 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15603 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15604 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15605 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15606 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15607 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15608 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15609 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15610 Reported by: BVK Chaitanya
15611
fc8345da
JU
156122010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15613
15614 * INSTALL: Add gettext as a dependency and add qemu to a new section
15615 "Prerequisites for make-check".
15616
4760f979
CF
156172010-03-04 Christian Franke <franke@computer.org>
15618
15619 * util/grub-pe2elf.c: Add missing include "progname.h".
15620
f209b5b2
VS
156212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15622
15623 * normal/crypto.c (read_crypto_list): Fix a typo.
15624 Reported by: Seth Goldberg.
15625
b4b7be98
VS
156262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 15629 Reported by: Seth Goldberg.
b4b7be98 15630
c0ee0385
VS
156312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15634 ascii.bitmaps.
15635
a8efbf64
VS
156362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 15639 Reported by: Seth Goldberg.
a8efbf64 15640
08dcd913
VS
156412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15642
15643 * util/i386/efi/grub-install.in: Copy gettext files.
15644
c4d0b332
VS
156452010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15648
c6f2fe52
VS
156492010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 Wait for user entry basing on presence of output rather than on errors.
15652
15653 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15654 (grub_install_newline_hook): Likewise.
15655 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15656 * normal/menu.c (show_menu): Check line_counter to determine presence
15657 of output.
15658 * normal/term.c (grub_normal_line_counter): New variable.
15659 (grub_normal_get_line_counter): New function.
15660 (grub_install_newline_hook): Likewise.
15661
5382b1e4
VS
156622010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15663
15664 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15665
5519963b
VS
156662010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 * configure.ac: Update version to 1.98.
15669
72b28631
VS
156702010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 * util/grub.d/10_linux.in (linux_entry): Don't default to
15673 gfxpayload=keep if Linux doesn't support video handover.
15674
c140a180
VS
156752010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 Don't compile video modules on yeeloong since video subsystem is part
15678 of kernel.
15679
15680 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15681 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15682 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15683 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15684 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15685 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15686 * include/grub/bitmap_scale.h: Likewise.
15687 * include/grub/bufio.h: Likewise.
15688 * include/grub/font.h: Likewise.
15689 * include/grub/gfxterm.h: Likewise.
15690 * include/grub/video.h: Likewise.
15691 * include/grub/vbe.h: Don't include video_fb.h.
15692 * video/i386/pc/vbe.c: Include video_fb.h.
15693 * commands/i386/pc/vbetest.c: Include video.h.
15694
a0ca21c2
CW
156952010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15696
15697 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15698 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15699 default entry if GRUB_SAVEDEFAULT=true. This allows using
15700 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15701 saving a new default on every boot.
15702
4a8a763c
VS
157032010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15706 * normal/term.c (read_terminal_list): Likewise.
15707 * normal/main.c (grub_normal_init_page): Likewise.
15708 (grub_normal_read_line_real): Likewise.
15709
607ffde2
VS
157102010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15711
15712 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15713 memory leak.
15714 Reported by: Seth Goldberg.
15715
2b8fa975
CW
157162010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15717
15718 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15719 duplicate declaration of `start'.
15720
618307dd
VS
157212010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15724 filename.
15725 Reported by: Georgy Buranov
15726
7dd05b96 157272010-02-20 Carles Pina i Estany <carles@pina.cat>
15728
15729 * util/grub-mkrawimage.c (usage): Change string formatting to
15730 improve gettext.
15731
d1484a42
MRA
157322010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15733
15734 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15735 backspace keys.
15736
42b1d186
VS
157372010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15740 Reported by: Michael Suchanek.
15741
157422010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
15743
15744 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15745 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15746
d9f31a41
VS
157472010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 Remove any reference to non-free fonts.
15750
15751 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15752 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15753 uses non-free components.
15754 * font/font.c (grub_font_get_name): Remove example name.
15755 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15756 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15757 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15758 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15759
2793c71e
GB
157602010-02-16 Georgy Buranov <gburanov@gmail.com>
15761
15762 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15763
402e3779
VS
157642010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15767 Double divisor.
15768 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15769 features.
15770 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15771
0dd1e0dd
VS
157722010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15775
6fa7cfce
ST
157762010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15777
15778 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15779 * docs/grub.texi (Command-line and menu entry commands): Document play
15780 command.
15781
37c8483b
ST
157822010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15783
15784 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15785 parse arguments as inline tempo and notes. Move code for playing notes
15786 to...
15787 (play): ... new function.
15788
14da0fb7
ST
157892010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15790
15791 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15792 grub_uint16_t instead of short.
15793 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15794 disk from little endian to cpu endianness.
15795
04459e70
ST
157962010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15797
15798 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15799 GRUB_TICKS_PER_SECOND instead of 120.
15800
a0876943
VS
158012010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15804 escape sequence after \e.
15805
e29f95dc
VS
158062010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15807
15808 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15809 non-ASCII characters.
15810
d27859b2
VS
158112010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15814 set root in single quotes to prevent \, from being unescaped.
15815
bc028f2f
VS
158162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 Prevent unknown commands from stopping menuentry execution.
15819
15820 * script/execute.c (grub_script_execute_cmdline): Print error after
15821 unknown command.
15822
095f5f82
VS
158232010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15824
15825 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15826 Reported by: Pavel Pisa.
15827
8c717950
VS
158282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15831
904935c3
VS
158322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15833
15834 Merge grub_ieee1275_map_physical into grub_map and rename to
15835 grub_ieee1275_map
15836
15837 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15838 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15839 Remove.
15840 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15841 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15842 necessary.
15843 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15844
5b59a4e3
VS
158452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15848 opening and not after.
15849
69e137e8
VS
158502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15853 constants.
15854
2c0fcc36
VS
158552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15858 (alloc_phys): Use ALIGN_UP instead of align_addr.
15859
8c6052ce
VS
158602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15861
15862 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15863
17cec782
VS
158642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15867
e0128bbd
VS
158682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15871 verbose dprintf.
15872
ca62070b
VS
158732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 Fix over-4GiB seek on sparc64.
15876
15877 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15878 Replace pos_i and pos_lo with pos. All users updated.
15879 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15880 New constant.
15881 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15882 Likewise.
15883 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15884 and pos_lo.
15885
bdca2607
VS
158862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15887
15888 * util/grub-mkrawimage.c (main): Call set_program_name.
15889
da278c4d
VS
158902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15891
15892 Properly align 64-bit targets.
15893
15894 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15895 (generate_image): Use ALIGN_ADDR.
15896
b274d734
VS
158972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 Properly create cross-endian images.
15900
15901 * include/grub/types.h (grub_host_to_target_addr): New macro
15902 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15903
82da2062
VS
159042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15907
7cae4377
VS
159082010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15909
15910 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15911
15912 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15913 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15914 (grub_linux_boot): Divide by 64K when on VESA.
15915
65a533e7
VS
159162010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 Support GRUB_GFXPAYLOAD_LINUX.
15919
15920 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15921 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15922
dd01d397
VS
159232010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15926 to show messages instead of discarding them.
15927 Process errors after executing command and not before. Keep old method
15928 too as precaution.
15929
660960d6
VS
159302010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15931
15932 * configure.ac: Check for ft2build.h.
15933
62509f04
VS
159342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15937
473df63d
VS
159382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 * genkernsyms.sh.in: Use TARGET_CC.
15941
c98d2a13
CW
159422010-02-07 Colin Watson <cjwatson@ubuntu.com>
15943
15944 * NEWS: Update.
15945
6e14234c
VS
159462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
15949 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15950 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 15951
b255e9cf
YB
159522010-02-07 Yves Blusseau <blusseau@zetam.org>
15953
6e14234c 15954 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 15955
98e6959d
VS
159562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 Fix warnings in grub-emu when compiling with maximum warning options.
15959
15960 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15961 (grub_arch_modules_addr): Return 0 and not NULL.
15962 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 15963 (xstrdup): Use newstr instead of dup.
f88d801b
VS
15964 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15965 of disk to dsk to avoid shadowing.
74e4934e
VS
15966 (find_free_slot): Fix prototype.
15967 * util/getroot.c (grub_util_is_dmraid): Make static.
15968 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15969 Add missing prototype.
15970 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 15971
74e31b5c
VS
159722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15975 appropriately.
15976
6b2ad14b
VS
159772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15980 code out.
15981
8f891adc
VS
159822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15985 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15986 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15987 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15988 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15989 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15990
74b45184
VS
159912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15992
15993 * include/grub/err.h (grub_err_printf): Don't export.
15994
a4bced77
VS
159952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15998
007d0695
VS
159992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16000
16001 * include/grub/i18n.h (grub_gettext_dummy): Removed.
16002 * kern/misc.c (grub_gettext_dummy): Make static.
16003
b6c0d9c2
VS
160042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
16007 by non-valid ones.
16008 * kern/term.c (grub_putchar): Likewise.
16009
f51a90d0
VS
160102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
16013 buggy hook call and memory leak.
16014
6846cec5
VS
160152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
16018
468d69fe
VS
160192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16020
16021 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
16022
51906b8c
VS
160232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16024
16025 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
16026 modevar.
16027 Return grub_errno on allocation error.
16028
09706ce5
VS
160292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
16032
911df80c
YB
160332010-02-06 Yves Blusseau <blusseau@zetam.org>
16034
16035 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
16036 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
16037
3746a6bc
VS
160382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16039
16040 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
16041 non-pxe disk.
16042 (grub_pxefs_open): Likewise.
16043
09706ce5
VS
160442010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16045
16046 * util/grub.d/10_hurd.in: Add --class information to menuentries.
16047 * util/grub.d/10_kfreebsd.in: Likewise.
16048 * util/grub.d/10_linux.in: Likewise.
16049
7cc192d9
VS
160502010-02-06 Colin D Bennett <colin@gibibit.com>
16051
16052 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16053 (gfxmenu_mod_SOURCES): New variable.
16054 (gfxmenu_mod_CFLAGS): Likewise.
16055 (gfxmenu_mod_LDFLAGS): Likewise.
16056 * include/grub/term.h (grub_term_set_current_output): Declare
16057 argument as const.
16058 * docs/gfxmenu-theme-example.txt: New file.
16059 * gfxmenu/gfxmenu.c: Likewise.
16060 * gfxmenu/gui_box.c: Likewise.
16061 * gfxmenu/gui_canvas.c: Likewise.
16062 * gfxmenu/gui_circular_progress.c: Likewise.
16063 * gfxmenu/gui_image.c: Likewise.
16064 * gfxmenu/gui_label.c: Likewise.
16065 * gfxmenu/gui_list.c: Likewise.
16066 * gfxmenu/gui_progress_bar.c: Likewise.
16067 * gfxmenu/gui_string_util.c: Likewise.
16068 * gfxmenu/gui_util.c: Likewise.
16069 * gfxmenu/icon_manager.c: Likewise.
16070 * gfxmenu/model.c: Likewise.
16071 * gfxmenu/named_colors.c: Likewise.
16072 * gfxmenu/theme_loader.c: Likewise.
16073 * gfxmenu/view.c: Likewise.
16074 * gfxmenu/widget-box.c: Likewise.
16075 * include/grub/gfxmenu_model.h: Likewise.
16076 * include/grub/gfxmenu_view.h: Likewise.
16077 * include/grub/gfxwidgets.h: Likewise.
16078 * include/grub/gui.h: Likewise.
16079 * include/grub/gui_string_util.h: Likewise.
16080 * include/grub/icon_manager.h: Likewise.
16081
160822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 Agglomerate scrolling in gfxterm.
16085
16086 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16087 (grub_virtual_screen_setup): Initialise 'total_screen'.
16088 (write_char): Split to ...
16089 (paint_char): ... this ...
16090 (write_char): ... and this.
16091 (paint_char): Handle delayed scrolling.
16092 (draw_cursor): Likewise.
16093 (scroll_up): Split to ...
16094 (real_scroll): ... this ...
16095 (scroll_up): ... and this.
16096 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16097 characters.
16098 (grub_gfxterm_refresh): Call real_scroll.
16099
161002010-02-06 Colin D Bennett <colin@gibibit.com>
16101
16102 * include/grub/misc.h (grub_iscntrl): New inline function.
16103 (grub_isalnum): Likewise.
16104 (grub_strtol): Likewise.
16105
161062010-02-06 Colin D Bennett <colin@gibibit.com>
16107
16108 * normal/menu_text.c (get_entry_number): Move from here ...
16109 * normal/menu.c (get_entry_number): ... moved here.
16110 * include/grub/menu.h (grub_menu_get_default_entry_index):
16111 New prototype.
16112 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16113 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16114 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16115 (grub_menu_viewer_should_return): Likewise.
16116 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16117 * normal/menu_text.c (run_menu): Enable menu switching.
16118 * normal/menu_viewer.c (should_return): New variable.
16119 (menu_viewer_changed): Likewise.
16120 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16121 (grub_menu_viewer_should_return): New function.
16122 (menuviewer_write_hook): Likewise.
16123 (grub_menu_viewer_init): Likewise.
16124
161252010-02-06 Colin D Bennet <colin@gibibit.com>
161262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16127
16128 Support for gfxterm in a window.
16129
16130 * include/grub/gfxterm.h: New file.
16131 * include/grub/video.h (struct grub_video_rect): New declaration.
16132 (grub_video_rect_t): Likewise.
16133 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16134 (refcount): New variable.
16135 (render_target): Likewise.
16136 (window): Likewise.
16137 (repaint_callback): Likewise.
16138 (grub_virtual_screen_setup): Use 'render_target'.
16139 (init_window): New function.
16140 (grub_gfxterm_init_window): Likewise.
16141 (grub_gfxterm_init): Check reference counter.
16142 Use init_window.
16143 (destroy_window): New function.
16144 (grub_gfxterm_destroy_window): Likewise.
16145 (grub_gfxterm_fini): Check reference counter.
16146 Use destroy_window.
16147 (redraw_screen_rect): Restore viewport.
16148 Use 'render_target' and 'window'.
16149 Call 'repaint_callback'.
16150 (write_char): Use 'render_target'.
16151 (draw_cursor): Likewise.
16152 (scroll_up): Restore viewport.
16153 Use 'render_target' and 'window'.
16154 Call 'repaint_callback'.
16155 (grub_gfxterm_cls): Likewise.
16156 (grub_gfxterm_refresh): Use 'window'.
16157 (grub_gfxterm_set_repaint_callback): New function.
16158 (grub_gfxterm_background_image_cmd): Use 'window'.
16159 (grub_gfxterm_get_term): New function.
16160 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
16161
161622010-02-06 Colin D Bennett <colin@gibibit.com>
16163
16164 Bitmap scaling support.
16165
16166 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
16167 (bitmap_scale_mod_SOURCES): New variable.
16168 (bitmap_scale_mod_CFLAGS): Likewise.
16169 (bitmap_scale_mod_LDFLAGS): Likewise.
16170 * include/grub/bitmap_scale.h: New file.
16171 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16172 (background_image_cmd_options): New variable.
16173 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16174 (cmd): Rename and change type to ...
16175 (background_image_cmd_handle): ... this. All users updated.
16176 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16177 * video/bitmap_scale.c: New file.
16178
161792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 SDL support.
16182
16183 * Makefile.in (LIBSDL): New variable.
16184 (enable_grub_emu_sdl): Likewise.
16185 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16186 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16187 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16188 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16189 * util/sdl.c: New file.
16190
161912010-02-06 Colin D Bennett <colin@gibibit.com>
161922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16193
16194 Double buffering support.
16195
16196 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16197 * include/grub/video.h: Update comment.
16198 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16199 New type.
16200 (grub_video_fb_doublebuf_blit_init): New prototype.
16201 * term/gfxterm.c (scroll_up): Support double buffering.
16202 (grub_gfxterm_refresh): Likewise.
16203 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16204 (grub_video_fb_doublebuf_blit_init): Likewise.
16205 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16206 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16207 'displayed_page', 'render_page' and 'update_screen'.
16208 (grub_video_vbe_fini): Free offscreen buffer.
16209 (doublebuf_pageflipping_commit): New function.
16210 (doublebuf_pageflipping_update_screen): Likewise.
16211 (doublebuf_pageflipping_init): Likewise.
16212 (double_buffering_init): Likewise.
16213 (grub_video_vbe_setup): Enable doublebuffering.
16214 (grub_video_vbe_swap_buffers): Implement.
16215 (grub_video_vbe_set_active_render_target): Handle double buffering.
16216 (grub_video_vbe_get_active_render_target): Likewise.
16217 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16218 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16219 (grub_video_vbe_enable_double_buffering): Likewise.
16220 (grub_video_vbe_swap_buffers): Use update_screen.
16221 (grub_video_set_mode): Use double buffering.
16222
162232010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16224
16225 * maintainance/gentrigtables.py: Remove.
16226 * lib/trig.c: Likewise.
16227
16228 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16229
16230 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16231 `trigtables.c'.
16232 (trigtables.c): New rule.
16233 (gentrigtables): Likewise.
16234 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16235
162362010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16237
16238 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16239 integer constants.
16240
162412010-02-06 Colin D Bennet <colin@gibibit.com>
16242
16243 Trigonometry support.
16244
16245 * include/grub/trig.h: New file.
16246 * lib/trig.c: Likewise.
16247 * maintainance/gentrigtables.py: Likewise.
16248 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16249 (trig_mod_SOURCES): New variable.
16250 (trig_mod_CFLAGS): Likewise.
16251 (trig_mod_LDFLAGS): Likewise.
16252
5562834e
VS
162532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16256 disk devices.
16257
4f8528fc
VS
162582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16259
16260 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16261 error.
16262
2b4068e9
VS
162632010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 * util/hostdisk.c (open_device): Don't use partition device when reading
16266 before the partition.
16267 (grub_util_biosdisk_read): Don't read from partition and before the
16268 partition in single operation.
16269 (grub_util_biosdisk_write): Don't write to partition and before the
16270 partition in single operation.
16271
399f6e4d
TL
162722010-02-03 Torsten Landschoff <torsten@debian.org>
16273
16274 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16275 last sectors.
16276
996649b0
VS
162772010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16278
16279 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16280 CDROM reads.
16281 (grub_biosdisk_write): Refuse to write to CDROM.
16282
3b205d4d
VS
162832010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16284
16285 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16286
61e89d9d
VS
162872010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 * font/font.c (find_glyph): Check that bmp_idx is available before
16290 using it.
16291 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16292 with (font == NULL).
16293
bf7fcba2
CS
162942010-01-28 Christian Schmitt <chris@ilovelinux.de>
16295
16296 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16297
f45d2663
BC
162982010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16299
16300 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16301 * util/grub-script-check.c (getline): Fix empty lines case.
16302
ec1444e6
RM
163032010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16304
16305 * Makefile.in (check): Exit with fail status when one of the tests
16306 fails.
16307 * tests/example_functional_test.c (example_test): Fix reversed assert.
16308 * tests/example_unit_test.c (example_test): Likewise.
16309
2e1cb9bb
CW
163102010-01-28 Colin Watson <cjwatson@ubuntu.com>
16311
16312 * util/grub.d/10_linux.in: This script does not use any of the
16313 contents of gettext.sh, only the external command `gettext', so stop
16314 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16315 the same prefix as GRUB.)
16316 * util/grub.d/10_kfreebsd.in: Likewise.
16317
63533ab0
VS
163182010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16321 of the line.
16322
989e1f93
VS
163232010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16326 last sectors.
16327
e709ebe2
VS
163282010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16329
16330 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16331 having a 4KiB and not 32KiB buffer size.
16332
27dea7ed
RM
163332010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16334
16335 * util/hostfs.c: Include `<errno.h>'.
16336 (grub_hostfs_read): Handle errors from fseeko() and fread().
16337
67667b9c
RM
163382010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16339
16340 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16341 loop when using read hooks on files whose size isn't sector-aligned.
16342
c294d9d8
RM
163432010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16344
16345 Remove unused parameter.
16346
16347 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16348 (grub_iso9660_open): Remove initialization of `data->length'.
16349
af75a9f1
RM
163502010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16351
16352 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16353 memleak conditions.
16354
254e2ce5 163552010-01-27 Carles Pina i Estany <carles@pina.cat>
16356
16357 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16358 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16359
b510928c 163602010-01-26 Carles Pina i Estany <carles@pina.cat>
16361
16362 * util/bin2h.c (usage): Fix warning (space after backslash).
16363
aa2f9dd2 163642010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 16365
16366 * font/font.c: Include `grub/fontformat.h.
16367 Remove font file format constants.
16368 (grub_font_load): Use the new macros.
16369 * include/grub/fontformat.h: New file.
16370 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16371 (write_font_pf2): Use the new macros.
16372
94e7e712
RM
163732010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16374
16375 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16376 does.
16377
3973a59a
RM
163782010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16379
16380 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16381
16382 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16383 (_start): Macroify `0x7F'.
16384
16385 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16386 (make_install_device): Use "(pxe)" as fallback prefix when booting
16387 via PXE.
16388
42e0cba3
GS
163892010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16390
16391 * configure.ac: Reset LIBS after check for libgcc symbols.
16392
847effd8
CW
163932010-01-25 Colin Watson <cjwatson@ubuntu.com>
16394
16395 * util/hostdisk.c (open_device): Add trailing newline to debug
16396 message.
16397
ea4a7e35
GS
163982010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16399
16400 * configure.ac: Check for `limits.h'.
16401 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16402
67951a53
RM
164032010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16404
16405 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16406 capitalize error strings.
16407
c273d4ce
ST
164082010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16409
16410 * util/grub.d/10_hurd.in: Add a recovery mode.
16411
69be5b74
VS
164122010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 * configure.ac: Check for libgcc symbols with -nostdlib.
16415
fc9e5810
BC
164162010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16417
16418 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16419
4b358c0a
VS
164202010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16421
16422 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16423 stack since heap may be unavailable at that point.
16424 (grub_ofconsole_gotoxy): Likewise.
16425
454fcd1c
VS
164262010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 * configure.ac: Check for _restgpr_14_x.
16429 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16430 and _savegpr_* prototypes.
16431
566863ca
RM
164322010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16433
16434 Use generic grub_reboot() for i386-efi.
16435
16436 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16437 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16438 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16439
bf86e59a
VS
164402010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16443 presence of "prefix" variable as it breaks when normal.mod is
16444 embedded.
16445
d645e0f8
VS
164462010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16447
16448 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16449 stack since heap is unavailable at that point.
16450
f9ab2e25
VS
164512010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16452
16453 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16454 (grub_freebsd_bootinfo): Rewritten.
16455 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16456
01fc7054
VS
164572010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16460
caab4fd6
RM
164612010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16462
16463 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16464 domain now.
16465
67eb1427
FZ
164662010-01-20 Felix Zielcke <fzielcke@z-51.de>
16467
16468 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16469 around for handling "/" to the correct fix. Fix a memory leak. Use
16470 xstrdup instead of strdup.
16471
a9ed4ff3
VS
164722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16475
164762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
16477
16478 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16479
16480 * font/font.c (struct grub_font): New member 'bmp_idx'.
16481 (font_init): Initialise 'bmp_idx'.
16482 (load_font_index): Fill 'bmp_idx'.
16483 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16484
48209f4f
VS
164852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16488 unnecessary calls.
16489
9f0a4bb7
VS
164902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 Move context handling out of the kernel.
16493
16494 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16495 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16496 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16497 * conf/i386-efi.rmk: Likewise.
16498 * conf/i386-ieee1275.rmk: Likewise.
16499 * conf/i386-pc.rmk: Likewise.
16500 * conf/powerpc-ieee1275.rmk: Likewise.
16501 * conf/sparc64-ieee1275.rmk: Likewise.
16502 * conf/x86_64-efi.rmk: Likewise.
16503 * include/grub/env.h: Include grub/menu.h.
16504 (grub_env_var_type): Removed.
16505 (grub_env_var): Replaced field 'type' with 'global'.
16506 (grub_env_find): New prototype.
16507 (grub_env_context_open): Remove EXPORT_FUNC.
16508 (grub_env_context_close): Likewise.
16509 (grub_env_export): Likewise.
16510 (grub_env_set_data_slot): Removed.
16511 (grub_env_get_data_slot): Likewise.
16512 (grub_env_unset_data_slot): Likewise.
16513 (grub_env_unset_menu): New prototype.
16514 (grub_env_set_menu): Likewise.
16515 (grub_env_get_menu): Likewise.
16516 * include/grub/env_private.h: New file.
16517 * include/grub/normal.h (grub_context_init): New prototype.
16518 (grub_context_fini): Likewise.
16519 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16520 * normal/context.c (grub_cmd_export): ... to here.
16521 * kern/env.c: Include env_private.h.
16522 (HASHSZ): Moved to include/grub/env_private.h.
16523 (grub_env_context): Likewise.
16524 (grub_env_sorted_var): Likewise.
16525 (current_context): Renamed from this ...
16526 (grub_current_context): ...to this. 'static' removed. All users updated.
16527 (grub_env_find): Removed 'static'.
16528 (grub_env_context_open): Moved to normal/context.c.
16529 (grub_env_context_close): Likewise.
16530 (grub_env_export): Likewise.
16531 (mangle_data_slot_name): Removed.
16532 (grub_env_set_data_slot): Likewise.
16533 (grub_env_get_data_slot): Likewise.
16534 (grub_env_unset_data_slot): Likewise.
16535 * kern/main.c (grub_set_root_dev): Don't export root.
16536 It will be done later.
16537 (grub_main): Don't export prefix.
16538 It will be done later.
16539 * normal/context.c: New file.
16540 * normal/main.c (free_menu): Use grub_env_unset_menu.
16541 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16542 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16543 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16544 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16545
8dd35b8c
VS
165462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 setpci support.
16549
16550 * commands/setpci.c: New file.
16551 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16552 (setpci_mod_SOURCES): New variable.
16553 (setpci_mod_CFLAGS): Likewise.
16554 (setpci_mod_LDFLAGS): Likewise.
16555
449193d5
VS
165562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16557
16558 Byte-addressable PCI configuration space.
16559
16560 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16561 dword address.
16562 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16563 GRUB_PCI_REG_CACHELINE.
16564 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16565 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16566 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16567 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16568 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16569 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16570 grub_pci_make_address.
16571 (lock_rom_area): Likewise.
16572 * commands/lspci.c (grub_lspci_iter): Use macroses
16573 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16574 of grub_pci_make_address.
16575 * disk/ata.c (grub_ata_pciinit): Likewise.
16576 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16577 (GRUB_PCI_REG_VENDOR): Likewise.
16578 (GRUB_PCI_REG_DEVICE): Likewise.
16579 (GRUB_PCI_REG_COMMAND): Likewise.
16580 (GRUB_PCI_REG_STATUS): Likewise.
16581 (GRUB_PCI_REG_REVISION): Likewise.
16582 (GRUB_PCI_REG_CLASS): Likewise.
16583 (GRUB_PCI_REG_CACHELINE): Likewise.
16584 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16585 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16586 (GRUB_PCI_REG_BIST): Likewise.
16587 (GRUB_PCI_REG_ADDRESSES): Likewise.
16588 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16589 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16590 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16591 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16592 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16593 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16594 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16595 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16596 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16597 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16598 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16599 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16600 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16601 (GRUB_PCI_REG_MIN_GNT): Likewise.
16602 (GRUB_PCI_REG_MAX_LAT): Likewise.
16603 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16604 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16605 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 16606 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
16607 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16608 space.
16609
96d73208
RM
166102010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16611
16612 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16613 can be reliably determined to be supported.
16614
d4484482
RM
166152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16616
16617 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16618 that VESA is supported.
16619 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16620 supported.
16621
00308ecf
VS
166222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16625
f66924a4
RM
166262010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16627
16628 * util/misc.c (make_system_path_relative_to_its_root): Work around
16629 special-casing of "/", as previous incarnation of this routine did.
16630
cbca0ada
VS
166312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 Fix any-emu compilation.
16634
16635 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16636 * grub_bin2h_SOURCES: New variable.
16637
34a66d99
RM
166382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16639
16640 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16641
94fabf58
RM
166422010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16643
16644 * util/grub.d/00_header.in: Fix handling of locale_dir.
16645
02cf98ca
VS
166462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16647
16648 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16649 as possible unifont location (Gentoo).
16650 Reported by: Alexander Brüning
16651
327dbcd7
VS
166522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16653
16654 Don't try to generate lists for kernel.img.
16655
16656 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16657 (pkglib_MODULES): Remove kernel.img.
16658 (kernel_img_EXPORTS): Removed.
16659 (kernel_img_RELOCATABLE): New variable.
16660 * conf/x86_64-efi.rmk: Likewise.
16661 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16662
ca467290
VS
166632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16666 grub_xasprintf or grub_snprintf.
16667 (grub_vsprintf): Likewise.
16668 (grub_snprintf): New proto.
16669 (grub_vsnprintf): Likewise.
16670 (grub_xasprintf): Likewise.
16671 (grub_xvasprintf): Likewise.
16672 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16673 (grub_sprintf): Removed.
16674 (grub_vsnprintf): New function.
16675 (grub_snprintf): Likewise.
16676 (grub_xvasprintf): Likewise.
16677 (grub_xasprintf): Likewise.
16678 (grub_vsprintf): Renamed to ...
16679 (grub_vsnprintf_real): ...this. New argument max_len.
16680
aca655fd
BC
166812010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16682
16683 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16684 fix grub-script-check warning.
16685
7ee92c32
VS
166862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 * include/grub/font.h (grub_font_load): Fix prototype.
16689
f80927ca
VS
166902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16691
16692 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16693
119c50ea
VS
166942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16695
16696 * include/grub/x86_64/at_keyboard.h: New file.
16697
47d5f3c1
VS
166982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 * loader/mips/linux.c: Include missing grub/i18n.h.
16701
55ff5266
RM
167022009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16703
16704 * normal/menu.c (notify_execution_failure): Clarify error message.
16705
c893cc87
RM
167062009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16707
16708 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16709 return value (and revert all return statements). Update users.
16710
917dd370
CW
167112010-01-20 Dan Merillat <debian@dan.merillat.org>
16712
16713 * kern/device.c (grub_device_iterate): Allocate new part_ent
16714 structure based on sizeof (*p) rather than sizeof (p->next), to
16715 account for structure padding.
16716
16717 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16718 disk is NULL, which might happen for LVM physical volumes with no
16719 LVM signature.
16720
d4a4ee57
RM
167212009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16722
16723 * loader/mips/linux.c (grub_cmd_initrd)
16724 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16725
167262009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16727
16728 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16729 (grub_video_video_init, grub_video_bitmap_init)
16730 (grub_font_manager_init, grub_term_gfxterm_init)
16731 (grub_at_keyboard_init): New extern declarations.
16732 (grub_machine_init): Initialize gfxterm and at_keyboard.
16733
16734 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16735
16736 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16737 `gfxterm.mod' into core image.
16738
16739 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16740 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16741 (kernel_img_FORMAT): Copy to ...
16742
16743 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16744 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16745 (kernel_img_FORMAT): ... here, and ...
16746
16747 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16748 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16749 (kernel_img_FORMAT): ... here.
16750
16751 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16752 and input (at_keyboard) terminals in kernel.
16753 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16754
16755 (pkglib_MODULES): Remove `pci.mod'.
16756 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16757 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16758 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16759 (at_keyboard_mod_LDFLAGS): Remove variables.
16760
167612010-01-11 Felix Zielcke <fzielcke@z-51.de>
16762
16763 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16764
167652009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16766
16767 * include/grub/mips/libgcc.h: Only export symbols for functions
16768 that libgcc provides.
16769
167702009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16771
16772 MIPS support.
16773
16774 * bus/bonito.c: New file.
16775 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16776 GRUB_PCI_NUM_DEVICES.
16777 * term/i386/pc/serial.c: Move to ...
16778 * term/serial.c: ... here. All users updated.
16779 * util/i386/pc/grub-mkimage.c: Move to ...
16780 * util/grub-mkrawimage.c: ... here. All users updated.
16781 * term/i386/pc/at_keyboard.c: Move to ...
16782 * term/at_keyboard.c: ... here. All users updated.
16783 * conf/mips-qemu-mips.rmk: New file.
16784 * conf/mips-yeeloong.rmk: Likewise.
16785 * conf/mips.rmk: Likewise.
16786 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16787 mipsel-qemu-mips.
16788 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16789 to port addresses.
16790 (grub_ata_pciinit): Support CS5536.
16791 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16792 * font/font_cmd.c (loadfont_command): Open file before passing it to
16793 grub_font_load.
16794 (pseudo_file_read): New function.
16795 (pseudo_file_close): Likewise.
16796 (pseudo_fs): New structure.
16797 (load_font_module): New function.
16798 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16799 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16800 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16801 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16802 * include/grub/i386/at_keyboard.h: Split into ...
16803 * include/grub/at_keyboard.h: ... this ...
16804 * include/grub/i386/at_keyboard.h: ... and this.
16805 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16806 New prototype.
16807 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16808 updated.
16809 (grub_elf64_size): Likewise.
16810 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16811 filename.
16812 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16813 * include/grub/i386/coreboot/serial.h: Rewritten.
16814 * include/grub/i386/ieee1275/serial.h: Include
16815 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16816 * include/grub/i386/pc/serial.h: Moved from here ...
16817 * include/grub/serial.h: ... to here. All users updated.
16818 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16819 (GRUB_PCI_NUM_BUS): Likewise.
16820 (GRUB_PCI_NUM_DEVICES): Likewise.
16821 (grub_pci_device_map_range): Add missing volatile keyword.
16822 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16823 * include/grub/mips/at_keyboard.h: New file.
16824 * include/grub/mips/cache.h: Likewise.
16825 * include/grub/mips/io.h: Likewise.
16826 * include/grub/mips/kernel.h: Likewise.
16827 * include/grub/mips/libgcc.h: Likewise.
16828 * include/grub/mips/pci.h: Likewise.
16829 * include/grub/mips/qemu-mips/boot.h: Likewise.
16830 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16831 * include/grub/mips/qemu-mips/loader.h: Likewise.
16832 * include/grub/mips/qemu-mips/memory.h: Likewise.
16833 * include/grub/mips/qemu-mips/serial.h: Likewise.
16834 * include/grub/mips/qemu-mips/time.h: Likewise.
16835 * include/grub/mips/relocator.h: Likewise.
16836 * include/grub/mips/time.h: Likewise.
16837 * include/grub/mips/types.h: Likewise.
16838 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16839 * include/grub/mips/yeeloong/boot.h: Likewise.
16840 * include/grub/mips/yeeloong/kernel.h: Likewise.
16841 * include/grub/mips/yeeloong/loader.h: Likewise.
16842 * include/grub/mips/yeeloong/memory.h: Likewise.
16843 * include/grub/mips/yeeloong/pci.h: Likewise.
16844 * include/grub/mips/yeeloong/serial.h: Likewise.
16845 * include/grub/mips/yeeloong/time.h: Likewise.
16846 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16847 * kern/elf.c (grub_elf32_size): New parameter. All users
16848 updated.
16849 (grub_elf64_size): Likewise.
16850 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16851 Load modules before saying "Welcome to GRUB!".
16852 Call grub_refresh after saying "Welcome to GRUB!".
16853 * kern/mips/cache.S: New file.
16854 * kern/mips/cache_flush.S: Likewise.
16855 * kern/mips/dl.c: Likewise.
16856 * kern/mips/init.c: Likewise.
16857 * kern/mips/qemu-mips/init.c: Likewise.
16858 * kern/mips/startup.S: Likewise.
16859 * kern/mips/yeeloong/init.c: Likewise.
16860 * kern/term.c (grub_putcode): Handle NULL terminal.
16861 (grub_getcharwidth): Likewise.
16862 (grub_getkey): Likewise.
16863 (grub_checkkey): Likewise.
16864 (grub_getkeystatus): Likewise.
16865 (grub_getxy): Likewise.
16866 (grub_getwh): Likewise.
16867 (grub_gotoxy): Likewise.
16868 (grub_cls): Likewise.
16869 (grub_setcolorstate): Likewise.
16870 (grub_setcolor): Likewise.
16871 (grub_getcolor): Likewise.
16872 (grub_refresh): Likewise.
16873 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16874 (write_jump): Add hatch nop.
16875 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16876 * lib/mips/setjmp.S: New file.
16877 * loader/mips/linux.c: Likewise.
16878 * term/i386/pc/at_keyboard.c: Move from here ...
16879 * term/at_keyboard.c: ... to here.
16880 * term/i386/pc/serial.c: Moved from here ...
16881 * term/serial.c: ... to here. All users updated.
16882 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16883 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16884 (serial_translate_key_sequence): Avoid deadlock.
16885 (grub_serial_getkey): Handle backspace.
16886 (grub_serial_putchar): Fix newline handling.
16887 * util/i386/pc/grub-mkimage.c: Move from here ...
16888 * util/grub-mkrawimage.c: ... to here. All users updated.
16889 (generate_image): New parameters 'font_path' and 'format'.
16890 Support embedding font.
16891 Use grub_host_to_target* instead of grub_cpu_to_le*.
16892 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16893 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16894 (options): New option "--font".
16895 (usage): Likewise.
16896 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16897 (main): Handle "--font".
16898 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16899 (grub_virtual_screen_setup): Set bg_color_display.
16900 (redraw_screen_rect): Use bg_color_display instead of incorrect
16901 bg_color.
16902 (grub_gfxterm_cls): Likewise.
16903 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16904 Support embedding config file.
16905 (add_segments): Likewise.
16906 (options): New option "--config".
16907 (main): Handle "--config".
16908 * video/sm712.c: New file.
16909
25c2b5b3
RM
169102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16911
16912 Fix parallel builds.
16913
16914 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16915 font.c depend on ascii.h).
16916
169172010-01-12 Carles Pina i Estany <carles@pina.cat>
16918
16919 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16920
169212010-01-11 Carles Pina i Estany <carles@pina.cat>
16922
16923 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16924 By default: disabled.
16925 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16926 parameter.
16927
169282010-01-10 Carles Pina i Estany <carles@pina.cat>
16929
16930 * font/font.c: Update copyright years.
16931 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16932
169332010-01-10 Carles Pina i Estany <carles@pina.cat>
16934
16935 * font/font.c: Include `ascii.h'.
16936 (ASCII_BITMAP_SIZE): New macro.
16937 (ascii_font_glyph): Define.
16938 (ascii_glyph_lookup): New function.
16939 (grub_font_get_string_width): Change comment. If glyph not found, use
16940 ascii_glyph_lookup.
16941 (grub_font_get_glyph_with_fallback): If glyph not available returns
16942 ascii_glyph_lookup.
16943 * util/grub-mkfont.c (file_formats): New enum.
16944 (options): Add `ascii-bitmaps' new option.
16945 (usage): Add `asii-bitmaps' new option.
16946 (write_font_ascii_bitmap): New function.
16947 (write_font): Rename to ...
16948 (write_font_p2): ... this. Remove print_glyphs call.
16949 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16950 used. Call print_glyphs.
16951 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16952
169532010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16954
16955 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16956 (grub_bin2h_SOURCES): New variable.
16957 * util/bin2h.c: New file.
16958
915fc1b8
VS
169592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 * include/multiboot.h: Resynced with spec.
16962 * include/multiboot2.h: Likewise.
16963 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16964 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16965
9444b678
RM
169662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16967
16968 * include/grub/term.h (grub_term_register_input,
16969 grub_term_register_output): Check return of terminal init()
16970 routines, and abort if errors are raised.
16971
16972 * commands/terminal.c: Update copyright year.
16973
cba98e8d
RM
169742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16975
16976 * commands/terminal.c (grub_cmd_terminal_input)
16977 (grub_cmd_terminal_output): Check return of terminal init()
16978 routines, and abort if errors are raised.
16979
6f7db5d6
VS
169802010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16981
16982 * include/grub/i386/bsd.h: Fix include pathes.
16983
262bff8d
VS
169842010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16985
16986 Add missing *BSD copyright headers.
16987
16988 * include/grub/aout.h: Add BSD licence.
16989 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16990 * include/grub/i386/freebsd_linker.h: ... here,
16991 * include/grub/i386/freebsd_reboot.h: ... here,
16992 * include/grub/i386/netbsd_bootinfo.h: ... here,
16993 * include/grub/i386/netbsd_reboot.h: ... here,
16994 * include/grub/i386/openbsd_bootarg.h: ... here,
16995 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16996 licence to each file.
16997
b2cab848
RM
169982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16999
17000 * acinclude.m4: Remove `nop' assembly instruction; it's not
17001 implemented by all architectures.
17002
2cb6be4b
RM
170032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17004
17005 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
17006 ELILO. This is no longer necessary.
17007
a2eaee15
BC
170082010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
17009
17010 Added new tool, grub-scrit-check to verify grub.cfg syntax.
17011
17012 * util/grub-script-check.c: grub-script-check tool.
17013 * conf/common.rmk: Make rules for grub-script-check.
17014
88d17012
RM
170152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17016
17017 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
17018 spotting it back in 2008. Shame on me for forgetting he did.
17019
17020 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
17021
8040619d
RM
170222010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17023
17024 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
17025 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
17026 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
17027 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
17028 (GRUB_VIDEO_TYPE_EFI): Rename to ...
17029 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
17030
a0c2a0f6
RM
170312010-01-17 Robert Millan <rmh.grub@aybabtu.com>
17032
17033 * include/grub/test.h: Add license header.
17034 * tests/example_functional_test.c: Likewise.
17035 * tests/example_unit_test.c: Likewise.
17036 * tests/lib/functional_test.c: Likewise.
17037 * tests/lib/test.c: Likewise.
17038 * tests/lib/unit_test.c: Likewise.
17039
b0b13907
VS
170402010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 Use flag-based instead of hook-based video mode selection and "auto"
17043 keyword.
17044
17045 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
17046 (grub_video_set_mode): Changed prototype. All users updated.
17047 (grub_video_check_mode_flag): New inline function.
17048 * video/video.c (parse_modespec): New function.
17049 (grub_video_set_mode): Parse flags and keywords.
17050
ea379330 170512010-01-17 Carles Pina i Estany <carles@pina.cat>
17052
17053 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17054 fprintf call.
17055
e15c215e
FZ
170562010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17057
17058 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17059
409ae1c9 170602010-01-16 Carles Pina i Estany <carles@pina.cat>
17061
17062 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17063 string.
17064 * util/grub-emu.c (usage): Likewise.
17065 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17066 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17067 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17068 * util/i386/pc/grub-setup.c (usage): Likewise.
17069
70a14d3d 170702010-01-16 Carles Pina i Estany <carles@pina.cat>
17071
17072 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17073 the message.
17074 (grub_util_info): Likewise.
17075 (grub_util_error): Likewise.
17076 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17077 and/or new lines in `grub_util_warna', `grub_util_info',
17078 `grub_util_error' calls.
17079 * util/getroot.c: Likewise.
17080 * util/grub-editenv.c: Likewise.
17081 * util/grub-emu.c: Likewise.
17082 * util/grub-fstest.c: Likewise.
17083 * util/grub-mkdevicemap.c: Likewise.
17084 * util/grub-mkfont.c: Likewise.
17085 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17086 * util/grub-mkrelpath.c: Likewise.
17087 * util/grub-pe2elf.c: Likewise.
17088 * util/grub-probe.c: Likewise.
17089 * util/hostdisk.c: Likewise.
17090 * util/i386/efi/grub-mkimage.c: Likewise.
17091 * util/i386/pc/grub-mkimage.c: Likewise.
17092 * util/i386/pc/grub-setup.c: Likewise.
17093 * util/ieee1275/ofpath.c: Likewise.
17094 * util/mkisofs/eltorito.c: Likewise.
17095 * util/mkisofs/rock.c: Likewise.
17096 * util/mkisofs/write.c: Likewise.
17097 * util/raid.c: Likewise.
17098 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17099 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17100
a0b766fc
VS
171012010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 Enable multiboot on non-pc.
17104
17105 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17106 multiboot.mod and multiboot2.mod to ...
17107 * conf/i386.rmk (pkglib_MODULES): ... here.
17108 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17109 Moved to ...
17110 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17111 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17112 Moved to ...
17113 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17114 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17115 Moved to ...
17116 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17117 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17118 Moved to ...
17119 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17120 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17121 relocator.mod.
17122 (ata_mod_SOURCES): Removed.
17123 (ata_mod_CFLAGS): Likewise.
17124 (ata_mod_LDFLAGS): Likewise.
17125 (relocator_mod_SOURCES): Removed.
17126 (relocator_mod_CFLAGS): Likewise.
17127 (relocator_mod_ASFLAGS): Likewise.
17128 (relocator_mod_LDFLAGS): Likewise.
17129 Include i386.mk.
17130 * include/grub/x86_64/multiboot.h: New file.
17131 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17132 Terminate EFI.
17133
884ade56
VS
171342010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 Video multiboot support.
17137
17138 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17139 New prototype.
17140 * include/multiboot.h: Resynced with multiboot specification.
17141 * include/multiboot2.h: Likewise.
17142 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17143 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17144 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17145 (HAS_VGA_TEXT): Likewise.
17146 (accepts_video): New variable.
17147 (grub_multiboot_set_accepts_video): New function.
17148 (grub_multiboot_get_mbi_size): Account for video structures.
17149 (set_video_mode): New function.
17150 (retrieve_video_parameters): Likewise.
17151 (grub_multiboot_make_mbi): Fill video fields.
17152
0d90e8a6
VS
171532010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 Video driver ids.
17156
17157 * include/grub/video.h (grub_video_driver_id): New type.
17158 (grub_video_adapter): New member 'id'. All users updated.
17159 (grub_video_get_driver_id): New proto.
17160 * video/video.c (grub_video_get_driver_id): New function.
17161
5c71db1b 171622010-01-14 Carles Pina i Estany <carles@pina.cat>
17163
17164 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
17165 `var=val'.
17166
cca15b52 171672010-01-14 Carles Pina i Estany <carles@pina.cat>
17168
17169 * normal/cmdline.c (print_completion): Gettextizze.
17170
c586fbb2 171712001-01-14 Carles Pina i Estany <carles@pina.cat>
17172
17173 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17174
ba2f6848 171752010-01-14 Carles Pina i Estany <carles@pina.cat>
17176
17177 * gettext/gettext.c (grub_gettext_translate): Push and pop
17178 grub_errno.
17179 (grub_gettext_delete_list): Change comment style.
17180 * kern/err.c (grub_error): Gettextizze.
17181 (grub_fatal): Gettextizze.
17182
0a46429a
RM
171832010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17184
17185 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17186 (grub_linux16_real_boot): ... this.
17187 * kern/i386/loader.S: Likewise.
17188 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17189 (grub_linux16_boot): New function. Switches to text mode and calls
17190 grub_linux16_real_boot().
17191
17192 * loader/i386/bsd.c: Include `<grub/video.h>'.
17193 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17194 text mode before calling grub_unix_real_boot().
17195
17196 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17197 (grub_multiboot_boot): Switch to text mode before calling
17198 grub_relocator32_boot().
17199
17200 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17201 (grub_chainloader_boot): Switch to text mode before calling
17202 grub_chainloader_real_boot().
17203
d6f93a66
RM
172042010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
172052010-01-05 Colin Watson <cjwatson@ubuntu.com>
17206
17207 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17208 non-empty value.
17209
172102010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
172112010-01-05 Colin Watson <cjwatson@ubuntu.com>
17212
17213 * util/grub.d/00_header.in: Define a "savedefault" function for use
17214 in menu entries.
17215 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17216
172172010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
172182010-01-05 Colin Watson <cjwatson@ubuntu.com>
17219
17220 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17221 saved_entry if boot_once is unset.
17222 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17223 previous saved entry (i.e. grub-reboot).
17224
172252009-12-08 Colin Watson <cjwatson@ubuntu.com>
17226
17227 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17228
172292009-12-08 Colin Watson <cjwatson@ubuntu.com>
17230
17231 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17232 `var=val'.
17233 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17234
172352009-12-08 Colin Watson <cjwatson@ubuntu.com>
17236
17237 * util/grub-reboot.in: Fix --version output.
17238 * util/grub-set-default.in: Likewise.
17239
172402009-12-08 Colin Watson <cjwatson@ubuntu.com>
17241
17242 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17243 blocks.
17244
172452009-12-08 Colin Watson <cjwatson@ubuntu.com>
17246
17247 * util/grub.d/00_header.in: Quote the value assigned to `default',
17248 in case it contains spaces.
17249
172502009-12-08 Colin Watson <cjwatson@ubuntu.com>
17251
17252 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17253 `save_default_entry' call from the macosx case to the linux case.
17254
172552009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
172562009-10-25 Colin Watson <cjwatson@ubuntu.com>
17257
17258 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17259 in `chosen' environment variable.
17260 * normal/menu_text.c (get_entry_number): Check if the variable
17261 matches the title of a menu entry.
17262 (run_menu): Pass menu to get_entry_number.
17263
17264 * util/grub-reboot.in: New file.
17265 * util/grub-set-default.in: New file.
17266 * conf/common.rmk (grub-reboot): New utility.
17267 (grub-set-default): New utility.
17268
17269 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17270 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17271 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17272 move it to `saved_entry' for the next boot. Load environment on
17273 initialisation.
17274 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17275 * util/grub.d/10_hurd.in: Likewise.
17276 * util/grub.d/10_linux.in (linux_entry): Likewise.
17277 * util/grub.d/10_windows.in: Likewise.
17278 * util/grub.d/30_os-prober.in: Likewise.
17279
17280 * util/grub-install.in: Create environment block.
17281 * util/i386/efi/grub-install.in: Likewise.
17282 * util/ieee1275/grub-install.in: Likewise.
17283 * util/sparc64/ieee1275/grub-install.in: Likewise.
17284
0934d184
BC
172852010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17286
17287 Unit testing framework for GRUB.
17288
17289 * Makefile.in: Test framework build rules for 'make check'.
17290 * conf/tests.rmk: Build rules for individual tests and framework.
17291
17292 * include/grub/test.h: Header file for whitebox tests.
17293 * tests/lib/functional_test.c: Framework support for whitebox
17294 functional tests.
17295 * tests/lib/test.c: Common whitebox testing code for unit and
17296 functional tests.
17297 * tests/lib/unit_test.c: Framework support for whitebox unit
17298 tests.
17299
17300 * tests/util/grub-shell-tester.in: Support utility for grub-script
17301 tests.
17302 * tests/util/grub-shell.in: Utility to execute grub-script
17303 commands in a Qemu instance.
17304
17305 * tests/example_functional_test.c: Example whitebox functional
17306 test.
17307 * tests/example_grub_script_test.in: Example grub-script test.
17308 * tests/example_scripted_test.in: Example scripted test.
17309 * tests/example_unit_test.c: Example whitebox unit test.
17310
9c4ffeeb
VS
173112010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17312
17313 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17314 Add loader/i386/multiboot_mbi.c.
17315 (multiboot2_mod_SOURCES): Likewise.
17316 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17317 (multiboot2_mod_SOURCES): Likewise.
17318 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17319 (grub_multiboot_make_mbi): Likewise.
17320 (grub_multiboot_free_mbi): Likewise.
17321 (grub_multiboot_init_mbi): Likewise.
17322 (grub_multiboot_add_module): Likewise.
17323 (grub_multiboot_set_bootdev): Likewise.
17324 * loader/i386/multiboot.c (mbi): Removed.
17325 (mbi_dest): Likewise.
17326 (alloc_mbi): New variable.
17327 (grub_multiboot_payload_size): Removed. All users updated.
17328 (grub_multiboot_pure_size): New variable.
17329 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17330 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17331 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17332 (grub_fill_multiboot_mmap): Likewise.
17333 (grub_multiboot_get_bootdev): Likewise.
17334 (grub_multiboot): Use multiboot_mbi functions.
17335 * loader/i386/multiboot_mbi.c: New file.
17336
17383dfe
VS
173372010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17338
17339 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17340 it would result in module crash.
17341
c1f28820
VS
173422010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17345 (grub_ofconsole_getwh): Split to ...
17346 (grub_ofconsole_getwh): ... this.
17347 (grub_ofconsole_dimensions): ...and this.
17348 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17349
58655a16
RM
173502010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17351
17352 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17353
10891398
VS
173542010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17355
17356 * loader/i386/pc/multiboot2.c: Removed stalled file.
17357
0b8a223c
VS
173582010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17361 Reported by: Grégoire Sutre
17362
92ab12b0
RM
173632010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17364
17365 * util/misc.c (canonicalize_file_name): New function.
17366 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17367 instead of realpath().
17368
a788afb6
CW
173692010-01-11 Colin Watson <cjwatson@ubuntu.com>
17370
17371 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17372 and make it clearer that it's optional. Based on confusion
17373 witnessed on IRC.
17374
ffa8e3d2
VS
173752010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17376
17377 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17378 in premature implicit newline.
17379
e9060a9d
VS
173802010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17383 which resulted in garbled command line at the end of screen.
17384
f0d0c0b7
RM
173852010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17386
17387 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17388 initialization with similar approach as with other Linux loaders.
17389
0e60bae7
RM
173902010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17391
17392 Fix i386-ieee1275 build.
17393
17394 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17395 and grub_term_height() for video_{width,height} initialization.
17396
173972010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
17398
17399 Fix grub-emu build.
17400
17401 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17402
cdb3f378
RM
174032010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
174042010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17405
17406 Support for multiple terminals.
17407
17408 * Makefile.in (pkglib_DATA): terminal.lst.
17409 (terminal.lst): New target.
17410 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17411 (GRUB_MOD_INIT(handler)): Likewise.
17412 (GRUB_MOD_FINI(handler)): Likewise.
17413 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17414 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17415 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17416 (grub_cmd_sleep): Use grub_term_save_pos.
17417 * commands/terminal.c: New file.
17418 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17419 commands/terminal.c and lib/charset.c.
17420 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17421 (pkglib_MODULES): Add terminal.mod.
17422 (terminal_mod_SOURCES): New variable.
17423 (terminal_mod_CFLAGS): Likewise.
17424 (terminal_mod_LDFLAGS): Likewise.
17425 * genhandlerlist.sh: Don't handle terminals.
17426 * genmk.rb: Generate terminal-*.lst.
17427 * genterminallist.sh: New file.
17428 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17429 (grub_is_valid_utf8): Likewise.
17430 (grub_utf8_to_ucs4_alloc): Likewise.
17431 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17432 (grub_menu_register_viewer): Changed argument.
17433 (grub_menu_try_text): New proto.
17434 (grub_gfxmenu_try_hook): New declaration.
17435 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17436 (grub_menu_init_page): Additional argument term.
17437 (grub_normal_init_page): Likewise.
17438 (grub_cmdline_get): Arguments simplified.
17439 (grub_utf8_to_ucs4_alloc): Removed.
17440 (grub_print_ucs4): Additional argument term.
17441 (grub_getstringwidth): Likewise.
17442 (grub_print_message_indented): Likewise.
17443 (grub_menu_text_register_instances): New proto.
17444 (grub_show_menu): Likewise.
17445 (read_terminal_list): Likewise.
17446 (grub_set_more): Likewise.
17447 * include/grub/parser.h: Include handler.h.
17448 * include/grub/reader.h: Rewritten.
17449 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17450 (GRUB_TERM_WIDTH): Changed to function.
17451 (GRUB_TERM_HEIGHT): Likewise.
17452 (GRUB_TERM_BORDER_WIDTH): Likewise.
17453 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17454 (GRUB_TERM_NUM_ENTRIES): Likewise.
17455 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17456 (GRUB_TERM_CURSOR_X): Likewise.
17457 (grub_term_input_class): Likewise.
17458 (grub_term_output_class): Likewise.
17459 (grub_term_outputs_disabled): New declaration.
17460 (grub_term_inputs_disabled): Likewise.
17461 (grub_term_outputs): Likewise.
17462 (grub_term_inputs): Likewise.
17463 (grub_term_register_input): Rewritten.
17464 (grub_term_register_output): Likewise.
17465 (grub_term_unregister_input): Likewise.
17466 (grub_term_unregister_output): Likewise.
17467 (FOR_ACTIVE_TERM_INPUTS): New macro.
17468 (FOR_DISABLED_TERM_INPUTS): Likewise.
17469 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17470 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17471 * include/grub/terminfo.h: Add oterm argument to all protypes.
17472 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17473 Use grub_rescue_run.
17474 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17475 All users updated.
17476 * kern/reader.c: Removed. All users updated.
17477 * kern/rescue_reader.c (grub_rescue_init): Removed.
17478 (grub_rescue_reader): Likewise.
17479 (grub_register_rescue_reader): Likewise.
17480 (grub_rescue_run): New function based on kern/reader.c.
17481 * kern/term.c: Adapted for multiterm.
17482 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17483 (grub_is_valid_utf8): Likewise.
17484 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17485 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17486 right terminal.
17487 * loader/i386/linux.c (grub_linux_boot): Likewise.
17488 * normal/auth.c (grub_username_get): New function.
17489 (grub_auth_check_authentication): Use grub_username_get.
17490 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17491 * normal/color.c: Adapt for multiterm.
17492 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17493 (grub_normal_init_page): Additional argument term.
17494 (read_lists): Call read_terminal_lists.
17495 (grub_enter_normal_mode): Call grub_cmdline_run.
17496 Handle grub_normal_exit_level.
17497 (grub_cmd_normal): Make reentrant.
17498 (grub_cmd_normal_exit): New function.
17499 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17500 * normal/menu.c: Adapt for multiterm.
17501 * normal/menu_entry.c: Likewise.
17502 * normal/menu_text.c: Likewise.
17503 * normal/menu_viewer.c: Removed. All users updated.
17504 * normal/term.c: New file.
17505 * util/console.c: Change order of includes to workaround a bug in
17506 ncurses headers.
17507 * term/terminfo.c: New argument oterm on all exported functions.
17508 All users updated.
17509 * util/grub-editenv.c (grub_term_input_class): Removed.
17510 (grub_term_output_class): Likewise.
17511
1a064917
RM
175122010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17513
17514 Make loader output a bit more user-friendly.
17515
17516 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17517 is being loaded. Likewise for the Hurd.
17518
17519 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17520 that kernel of FreeBSD ${version} is being loaded.
17521
17522 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17523 grub_dprintf().
17524 (grub_cmd_initrd): Likewise.
17525 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17526 that Linux ${version} is being loaded. Likewise for initrd.
17527
5ce0a83a 175282010-01-09 Carles Pina i Estany <carles@pina.cat>
17529
17530 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17531
809bbfeb 175322010-01-08 Carles Pina i Estany <carles@pina.cat>
17533
17534 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17535 (GRUB_MOD_INIT): Gettextizze.
17536 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17537 (GRUB_MOD_INIT): Gettextizze.
17538 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17539 (grub_cmd_linux): Capitalise Linux.
17540 (GRUB_MOD_INIT): Gettextizze.
17541 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17542 (grub_cmd_linux): Capitalise Linux.
17543 (GRUB_MOD_INIT): Gettextizze.
17544 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17545 (grub_cmd_linux): Capitalise Linux.
17546 (GRUB_MOD_INIT): Gettextizze.
17547 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17548 (GRUB_MOD_INIT): Gettextizze.
17549 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17550 (grub_cmd_linux): Capitalise Linux.
17551 (GRUB_MOD_INIT): Gettextizze.
17552 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17553 (grub_cpu_xnu_init): Gettextizze.
17554 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17555 (GRUB_MOD_INIT): Gettextizze.
17556 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17557 (GRUB_MOD_INIT): Gettextizze.
17558 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17559 (grub_linux_load64): Capitalise Linux.
17560 (GRUB_MOD_INIT): Gettextizze.
17561 * loader/xnu.c: Include `<grub/i18n.h>'.
17562 (GRUB_MOD_INIT): Gettextizze.
17563 * po/POTFILES: Add `loader/efi/appleloader.c',
17564 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17565 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17566 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17567 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17568 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17569 and `loader/xnu.c'.
17570
b394b2ca
RM
175712010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17572
17573 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17574
175752010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
17576
17577 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17578 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17579 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17580
bc8b32b3
RM
175812010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17582
17583 Reset Multiboot 2 support. New loader implements the draft in
17584 /branches/multiboot2 and shares as much code as possible with the
17585 production Multiboot 1 implementation.
17586
17587 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17588 * loader/multiboot2.c: Likewise.
17589 * loader/i386/multiboot_helper.S: Likewise.
17590 * include/multiboot2.h: Replace with latest version from the draft
17591 in /branches/multiboot2.
17592
17593 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17594 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17595 and `loader/multiboot2.c'.
17596 (pkglib_MODULES): Add `multiboot2.mod'.
17597 (multiboot2_mod_SOURCES): New variable.
17598 (multiboot2_mod_LDFLAGS): Likewise.
17599 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17600
17601 * conf/i386-pc.rmk: Likewise.
17602
17603 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17604 (multiboot_mod_SOURCES): Remove variable.
17605 (multiboot_mod_LDFLAGS): Likewise.
17606 (multiboot_mod_CFLAGS): Likewise.
17607
17608 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17609 `<multiboot2.h>' instead of `<multiboot.h>'.
17610 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17611 (MULTIBOOT_HEADER_MAGIC): New macros.
17612
17613 * loader/multiboot_loader.c (module_version_status): Remove variable.
17614 (find_multi_boot2_header): Remove function.
17615 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17616 logic. Always check for the Multiboot version we're compiling for.
17617 (grub_cmd_module_loader): Likewise.
17618 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17619 command instead of `multiboot'.
17620
5d2c52b8
RM
176212010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17622
17623 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17624 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17625 all users.
17626
53108d92
RM
176272010-01-07 Robert Millan <rmh.grub@aybabtu.com>
176282010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 Fix breakage introduced with previous commit.
17631
17632 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17633 commands.
17634 * normal/handler.c (read_handler_list): Revert part of previous commit
17635 affecting this file.
17636 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17637 (grub_normal_execute): ... here.
17638
e2e936b2
RM
176392010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17640
17641 Merge prefix-redefinition-fix branch.
17642
17643 * normal/autofs.c (read_fs_list): Make function capable of being
17644 run multiple times, gracefuly replacing the previous data
17645 structures.
17646 * normal/dyncmd.c (read_command_list): Likewise.
17647 * normal/handler.c (read_handler_list): Likewise.
17648 * normal/main.c (read_lists): New function. Calls all the
17649 list reading functions.
17650 (grub_normal_execute): Use read_lists() instead of calling all
17651 list reading functions explicitly. Register read_lists() as a
17652 variable hook attached to ${prefix}.
17653
607a3701
VS
176542010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17655
17656 Merge crypto branch.
17657
17658 * Makefile.in (pkglib_DATA): Add crypto.lst.
17659 (crypto.lst): New target.
17660 * commands/hashsum.c: New file.
17661 * commands/password.c (check_password): Use grub_crypto_memcmp.
17662 * commands/password_pbkdf2.c: New file.
17663 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17664 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17665 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17666 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17667 -I$(srcdir)/lib/libgcrypt_wrap.
17668 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17669 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17670 password_pbkdf2.mod.
17671 (crypto_mod_SOURCES): New variable.
17672 (crypto_mod_CFLAGS): Likewise.
17673 (crypto_mod_LDFLAGS): Likewise.
17674 (hashsum_mod_SOURCES): New variable.
17675 (hashsum_mod_CFLAGS): Likewise.
17676 (hashsum_mod_LDFLAGS): Likewise.
17677 (pbkdf2_mod_SOURCES): New variable.
17678 (pbkdf2_mod_CFLAGS): Likewise.
17679 (pbkdf2_mod_LDFLAGS): Likewise.
17680 (password_pbkdf2_mod_SOURCES): New variable.
17681 (password_pbkdf2_mod_CFLAGS): Likewise.
17682 (password_pbkdf2_mod_LDFLAGS): Likewise.
17683 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17684 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17685 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17686 Include conf/gcry.rmk.
17687 * include/grub/auth.h: Rewritten.
17688 * include/grub/crypto.h: New file.
17689 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17690 * include/grub/normal.h (read_crypto_list): New prototype.
17691 * lib/crypto.c: New file.
17692 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17693 * lib/pbkdf2.c: Likewise.
17694 * normal/auth.c (grub_auth_strcmp): Removed.
17695 (grub_iswordseparator): Likewise.
17696 (grub_auth_strword): Likewise.
17697 (is_authenticated): Use grub_strword.
17698 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17699 and grub_strword. Pass entered password to authentication callback.
17700 * normal/crypto.c: New file.
17701 * normal/main.c: Call read_crypto_list.
17702 * util/grub-mkpasswd-pbkdf2.c: New file.
17703 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17704
42841caa
VS
177052010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 Fix descent and ascent calculation.
17708
17709 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17710 (options): New option "asce".
17711 (usage): Likewise.
17712 (add_char): Ignore invalid glyphs for descent calculation.
17713 Calculate ascent from actual content.
17714 (print_glyphs): Use 'asce'.
17715 (write_font): Likewise. Allow ascent override.
17716 (main): Handle "asce" option.
17717
e7730de7 177182010-01-06 Carles Pina i Estany <carles@pina.cat>
17719
17720 * kern/err.c: Include `<grub/i18n.h>'.
17721 (grub_print_error): Add full stop. Gettextizze.
17722 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17723 (grub_bsd_load_elf): Capitalise ELF.
17724 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17725 (grub_cmd_freebsd_module): Likewise.
17726 (grub_cmd_freebsd_module_elf): Likewise.
17727 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17728
40e3a41f 177292010-01-06 Carles Pina i Estany <carles@pina.cat>
17730
17731 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17732 * commands/search_file.c (HELP_MESSAGE): New macro.
17733 * commands/search_label.c (HELP_MESSAGE): Likewise.
17734 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17735 * po/POTFILES: Add `commands/search_file.c',
17736 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17737 `commands/search.c'.
17738
83507e68
RM
177392010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17740
17741 * config.rpath: Update from Gnulib.
17742
465c787b
YB
177432010-01-05 Yves Blusseau <blusseau@zetam.org>
17744
17745 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17746
6581dd3a
YB
177472010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17748
17749 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17750
3bff18c5
CW
177512010-01-05 Colin Watson <cjwatson@ubuntu.com>
17752
17753 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17754 arguments to fread so that we get a return value in bytes, rather
17755 than something that will normally be rounded down to 0.
17756 Adjust error handling to avoid producing garbage when size_t is not
17757 the same size as long long.
17758
a1368118
CW
177592010-01-05 Colin Watson <cjwatson@ubuntu.com>
17760
17761 * util/mkisofs/write.c (padblock_write): Check return value of
17762 fread.
17763
7c302978
RM
177642010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17765
17766 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17767 floppy images now.
17768
17769 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17770
e33ace06
RM
177712010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17772
17773 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17774 instead of manual alignment.
17775 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17776 verbose). Avoid attempts to read past end of the device
17777 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17778 but GRUB_DISK_CACHE_SIZE may exceed that).
17779
4b856776
RM
177802010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17781
17782 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17783 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17784 it to upper layer.
17785
52c2d97f
VS
177862010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17789 New constant.
17790 (grub_efi_piwg_device_path): New structure
17791 (grub_efi_piwg_device_path_t): New type.
17792 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17793 (devpath_1): Transform to a structure. All users updated.
17794 (devpath_2): Likewise.
17795 (devpath_3): Likewise.
17796 (devpath_4): Likewise.
17797 (devpath_5): Likewise.
17798
98ff6a54
VS
177992010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17800
17801 * loader/efi/appleloader.c: Restored. Update all users.
17802
3a73dcb6
RM
178032010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17804
17805 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17806
17807 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17808 (struct boot_blocklist): Move from here ...
17809 * include/grub/i386/pc/boot.h [ASM_FILE]
17810 (struct grub_boot_blocklist): ... to here. Update all users.
17811 (setup): Only initialize `start' member of `first_block'
17812 structure. Add assert() calls to verify the other members.
17813
17814 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17815 (generate_image): Fix broken blocklist length initialization.
17816 Add assert() call to verify blocklist `segment' field.
17817
ab0eeb0c
RM
178182010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17819
17820 * loader/efi/appleloader.c: Remove. Update all users.
17821
58bc8bd5
RM
178222010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17823
17824 * boot/i386/pc/boot.S: Update copyright year.
17825 * boot/i386/pc/cdboot.S: Likewise.
17826 * boot/i386/pc/diskboot.S: Likewise.
17827 * boot/i386/pc/lnxboot.S: Likewise.
17828 * boot/i386/pc/pxeboot.S: Likewise.
17829 * bus/pci.c: Likewise.
17830 * commands/cmp.c: Likewise.
17831 * commands/help.c: Likewise.
17832 * commands/hexdump.c: Likewise.
17833 * commands/i386/pc/halt.c: Likewise.
17834 * commands/i386/pc/play.c: Likewise.
17835 * commands/i386/pc/vbeinfo.c: Likewise.
17836 * commands/ls.c: Likewise.
17837 * commands/test.c: Likewise.
17838 * disk/dmraid_nvidia.c: Likewise.
17839 * disk/i386/pc/biosdisk.c: Likewise.
17840 * disk/ieee1275/nand.c: Likewise.
17841 * disk/ieee1275/ofdisk.c: Likewise.
17842 * disk/lvm.c: Likewise.
17843 * disk/raid.c: Likewise.
17844 * disk/raid6_recover.c: Likewise.
17845 * disk/scsi.c: Likewise.
17846 * fs/affs.c: Likewise.
17847 * fs/cpio.c: Likewise.
17848 * fs/ext2.c: Likewise.
17849 * fs/hfs.c: Likewise.
17850 * fs/iso9660.c: Likewise.
17851 * fs/ntfs.c: Likewise.
17852 * fs/sfs.c: Likewise.
17853 * fs/udf.c: Likewise.
17854 * fs/ufs.c: Likewise.
17855 * fs/xfs.c: Likewise.
17856 * gencmdlist.sh: Likewise.
17857 * genmk.rb: Likewise.
17858 * include/grub/disk.h: Likewise.
17859 * include/grub/efi/api.h: Likewise.
17860 * include/grub/efi/efi.h: Likewise.
17861 * include/grub/efi/pe32.h: Likewise.
17862 * include/grub/elf.h: Likewise.
17863 * include/grub/fs.h: Likewise.
17864 * include/grub/i386/at_keyboard.h: Likewise.
17865 * include/grub/i386/pc/memory.h: Likewise.
17866 * include/grub/i386/pc/vbe.h: Likewise.
17867 * include/grub/i386/pci.h: Likewise.
17868 * include/grub/i386/tsc.h: Likewise.
17869 * include/grub/ieee1275/ieee1275.h: Likewise.
17870 * include/grub/ntfs.h: Likewise.
17871 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17872 * include/grub/sparc64/libgcc.h: Likewise.
17873 * include/grub/symbol.h: Likewise.
17874 * include/grub/types.h: Likewise.
17875 * include/multiboot2.h: Likewise.
17876 * io/gzio.c: Likewise.
17877 * kern/device.c: Likewise.
17878 * kern/disk.c: Likewise.
17879 * kern/efi/efi.c: Likewise.
17880 * kern/efi/mm.c: Likewise.
17881 * kern/elf.c: Likewise.
17882 * kern/file.c: Likewise.
17883 * kern/i386/dl.c: Likewise.
17884 * kern/i386/pc/init.c: Likewise.
17885 * kern/i386/pc/startup.S: Likewise.
17886 * kern/ieee1275/ieee1275.c: Likewise.
17887 * kern/ieee1275/init.c: Likewise.
17888 * kern/main.c: Likewise.
17889 * kern/mm.c: Likewise.
17890 * kern/powerpc/dl.c: Likewise.
17891 * kern/sparc64/dl.c: Likewise.
17892 * kern/x86_64/dl.c: Likewise.
17893 * lib/hexdump.c: Likewise.
17894 * loader/efi/appleloader.c: Likewise.
17895 * loader/i386/ieee1275/linux.c: Likewise.
17896 * loader/i386/pc/chainloader.c: Likewise.
17897 * loader/i386/pc/linux.c: Likewise.
17898 * loader/i386/pc/multiboot2.c: Likewise.
17899 * loader/ieee1275/multiboot2.c: Likewise.
17900 * loader/multiboot2.c: Likewise.
17901 * loader/multiboot_loader.c: Likewise.
17902 * loader/powerpc/ieee1275/linux.c: Likewise.
17903 * normal/completion.c: Likewise.
17904 * normal/menu_entry.c: Likewise.
17905 * partmap/apple.c: Likewise.
17906 * util/grub.d/10_hurd.in: Likewise.
17907 * util/hostfs.c: Likewise.
17908 * video/readers/png.c: Likewise.
17909
e2d70b5c
CW
179102010-01-03 Colin Watson <cjwatson@ubuntu.com>
17911
17912 * include/grub/misc.h (GNUC_PREREQ): New macro.
17913 (ATTRIBUTE_ERROR): New macro.
17914 * include/grub/list.h (grub_bad_type_cast_real): Use
17915 ATTRIBUTE_ERROR.
17916
a173283f 179172010-01-03 Carles Pina i Estany <carles@pina.cat>
17918
17919 * normal/menu_text.c (print_message): Change messages.
17920
7fa7ff74 179212010-01-03 Carles Pina i Estany <carles@pina.cat>
17922
17923 * normal/menu_entry.c (store_completion): Gettextizze.
17924
136d24f6 179252010-01-03 Carles Pina i Estany <carles@pina.cat>
17926
17927 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17928
f936862e 179292010-01-03 Carles Pina i Estany <carles@pina.cat>
17930
17931 * po/POTFILES: Sort correctly.
17932
29c44ad1 179332010-01-03 Carles Pina i Estany <carles@pina.cat>
17934
17935 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17936 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17937 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17938 full stop.
17939 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17940 summary. Gettextizze the strings.
17941 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17942 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17943 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17944 full stop.
17945 (GRUB_MOD_INIT): Remove command name from summary.
17946 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17947 summary.
17948 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17949 * term/i386/pc/serial.c (options): Add full stops.
17950 (GRUB_MOD_INIT): Remove command name from the summary.
17951
77a79592 179522010-01-03 Carles Pina i Estany <carles@pina.cat>
17953
17954 * commands/acpi.c: Gettextizze help strings and/or options. Include
17955 `grub/i18n.h' if needed.
17956 * commands/blocklist.c: Likewise.
17957 * commands/boot.c: Likewise.
17958 * commands/cat.c: Likewise.
17959 * commands/cmp.c: Likewise.
17960 * commands/configfile.c: Likewise.
17961 * commands/crc.c: Likewise.
17962 * commands/date.c: Likewise.
17963 * commands/echo.c: Likewise.
17964 * commands/efi/fixvideo.c: Likewise.
17965 * commands/efi/loadbios.c: Likewise.
17966 * commands/gptsync.c: Likewise.
17967 * commands/halt.c: Likewise.
17968 * commands/handler.c: Likewise.
17969 * commands/hdparm.c: Likewise.
17970 * commands/hexdump.c: Likewise.
17971 * commands/i386/cpuid.c: Likewise.
17972 * commands/i386/pc/drivemap.c: Likewise.
17973 * commands/i386/pc/halt.c: Likewise.
17974 * commands/i386/pc/pxecmd.c: Likewise.
17975 * commands/i386/pc/vbeinfo.c: Likewise.
17976 * commands/i386/pc/vbetest.c: Likewise.
17977 * commands/ieee1275/suspend.c: Likewise.
17978 * commands/keystatus.c: Likewise.
17979 * commands/loadenv.c: Likewise.
17980 * commands/ls.c: Likewise.
17981 * commands/lsmmap.c: Likewise.
17982 * commands/lspci.c: Likewise.
17983 * commands/memrw.c: Likewise.
17984 * commands/minicmd.c: Likewise.
17985 * commands/parttool.c: Likewise.
17986 * commands/password.c: Likewise.
17987 * commands/probe.c: Likewise.
17988 * commands/read.c: Likewise.
17989 * commands/reboot.c: Likewise.
17990 * commands/search.c: Likewise.
17991 * commands/sleep.c: Likewise.
17992 * commands/test.c: Likewise.
17993 * commands/true.c: Likewise.
17994 * commands/usbtest.c: Likewise.
17995 * commands/videotest.c: Likewise.
17996 * commands/xnu_uuid.c: Likewise.
17997 * disk/loopback.c: Likewise.
17998 * hello/hello.c: Likewise.
17999 * loader/i386/bsd.c: Likewise.
18000 * term/i386/pc/serial.c: Likewise.
18001 * po/POTFILES: Add new files.
18002
da8d5c53
CW
180032010-01-02 Colin Watson <cjwatson@ubuntu.com>
18004
18005 * term/i386/pc/at_keyboard.c
18006 (keyboard_controller_wait_untill_ready): Rename to ...
18007 (keyboard_controller_wait_until_ready): ... this. Update all users.
18008
33937904 180092010-01-01 Carles Pina i Estany <carles@pina.cat>
18010
18011 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
18012 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
18013 string using string width.
18014 * normal/menu_text.c (grub_print_message_indented): Use
18015 grub_print_spaces and not print_spaces.
18016 (print_timeout): Likewise.
18017 (print_spaces): Move to...
18018 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
18019
3fd3b8d8
RM
180202010-01-01 Robert Millan <rmh.grub@aybabtu.com>
18021
18022 Import from Gnulib.
18023
18024 * gnulib/getdelim.c: New file.
18025 * gnulib/getline.c: Likewise.
18026
33433555
VS
180272009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
18028
18029 * include/grub/list.h (grub_assert_fail): Removed.
18030 (grub_bad_type_cast_real): New function.
18031 (grub_bad_type_cast): New macro.
18032 (GRUB_AS_LIST): Use grub_bad_type_cast.
18033 (GRUB_AS_LIST_P): Likewise.
e44721e8 18034 (GRUB_AS_NAMED_LIST): Likewise.
33433555 18035 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 18036 (GRUB_AS_PRIO_LIST): Likewise.
33433555 18037 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 18038 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 18039
f5a51306
VS
180402009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
18043 Fix syntax error.
18044
90d1e879
RM
180452009-12-29 Robert Millan <rmh.grub@aybabtu.com>
18046
18047 * configure.ac: Check for TARGET_CFLAGS initialization before we
18048 initialize it ourselves (sigh).
18049 Move a few modifications to TARGET_CFLAGS to be unconditional
18050 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18051 eh_frame)
18052
18053 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18054 * term/i386/pc/at_keyboard.c
18055 (keyboard_controller_wait_untill_ready): Likewise.
18056 (keyboard_controller_led): Rename `led_status' paramter to avoid
18057 name conflict.
18058
465b5a81 180592009-12-28 Carles Pina i Estany <carles@pina.cat>
18060
18061 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18062 quotes.
18063
c181849b
VS
180642009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18067
9c8739a4
VS
180682009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18069
18070 * normal/menu_text.c (grub_print_message_indented): Prevent
18071 past-the-end-of-array dereference.
18072
3e74249c
VS
180732009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18076 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18077
64fd18ed 180782009-12-27 Carles Pina i Estany <carles@pina.cat>
18079
18080 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18081 * normal/main.c (grub_normal_read_line): Remove a space from the
18082 default prompt.
18083
714af9b9 180842009-12-27 Carles Pina i Estany <carles@pina.cat>
18085
18086 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18087 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18088 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18089 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18090 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18091 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18092 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18093
82f3e412 180942009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 18095
18096 * video/readers/jpeg.c (cmd): Declare.
18097 (grub_cmd_jpegtest): Use `grub_command_t' type.
18098 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18099 Assign to `cmd'.
18100 (GRUB_MOD_FINI): Use `cmd' to unregister.
18101 * video/readers/png.c (cmd): Declare.
18102 (grub_cmd_pngtest): Use `grub_command_t' type.
18103 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18104 Assign to `cmd'.
18105 (GRUB_MOD_FINI): Use `cmd' to unregister.
18106 * video/readers/tga.c (cmd): Declare.
18107 (grub_cmd_tgatest): Use `grub_command_t' type.
18108 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18109 Assign to `cmd'.
18110 (GRUB_MOD_FINI): Use `cmd' to unregister.
18111
82f3e412 181122009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 18113
18114 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18115 stops.
18116 * kern/corecmd.c (grub_register_core_commands): Likewise.
18117 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18118 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18119 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18120 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18121 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18122 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18123 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18124 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18125 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18126 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18127 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18128 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18129 * normal/handler.c (insert_handler): Likewise.
18130 * normal/main.c (GRUB_MOD_INIT): Likewise.
18131 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18132
fdcdbb66 181332009-12-26 Carles Pina i Estany <carles@pina.cat>
18134
18135 * commands/help.c (grub_cmd_help): Print the command name before the
18136 summary.
18137 (GRUB_MOD_INIT): Remove command name from the summary.
18138 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 18139 string as summary.
fdcdbb66 18140 * lib/arg.c (find_long): Print the command name before the summary.
18141 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18142 summary.
18143 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18144 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18145 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18146 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18147 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18148 * commands/date.c (GRUB_MOD_INIT): Likewise.
18149 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18150 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18151 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18152 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18153 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
18154 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
18155 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
18156 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
18157 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18158 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
18159 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
18160 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
18161 * commands/ls.c (GRUB_MOD_INIT): Likewise.
18162 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18163 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18164 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18165 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
18166 * commands/password.c (GRUB_MOD_INIT): Likewise.
18167 * commands/probe.c (GRUB_MOD_INIT): Likewise.
18168 * commands/read.c (GRUB_MOD_INIT): Likewise.
18169 * commands/search.c (GRUB_MOD_INIT): Likewise.
18170 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18171 * commands/test.c (GRUB_MOD_INIT): Likewise.
18172 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18173 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18174 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18175 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18176 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18177 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18178 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18179 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18180 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18181 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18182 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18183 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18184 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18185 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18186
9c288be2
VS
181872009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 Use search command for preliminar UUID search.
18190
18191 * commands/search.c: Split into ...
18192 * commands/search_wrap.c: ...this
18193 * commands/search.c: ...and this.
18194 * commands/search_file.c: New file.
18195 * commands/search_label.c: New file.
18196 * commands/search_uuid.c: New file.
18197 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18198 Add commands/search_wrap.c, commands/search_file.c,
18199 commands/search_label.c and commands/search_uuid.c.
18200 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18201 (search_mod_SOURCES): Set to commands/search_wrap.c.
18202 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18203 search_label.mod.
18204 (search_fs_file_mod_SOURCES): New variable.
18205 (search_fs_file_mod_CFLAGS): Likewise.
18206 (search_fs_file_mod_LDFLAGS): Likewise.
18207 (search_label_mod_SOURCES): Likewise.
18208 (search_label_mod_CFLAGS): Likewise.
18209 (search_label_mod_LDFLAGS): Likewise.
18210 (search_fs_uuid_mod_SOURCES): New variable.
18211 (search_fs_uuid_mod_CFLAGS): Likewise.
18212 (search_fs_uuid_mod_LDFLAGS): Likewise.
18213 (fs_file_mod_SOURCES): Removed.
18214 (fs_file_mod_CFLAGS): Likewise.
18215 (fs_file_mod_LDFLAGS): Likewise.
18216 (fs_uuid_mod_SOURCES): Removed.
18217 (fs_uuid_mod_CFLAGS): Likewise.
18218 (fs_uuid_mod_LDFLAGS): Likewise.
18219 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18220 Set to util/grub-install.in.
18221 * disk/fs_file.c: Removed.
18222 * disk/fs_uuid.c: Likewise.
18223 * include/grub/search.h: New file.
18224 * util/grub-install.in: Handle sparc64.
18225 Create and use load.cfg.
18226 * util/sparc64/ieee1275/grub-install.in: Removed.
18227
db943399
VS
182282009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18231 Ignore return status if CF is cleared.
18232 (grub_biosdisk_get_diskinfo_standard): Likewise.
18233
3fdae612
RM
182342009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18235
18236 * term/i386/pc/at_keyboard.c
18237 (keyboard_controller_wait_untill_ready): New function.
18238 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18239 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18240 for keyboard polling, rather than duplicate the same loop. This
18241 saves a few bytes in code size.
18242
7ebaa2b4
VS
182432009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18244
18245 Support for (pxe[:server[:gateway]]) syntax and
18246 use environment variable for PXE.
18247
18248 * commands/i386/pc/pxecmd.c (options): Removed.
18249 (print_ip): Removed.
18250 (grub_cmd_pxe): Removed
18251 (grub_cmd_pxe_unload): New function.
18252 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18253 (grub_pxe_your_ip): Made static.
18254 (grub_pxe_default_server_ip): Likewise.
18255 (grub_pxe_default_gateway_ip): Likewise.
18256 (grub_pxe_blksize): Likewise.
18257 (parse_ip): New function.
18258 (grub_pxe_open): Support server and gateway specification.
18259 (grub_pxe_close): Free disk->data.
18260 (grub_pxefs_open): Use disk->data.
18261 (grub_pxefs_read): Likewise.
18262 (grub_env_write_readonly): New function.
18263 (set_mac_env): Likewise.
18264 (set_env_limn_ro): Likewise.
18265 (parse_dhcp_vendor): Likewise.
18266 (grub_pxe_detect): Set the environment variables.
18267 (set_ip_env): New function.
18268 (write_ip_env): Likewise.
18269 (grub_env_write_pxe_default_server): Likewise.
18270 (grub_env_write_pxe_default_gateway): Likewise.
18271 (grub_env_write_pxe_blocksize): Likewise.
18272 (GRUB_MOD_INIT(pxe)): Set environment variables.
18273 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18274 (grub_pxe_mac_addr_t): ... this. All users updated.
18275 (grub_pxe_your_ip): Removed.
18276 (grub_pxe_server_ip): Likewise.
18277 (grub_pxe_gateway_ip): Likewise.
18278 (grub_pxe_blksize): Likewise.
18279
ec5f98ab 182802009-12-25 Carles Pina i Estany <carles@pina.cat>
18281
18282 * commands/help.c: Include `<grub/i18n.h>'.
18283 (grub_cmd_help): Gettextizze.
18284 (GRUB_MOD_INIT): Likewise.
18285 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18286 (GRUB_MOD_INIT): Gettextizze.
18287 * commands/search.c: Include `<grub/i18n.h>'.
18288 (options): Gettextizze.
18289 (GRUB_MOD_INIT): Gettextizze.
18290 * lib/arg.c: Include `<grub/i18n.h>'.
18291 (help_options): Gettextizze.
18292 (find_long): Likewise.
18293 (grub_arg_show_help): Likewise.
18294 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18295 (read_command_list): Gettextizze.
18296 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 18297 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 18298
22815526
RM
182992009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18300
18301 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18302 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18303 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18304 (led_status): New variable.
18305 (keyboard_controller_led): New function.
18306 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18307 update led status for caps lock, num lock and scroll lock.
18308
0ad46fd7
FZ
183092009-12-25 Felix Zielcke <fzielcke@z-51.de>
18310
18311 * util/hostdisk.c (open_device): Fix a comment.
18312
d0e158c2
RM
183132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18314
18315 * util/grub-install.in (host_os): New variable.
18316 * util/i386/efi/grub-install.in (host_os): Likewise.
18317
401c0ad6
RM
183182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18319
18320 * util/mkisofs/write.c (padblock_write): Abort when given an
18321 excedingly large embed image, instead of silently truncating it.
18322
d14d3370
RM
183232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18324
18325 * include/multiboot.h: Indentation fixes.
18326
eeed10b4
RM
183272009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18328
18329 * include/multiboot.h (struct multiboot_aout_symbol_table)
18330 (struct multiboot_elf_section_header_table): New structure
18331 declarations (stolen from GRUB Legacy).
18332 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18333 table information.
18334
18335 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18336 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18337 type aliases.
18338
681c70ab
RM
183392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18340
18341 * include/multiboot.h: Make comments src2texi-friendly.
18342
e4d47d8d
RM
183432009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18344
18345 For consistency with [multiboot]/docs/boot.S.
18346
18347 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18348 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18349 (MULTIBOOT_MAGIC2): Rename from this ...
18350 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18351
a0b70bda
RM
183522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18353
18354 * include/multiboot.h: Remove `<grub/types.h>'.
18355 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18356 types. Update all users.
18357
61ba42be 183582009-12-25 Carles Pina i Estany <carles@pina.cat>
18359
18360 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18361 `couldn't' and `can not' by `cannot'.
18362 * commands/i386/pc/drivemap.c: Likewise.
18363 * disk/ata.c: Likewise.
18364 * disk/ieee1275/nand.c: Likewise.
18365 * fs/affs.c: Likewise.
18366 * fs/fat.c: Likewise.
18367 * fs/hfs.c: Likewise.
18368 * fs/hfsplus.c: Likewise.
18369 * fs/iso9660.c: Likewise.
18370 * fs/jfs.c: Likewise.
18371 * fs/minix.c: Likewise.
18372 * fs/reiserfs.c: Likewise.
18373 * fs/sfs.c: Likewise.
18374 * fs/udf.c: Likewise.
18375 * fs/ufs.c: Likewise.
18376 * fs/xfs.c: Likewise.
18377 * loader/powerpc/ieee1275/linux.c: Likewise.
18378 * loader/sparc64/ieee1275/linux.c: Likewise.
18379 * util/grub-probe.c: Likewise.
18380 * util/misc.c: Likewise.
18381
7fd0baee 183822009-12-24 Carles Pina i Estany <carles@pina.cat>
18383
18384 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18385 grub_errno calls.
18386 * commands/acpi.c: Likewise.
18387 * commands/blocklist.c: Likewise.
18388 * commands/efi/loadbios.c: Likewise.
18389 * commands/i386/pc/drivemap.c: Likewise.
18390 * commands/loadenv.c: Likewise.
18391 * commands/memrw.c: Likewise.
18392 * commands/password.c: Likewise.
18393 * commands/videotest.c: Likewise.
18394 * disk/ata.c: Likewise.
18395 * disk/ata_pthru.c: Likewise.
18396 * disk/dmraid_nvidia.c: Likewise.
18397 * disk/ieee1275/nand.c: Likewise.
18398 * disk/ieee1275/ofdisk.c: Likewise.
18399 * disk/loopback.c: Likewise.
18400 * disk/lvm.c: Likewise.
18401 * disk/mdraid_linux.c: Likewise.
18402 * disk/raid.c: Likewise.
18403 * disk/raid6_recover.c: Likewise.
18404 * disk/scsi.c: Likewise.
18405 * efiemu/main.c: Likewise.
18406 * efiemu/mm.c: Likewise.
18407 * efiemu/pnvram.c: Likewise.
18408 * efiemu/symbols.c: Likewise.
18409 * font/font.c: Likewise.
18410 * fs/cpio.c: Likewise.
18411 * fs/hfsplus.c: Likewise.
18412 * fs/iso9660.c: Likewise.
18413 * fs/jfs.c: Likewise.
18414 * fs/minix.c: Likewise.
18415 * fs/ntfs.c: Likewise.
18416 * fs/ntfscomp.c: Likewise.
18417 * fs/reiserfs.c: Likewise.
18418 * fs/ufs.c: Likewise.
18419 * fs/xfs.c: Likewise.
18420 * gettext/gettext.c: Likewise.
18421 * include/grub/auth.h: Likewise.
18422 * kern/elf.c: Likewise.
18423 * kern/file.c: Likewise.
18424 * kern/ieee1275/init.c: Likewise.
18425 * kern/ieee1275/mmap.c: Likewise.
18426 * kern/ieee1275/openfw.c: Likewise.
18427 * kern/powerpc/dl.c: Likewise.
18428 * kern/sparc64/dl.c: Likewise.
18429 * lib/arg.c: Likewise.
18430 * loader/i386/bsd.c: Likewise.
18431 * loader/i386/bsdXX.c: Likewise.
18432 * loader/i386/efi/linux.c: Likewise.
18433 * loader/i386/efi/xnu.c: Likewise.
18434 * loader/i386/ieee1275/linux.c: Likewise.
18435 * loader/i386/linux.c: Likewise.
18436 * loader/i386/multiboot.c: Likewise.
18437 * loader/i386/pc/linux.c: Likewise.
18438 * loader/i386/pc/multiboot2.c: Likewise.
18439 * loader/i386/xnu.c: Likewise.
18440 * loader/ieee1275/multiboot2.c: Likewise.
18441 * loader/macho.c: Likewise.
18442 * loader/machoXX.c: Likewise.
18443 * loader/multiboot2.c: Likewise.
18444 * loader/multiboot_loader.c: Likewise.
18445 * loader/powerpc/ieee1275/linux.c: Likewise.
18446 * loader/sparc64/ieee1275/linux.c: Likewise.
18447 * loader/xnu.c: Likewise.
18448 * loader/xnu_resume.c: Likewise.
18449 * mmap/i386/pc/mmap.c: Likewise.
18450 * normal/menu_viewer.c: Likewise.
18451 * partmap/acorn.c: Likewise.
18452 * partmap/amiga.c: Likewise.
18453 * partmap/apple.c: Likewise.
18454 * script/lexer.c: Likewise.
18455 * term/gfxterm.c: Likewise.
18456 * term/i386/pc/serial.c: Likewise.
18457 * term/i386/pc/vga.c: Likewise.
18458 * term/ieee1275/ofconsole.c: Likewise.
18459 * term/terminfo.c: Likewise.
18460 * video/bitmap.c: Likewise.
18461 * video/efi_gop.c: Likewise.
18462 * video/efi_uga.c: Likewise.
18463 * video/fb/video_fb.c: Likewise.
18464 * video/i386/pc/vbe.c: Likewise.
18465 * video/readers/tga.c: Likewise.
18466 * video/video.c: Likewise.
18467
0ad46fd7 184682009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
18469
18470 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18471 * commands/lspci.c: Likewise.
18472 * commands/probe.c: Likewise.
18473 * commands/xnu_uuid.c: Likewise.
18474 * conf/i386-coreboot.rmk: Likewise.
18475 * conf/i386-efi.rmk: Likewise.
18476 * conf/i386-ieee1275.rmk: Likewise.
18477 * conf/i386-pc.rmk: Likewise.
18478 * conf/powerpc-ieee1275.rmk: Likewise.
18479 * conf/sparc64-ieee1275.rmk: Likewise.
18480 * conf/x86_64-efi.rmk: Likewise.
18481 * fs/i386/pc/pxe.c: Likewise.
18482 * gettext/gettext.c: Likewise.
18483 * include/grub/efi/graphics_output.h: Likewise.
18484 * include/grub/i386/pc/memory.h: Likewise.
18485 * kern/env.c: Likewise.
18486 * kern/i386/qemu/startup.S: Likewise.
18487 * lib/i386/pc/biosnum.c: Likewise.
18488 * lib/i386/relocator.c: Likewise.
18489 * lib/i386/relocator_asm.S: Likewise.
18490 * lib/relocator.c: Likewise.
18491 * loader/i386/bsd.c: Likewise.
18492 * loader/i386/multiboot.c: Likewise.
18493 * loader/i386/pc/chainloader.c: Likewise.
18494 * loader/i386/xnu.c: Likewise.
18495 * loader/xnu.c: Likewise.
18496 * normal/main.c: Likewise.
18497 * normal/menu_text.c: Likewise.
18498 * util/getroot.c: Likewise.
18499 * util/grub-mkconfig_lib.in: Likewise.
18500 * util/grub.d/00_header.in: Likewise.
18501 * util/i386/pc/grub-mkimage.c: Likewise.
18502 * util/mkisofs/eltorito.c: Likewise.
18503 * util/mkisofs/exclude.h: Likewise.
18504 * util/mkisofs/hash.c: Likewise.
18505 * util/mkisofs/iso9660.h: Likewise.
18506 * util/mkisofs/joliet.c: Likewise.
18507 * util/mkisofs/mkisofs.c: Likewise.
18508 * util/mkisofs/mkisofs.h: Likewise.
18509 * util/mkisofs/multi.c: Likewise.
18510 * util/mkisofs/name.c: Likewise.
18511 * util/mkisofs/rock.c: Likewise.
18512 * util/mkisofs/tree.c: Likewise.
18513 * util/mkisofs/write.c: Likewise.
18514 * video/efi_gop.c: Likewise.
18515
009ec743
VS
185162009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18519 size counting.
18520
0ad46fd7 185212009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
18522
18523 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18524 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18525
d3d30ea0
VS
185262009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18529 (GRUB_MOD_INIT(memrw)): Update help line.
18530
a34f5c70
VS
185312009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18534 Use grub_extcmd_t. All users updated.
18535 (options): New variable.
18536 (grub_cmd_read): Restructure for readability. Support "-v" option.
18537 (grub_cmd_write): Restructure for readability.
18538
0ad46fd7 185392009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
18540
18541 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18542
0ad46fd7 185432009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
18544
18545 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18546 with the actual contents of the correspondending make variable.
18547 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18548 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18549 specifying `*.lst' and `efiemu??.o'
18550
0ad46fd7 185512009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
18552
18553 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18554 after function name.
18555 Noticed by Rene Engelhard <rene@debian.org>.
18556
dc77a799
VS
185572009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18558
18559 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18560 (options): New variable.
18561 (iospace): Likewise.
18562 (grub_lspci_iter): List IO spaces if "-i" was given.
18563 (grub_cmd_lspci): Parse options.
18564 (GRUB_MOD_INIT(lspci)): Use extcmd.
18565 (GRUB_MOD_FINI(lspci)): Likewise.
18566
0ad46fd7 185672009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
18568
18569 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18570 `function' keyword.
18571 Patch by Tony Mancill <tmancill@debian.org>.
18572
b5d5993b
VS
185732009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18574
18575 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18576 (grub_uhci_portstatus): Likewise.
18577 (grub_uhci_portstatus): Add necessary delay.
11d18281 18578 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 18579
941903f2 185802009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 18581
941903f2 18582 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18583 (GRUB_MOD_INIT): Likewise.
18584 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 18585 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18586 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 18587 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18588 (enable_rom_area): Likewise.
18589 (GRUB_MOD_INIT): Likewise.
18590 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18591 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18592 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18593 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18594 * commands/hexdump.c (options): Likewise.
18595 * commands/i386/cpuid.c (options): Likewise.
18596 (GRUB_MOD_INIT): Likewise.
18597 * commands/i386/pc/drivemap.c (options): Likewise.
18598 (GRUB_MOD_INIT): Likewise.
18599 * commands/i386/pc/halt (options): Likewise.
18600 (GRUB_MOD_INIT): Likewise.
18601 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18602 * commands/i386/pc/pxecmd.c (options): Likewise.
18603 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18604 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18605 * commands/keystatus.c (options): Likewise.
18606 (GRUB_MOD_INIT): Likewise.
18607 * commands/loadenv.c (options): Likewise.
18608 * commands/ls.c (options): Likewise.
18609 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18610 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18611 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18612 * commands/parttool.c (helpmsg): Likewise.
18613 * commands/probe.c (options): Likewise.
18614 * commands/read.c (GRUB_MOD_INIT): Likewise.
18615 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18616 * commands/search.c (options): Likewise.
18617 * commands/sleep.c (options): Likewise.
18618 * commands/test.c (GRUB_MOD_INIT): Likewise.
18619 * commands/true.c (GRUB_MOD_INIT): Likewise.
18620 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18621 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18622 * lib/arg.c (help_options): Likewise.
e9bbb4e7 18623 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18624 `$(XGETTEXT)'.
98a50553 18625 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 18626
0ad46fd7 186272009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 18628
ef3c2c3a 18629 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
18630 instead of specifying them explicit.
18631
7922f68b
RM
186322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18633
18634 * NEWS: Add grub-probe support for GNU/Hurd.
18635
537ce47f
RM
186362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18637
18638 * NEWS: gettext was added after 1.97.
18639
9b214e3a
RM
186402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18641
18642 * util/mkisofs/msdos_partition.h: New file (based on
18643 include/grub/msdos_partition.h).
18644 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18645 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18646 (ld_options, main): Recognize --protective-msdos-label.
18647 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18648 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18649 (padblock_write): If `use_protective_msdos_label' is set, patch a
18650 protective DOS-style label in the output image.
18651
18652 * util/grub-mkrescue.in: Use --protective-msdos-label.
18653
e9309813
RM
186542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18655
18656 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18657 boot.
18658
0ae56929
RM
186592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18660
18661 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18662 variables.
18663 (ld_options, main): Recognize `--embedded-boot'.
18664 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18665 declarations.
18666 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18667 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18668 (padblock_write): Likewise. Rewrite to support embedded boot image.
18669
18670 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18671 for BIOS-based disk boot instead of only ElTorito.
18672
b15937b1
RM
186732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18674
18675 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18676 build (not needed for bootstrap).
18677
52cc3ce0
RM
186782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18679
18680 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18681 from i386-pc build (not needed for bootstrap).
18682 Rewrite a pair of strings.
18683
36f5ff04
RM
186842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18685
18686 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18687
973c6c85 186882009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
18689
18690 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18691
05d21547
AB
186922009-12-21 Andreas Born <futur.andy@googlemail.com>
18693
18694 * kern/env.c (grub_env_context_open): Mark exported variable for
18695 reexport.
18696
0175d51f
AB
186972009-12-21 Andreas Born <futur.andy@googlemail.com>
18698
18699 * kern/env.c (grub_env_export): Create nonexistent variables before
18700 exporting.
18701
7f39d92f 187022009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 18703
7f39d92f 18704 * include/grub/auth.h: Include `<grub/i18n.h>'.
18705 (GRUB_GET_PASSWORD): Gettextizze string.
18706 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18707 menu_text.c.
18708 (grub_utf8_to_ucs4_alloc): Fix indentation.
18709 (grub_print_ucs4): Likewise.
18710 (grub_getstringwidth): Likewise.
18711 (print_message_indented): New declaration.
18712 * normal/auth.c: Include `<grub/i18n.h>'.
18713 (grub_auth_check_authentication): Gettexttize string.
18714 * normal/cmdline.c: Include `<grub/i18n.h>'.
18715 (grub_cmdline_get): Gettextizze.
18716 * normal/color.c: Include `<grub/i18n.h>'.
18717 (grub_parse_color_name_pair): Gettexttize strings.
18718 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18719 string (use `print_message_indented').
18720 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18721 `include/grub/normal.h'.
18722 (print_message_indented): Renamed to ...
18723 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18724 used in normal/main.c).
18725 (print_message): Use `grub_print_message_indented' instead of
18726 `print_message_indented'.
18727 (print_timeout): Likewise.
18728 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18729 (grub_normal_print_device_info): Gettexttize strings.
18730 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18731
3041d898
VS
187322009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18733
18734 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18735 of arguments. Return number of tokens and not arguments. All users
18736 updated.
18737
de15bf8e
VS
187382009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18741 non-MSDOS paritions.
18742
e0a6ca52
VS
187432009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18744
18745 * include/grub/types.h (UNUSED): Removed since it conflicts with
18746 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18747 Reported by Grégoire Sutre.
18748
b99518d1 187492009-12-19 Carles Pina i Estany <carles@pina.cat>
18750
18751 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18752 (grub_print_ucs4_alloc): Likewise.
18753 (grub_getstringwidth): Likewise.
18754 * normal/main.c (grub_normal_init_page): Gettextize version string.
18755 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18756 (getstringwidth): Renamed to ...
18757 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18758 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18759 (grub_print_ucs4): Remove `static' qualifer (now used in
18760 normal/main.c).
18761 * po/POTFILES: Add normal/main.c.
18762
bfd5e52b 187632009-12-19 Carles Pina i Estany <carles@pina.cat>
18764
18765 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18766 (print_message_indented): Add `margin_left' and `margin_right'
18767 parameters.
18768 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18769 strings.
18770 (print_timeout): Use `print_message_indented' to print the message.
18771 Deletes `second_stage' parameter.
18772 (run_menu): Update `print_timeout' calls.
18773
5a1ad2b9
VS
187742009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18775
18776 Fix console palette on OpenFirmware.
18777
18778 * term/ieee1275/ofconsole.c (MAX): Removed.
18779 (colors): Redone based on VGA palette.
18780 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18781 colors are supported.
18782 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18783
b045f00a
VS
187842009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 Fix potential EfiEmu double prepare.
18787
18788 * efiemu/main.c (prepared): New variable
18789 (grub_efiemu_unload): Set prepare to '0'.
18790 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18791
18792 set_virtual_address_map support.
18793
18794 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18795 prototype.
18796 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18797 prototype.
18798 (grub_efiemu_crc32): Likewise.
18799 (grub_efiemu_crc64): Likewise.
18800 (grub_efiemu_set_virtual_address_map): Likewise.
18801 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18802 New definition.
18803 (grub_autoefi_set_virtual_address_map): Likewise.
18804 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18805 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18806 Restructure flow to accomodate it.
18807 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18808 (grub_efiemu_crc): Recompute CRC32.
18809 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18810 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18811 * efiemu/symbols.c (relocated_handle): New variable.
18812 (grub_efiemu_free_syms): Free relocated_handle.
18813 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18814 (grub_efiemu_write_sym_markers): New function.
18815 (grub_efiemu_set_virtual_address_map): Likewise.
18816
18817 Newer XNU parameters.
18818
18819 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18820 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18821 (grub_xnu_fill_devicetree): New prototype.
18822 (grub_xnu_heap_real_start): New variable.
18823 * loader/xnu.c (get_name_ptr): New function.
18824 (grub_xnu_load_driver): Fill namelen and name.
18825
18826 64-bit xnu support.
18827
18828 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18829 and 'loader/macho64.c'.
18830 * conf/i386-pc.rmk: Likewise.
18831 * conf/x86_64-efi.rmk: Likewise.
18832 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18833 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18834 * include/grub/macho.h (grub_macho_segment64): New structure.
18835 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18836 (grub_macho_size32): ... to this.
18837 (grub_macho32_get_entry_point): Renamed from ...
18838 (grub_macho_get_entry_point32): ... to this.
18839 (grub_macho_contains_macho64): New prototype.
18840 (grub_macho_size64): Likewise.
18841 (grub_macho_get_entry_point64): Likewise.
18842 (grub_macho32_load): Renamed from ...
18843 (grub_macho_load32): ... to this.
18844 (grub_macho32_filesize): Renamed from ...
18845 (grub_macho_filesize32): ... to this.
18846 (grub_macho32_readfile): Renamed from ...
18847 (grub_macho_readfile32): ... to this.
18848 (grub_macho_filesize64): New prototype.
18849 (grub_macho_readfile64): Likewise.
18850 (grub_macho_parse32): Likewise.
18851 (grub_macho_parse64): Likewise.
18852 * loader/macho.c: Split into ...
18853 * loader/machoXX.c: ... and this. Replace 32 with XX.
18854 * loader/macho32.c: New file.
18855 * loader/macho64.c: Likewise.
18856 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18857 (grub_cmd_xnu_kernel): Make 32-bit only.
18858 (grub_cmd_xnu_kernel64): New function.
18859 (grub_xnu_load_driver): Support Mach-O 64.
18860 (grub_cmd_xnu_mkext): Likewise.
18861 * util/grub.d/30_os-prober.in (osx_entry): New function.
18862 Generate entries for 64-bit boot too.
18863
18864 Eliminate ad-hoc tree format in XNU and EfiEmu.
18865
18866 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18867 * efiemu/pnvram.c: Rewritten to use environment variables.
18868 All users updated.
18869
18870 Inline utf16_to_utf8.
18871
18872 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18873 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18874 All users updated.
18875 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18876
18877 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18878 * commands/usbtest.c (grub_usb_get_string): ... move here.
18879 (usb_print_str): Fix error handling.
18880 * include/grub/usb.h (grub_usb_get_string): Remove.
18881
18882 UTF-8 to UTF-16 transformation.
18883
18884 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18885 (charset_mod_SOURCES): New variable.
18886 (charset_mod_CFLAGS): Likewise.
18887 (charset_mod_LDFLAGS): Likewise.
18888 * include/grub/utf.h: New file.
18889 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18890
18891 Support for device properties.
18892
18893 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18894 (grub_xnu_devprop_device_header): Likewise.
18895 (grub_xnu_devprop_device_descriptor): Likewise.
18896 (grub_xnu_devprop_add_device): New prototype.
18897 (grub_xnu_devprop_remove_device): Likewise.
18898 (grub_xnu_devprop_remove_property): Likewise.
18899 (grub_xnu_devprop_add_property_utf8): Likewise.
18900 (grub_xnu_devprop_add_property_utf16): Likewise.
18901 (grub_cpu_xnu_init): Likewise.
18902 (grub_cpu_xnu_fini): Likewise.
18903 (grub_cpu_xnu_unload): Likewise.
18904 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18905 (property_descriptor): Likewise.
18906 (devices): New variable.
18907 (grub_xnu_devprop_remove_property): New function.
18908 (grub_xnu_devprop_add_device): Likewise.
18909 (grub_xnu_devprop_remove_device): Likewise.
18910 (grub_xnu_devprop_add_property): Likewise.
18911 (grub_xnu_devprop_add_property_utf8): Likewise.
18912 (grub_xnu_devprop_add_property_utf16): Likewise.
18913 (hextoval): Likewise.
18914 (grub_cpu_xnu_fill_devprop): Likewise.
18915 (grub_cmd_devprop_load): Likewise.
18916 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18917 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18918 (cmd_devprop_load): New variable.
18919 (grub_cpu_xnu_init): New function.
18920 (grub_cpu_xnu_fini): Likewise.
18921 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18922 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18923 (grub_cmd_xnu_devtree): Likewise.
18924 (hextoval): New function.
18925 (unescape): Likewise.
18926 (grub_xnu_fill_devicetree): Likewise.
18927
18928 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18929 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18930
0945f181
VS
189312009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 Workaround for broken ATI VBE.
18934
18935 * video/i386/pc/vbe.c (last_set_mode): New variable.
18936 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18937 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18938 (grub_video_vbe_setup): Don't check for reserved flag.
18939
0ad46fd7 189402009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
18941
18942 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18943 the `find' command.
18944
c179ebe4
VS
189452009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18946
18947 UUID support for HFS.
18948
18949 * fs/hfs.c (grub_hfs_uuid): New function.
18950 (grub_hfs_fs): New value .uuid.
18951 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18952
0ad46fd7 189532009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
18954
18955 Fix a segfault with parsing unknown long options.
18956
18957 * util/grub-mkrelpath.c (options): Zero terminate it.
18958
c4a3e41a
CPE
189592009-12-13 Carles Pina i Estany <carles@pina.cat>
18960
18961 * include/grub/misc.h (grub_puts): New declaration.
18962 (grub_puts_): Likewise.
a22008a6 18963 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
18964 (grub_puts_): Likewise.
18965
2e8a7602
RM
189662009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18967
18968 * util/grub-probe.c (probe): Improve error message.
18969
b50b77b9
RM
189702009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18971
18972 * loader/i386/multiboot_elfxx.c
18973 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18974 initialization.
18975
189762009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18977
18978 Relocator framework
18979
18980 * loader/i386/xnu_helper.S: Removed. All users updated.
18981 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18982 (relocator_mod_SOURCES): New variable.
18983 (relocator_mod_CFLAGS): Likewise.
18984 (relocator_mod_LDFLAGS): Likewise.
18985 (relocator_mod_ASFLAGS): Likewise.
18986 * conf/x86_64.rmk: Likewise.
18987 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18988 (grub_multiboot_payload_entry_offset): Likewise.
18989 (grub_multiboot_forward_relocator): Likewise.
18990 (grub_multiboot_forward_relocator_end): Likewise.
18991 (grub_multiboot_backward_relocator): Likewise.
18992 (grub_multiboot_backward_relocator_end): Likewise.
18993 (grub_multiboot_payload_eip): New variable.
18994 (grub_multiboot_payload_orig): Likewise.
18995 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18996 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18997 * include/grub/i386/memory.h
18998 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18999 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
19000 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
19001 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
19002 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
19003 * include/grub/i386/relocator.h: New file.
19004 * include/grub/x86_64/relocator.h: Likewise.
19005 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
19006 (XNU_RELOCATOR): New macro.
19007 (grub_xnu_launcher_start): Remove.
19008 (grub_xnu_launcher_end): Likewise.
19009 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
19010 (grub_xnu_heap_real_start): Remove.
19011 (grub_xnu_heap_start): Change to void *. All users updated.
19012 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
19013 * lib/i386/relocator.c: New file.
19014 * lib/i386/relocator_asm.S: Likewise.
19015 * lib/i386/relocator_backward.S: Likewise.
19016 * lib/mips/relocator.c: Likewise.
19017 * lib/mips/relocator_asm.S: Likewise.
19018 * lib/relocator.c: Likewise.
19019 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
19020 (entry): Removed.
19021 (playground): Likewise.
19022 (grub_multiboot_payload_orig): New variable.
19023 (grub_multiboot_payload_dest): Likewise.
19024 (grub_multiboot_payload_size): Likewise.
19025 (grub_multiboot_payload_eip): Likewise.
19026 (grub_multiboot_payload_esp): Likewise.
19027 (grub_multiboot_boot): Use grub_relocator32_boot.
19028 (grub_multiboot_unload): Free relocators.
19029 (grub_multiboot): Setup stack. Use relocators.
19030 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
19031 (grub_multiboot_load_elfXX): Use relocators.
19032 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
19033 (grub_multiboot_payload_size): Likewise.
19034 (grub_multiboot_payload_dest): Likewise.
19035 (grub_multiboot_payload_entry_offset): Likewise.
19036 (grub_multiboot_forward_relocator): Likewise.
19037 (grub_multiboot_backward_relocator): Likewise.
19038 (grub_multiboot_real_boot): Likewise.
19039 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
19040 (grub_xnu_entry_point): Likewise.
19041 (grub_xnu_arg1): Likewise.
19042 (grub_xnu_stack): Likewise.
19043 (grub_xnu_launch): Removed.
19044 (grub_xnu_boot_resume): New function.
19045 (grub_xnu_boot): Use relocators.
19046 * loader/i386/xnu_helper.S: Removed.
19047 * loader/xnu.c (grub_xnu_heap_start): New variable.
19048 (grub_xnu_heap_size): Likewise.
19049 (grub_xnu_heap_malloc): Use relocators.
19050 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19051
29eb90c6
VS
190522009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19055 anything.
19056
31027430
CPE
190572009-12-13 Carles Pina i Estany <carles@pina.cat>
19058
19059 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19060 GRUB_ERR_NONE before calling grub_env_set.
19061
dc0c71d9
RM
190622009-12-12 Robert Millan <rmh@aybabtu.com>
19063
19064 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19065 * genmk.rb (video): New variable.
19066 (CLEANFILES, VIDEOFILES): Add #{video}.
19067 (#{video}): New target rule.
19068 * genvideolist.sh: New file.
19069 * Makefile.in (pkglib_DATA): Add video.lst.
19070 (video.lst): New target rule.
19071 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19072 `video.lst'.
19073 * util/grub.d/30_os-prober.in: Replace `vbe' with
19074 ${GRUB_VIDEO_BACKEND}.
19075
2a4bfcf0
RM
190762009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19077
19078 * THANKS: Add David Miller.
19079
2a3aa4d5
RM
190802009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19081
19082 libpciaccess support.
19083
19084 * Makefile.in (LIBPCIACCESS): New variable.
19085 (enable_grub_emu_pci): Likewise.
19086 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19087 util/pci.c and commands/lspci.c.
19088 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19089 * configure.ac (grub-emu-pci): New option.
19090 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19091 (grub_pci_device_unmap_range): Likewise.
19092 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19093 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19094 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19095 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19096 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19097 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19098 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19099 * include/grub/pciutils.h: New file.
19100 * util/pci.c: Likewise.
19101
0ad46fd7 191022009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
19103
19104 * util/misc.c: Don't include <errno.h> twice.
19105
0ad46fd7 191062009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
19107
19108 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19109 name in an error message.
19110 (grub_biosdisk_rw): Likewise.
19111
2e59983c
VS
191122009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19113
19114 Eliminate NTFS 4Gib barrier.
19115
19116 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19117 (read_run_data): Likewise.
19118 (grub_ntfs_read_run_list): Likewise.
19119 (grub_ntfs_read_block): Likewise.
19120 (grub_ntfs_iterate_dir): Likewise.
19121 (read_mft): Likewise.
19122 (read_data): Likewise.
19123 Use COM_LOG_LEN.
19124 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19125 to avoid 64-bit division
19126 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19127 (grub_ntfs_rlst): Use grub_disk_addr_t.
19128
71ee178a
VS
191292009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 Eliminate grub-fstest 4Gib barrier.
19132
19133 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19134 (read_file): Fix error reporting.
19135
2520d4b8
VS
191362009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19137
19138 Eliminate hexdump 4Gib barrier.
19139
19140 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19141 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19142
e1f27065
VS
191432009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19144
19145 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19146 Fixes amarsh bug.
19147
1a0f7f45
RM
191482009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19149
19150 Remove miscellaneous files in distclean target.
19151
19152 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
19153
c631d9fb
CW
191542009-12-09 Colin Watson <cjwatson@ubuntu.com>
19155
19156 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
19157 if they're already set. This resolves the conflict between my
19158 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
19159 fixing the --grub-probe option again.
19160 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19161 change on 2009-10-06, so that we now once again source
19162 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19163
7c7b6106
RM
191642009-12-08 Robert Millan <rmh.grub@aybabtu.com>
19165
19166 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
19167 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
19168 `util/devicemap.c'.
19169
e3069ec1
CPE
191702009-12-08 Carles Pina i Estany <carles@pina.cat>
19171
19172 * include/grub/misc.h (grub_printf_): New declaration.
19173 * kern/misc.c (grub_printf_): New definition.
19174 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19175 instead of `grub_printf' and `_'.
19176 * normal/menu_entry.c (store_completion): Likewise.
19177 (run): Likewise.
19178 (grub_menu_entry_run): Likewise.
19179 * normal/menu_text.c (grub_wait_after_message): Likewise.
19180 (notify_booting): Likewise.
19181 (notify_fallback): Likewise.
19182 (notify_execution_failure): Likewise.
19183
d6ceebf1
CW
191842009-12-07 Colin Watson <cjwatson@ubuntu.com>
19185
19186 * configure.ac: Check for vasprintf.
19187 * util/misc.c (asprintf): Move allocation from here ...
19188 (vasprintf): ... to here. New function.
19189 (xasprintf): New function.
19190 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19191 prototypes.
19192 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19193 * util/grub-mkfont.c (write_font): Likewise.
19194 * util/grub-probe.c (probe): Likewise.
19195 * util/hostdisk.c (make_device_name): Likewise.
19196
de6daa8b
DM
191972009-12-06 David S. Miller <davem@sunset.davemloft.net>
19198
19199 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19200 anything even prefixed with 'cdrom' as a cdrom.
19201
0ad46fd7 192022009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
19203
19204 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19205 mount points.
19206
98d3dc02
CPE
192072009-12-05 Carles Pina i Estany <carles@pina.cat>
19208
19209 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19210 grub_gettext_msg_list.
19211 (grub_gettext_gettranslation_from_position): Return const char *
19212 and not char *.
a2c1332b 19213 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
19214 returns from the list if existing there.
19215 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19216 (grub_gettext_delete_list): Delete the list.
19217 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19218 lang environment variable is changed.
19219 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19220
b283f108
VS
192212009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19222
19223 Rename kernel.mod to kernel.img.
19224
19225 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19226 (kernel_mod_EXPORTS): Rename to ...
19227 (kernel_img_EXPORTS): ... this.
19228 (kernel_mod_SOURCES): Rename to ...
19229 (kernel_img_SOURCES): ... this.
19230 (kernel_mod_HEADERS): Rename to ...
19231 (kernel_img_HEADERS): ... this. All users updated.
19232 (kernel_mod_CFLAGS): Rename to ...
19233 (kernel_img_CFLAGS): ... this.
19234 (kernel_mod_ASFLAGS): Rename to ...
19235 (kernel_img_ASFLAGS): ... this.
19236 (kernel_mod_LDFLAGS): Rename to ...
19237 (kernel_img_LDFLAGS): ... this.
19238 * conf/x86_64-efi.rmk: Likewise.
19239 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19240 (read_kernel_image): ... this. All users updated.
19241 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19242
69055f8a
CPE
192432009-12-05 Carles Pina i Estany <carles@pina.cat>
19244
19245 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19246 (print_spaces): New function.
19247 (grub_print_ucs4): New function.
19248 (getstringwidth): New function.
19249 (print_message_indented): New function.
19250 (print_message): Gettexttize strings using print_message_indented.
19251 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19252 width.
19253 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 19254 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
19255 Gettextize.
19256 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19257 string.
19258 (run): Likewise.
19259 (grub_menu_entry_run): Likewise.
19260 * PO/POTFILES: Add normal/menu_entry.c.
19261
f616f51c
VS
192622009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19263
19264 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19265
57bbe3be
CPE
192662009-12-05 Carles Pina i Estany <carles@pina.cat>
19267
19268 * util/grub-install.in: Install gettext .mo files.
19269 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19270
013d67a1
CPE
192712009-12-05 Carles Pina i Estany <carles@pina.cat>
19272
19273 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19274 grub_dprintf.
19275
fb954db0
RM
192762009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19277
19278 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19279 non-firmware-dependant one in realmode.S takes precedence.
19280
6b8474f8
RM
192812009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19282
19283 * commands/halt.c: Replace misc arch-specific headers with
19284 `<grub/misc.h>'.
19285 * commands/reboot.c: Likewise.
19286 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19287 `<grub/misc.h>'.
19288 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19289 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19290 (kernel_img_SOURCES): ... to here.
19291
19292 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19293 * include/grub/i386/pc/init.h: Likewise.
19294 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19295 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19296
19297 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19298
19299 * include/grub/i386/halt.h: Remove.
19300 * include/grub/i386/reboot.h: Likewise.
19301
19302 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19303
4b2e6ca2
DM
193042009-12-03 David S. Miller <davem@sunset.davemloft.net>
19305
19306 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19307 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19308 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19309 "progname.h"
19310 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19311 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19312 (usage): Add missing comma in printf.
19313
5239348f
RM
193142009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19315
19316 Use the same reboot approach on i386 coreboot and qemu as we do on
19317 BIOS.
19318
19319 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19320 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19321 * kern/i386/reboot.c: Remove.
19322 * include/grub/i386/reboot.h (grub_reboot): Export function.
19323 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19324 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19325 0xf000:0xfff0 instead of 0xffff:0x0000.
19326 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19327 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19328
ef34cbd4
RM
193292009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19330
19331 Fix $srcdir != $objdir build.
19332
19333 * Makefile.in (po/%.po): Rewrite as ...
19334 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19335
dc9837ea
ST
193362009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19337
19338 Fix GNU/Hurd grub-install crash.
19339 * util/grub-probe.c (probe): Try to access `path' only when it is not
19340 NULL.
19341
2f857f98
VS
193422009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 Correct module naming.
19345
19346 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19347 (GRUB_MOD_INIT(efi_uga)): ... to this
19348 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19349 (GRUB_MOD_FINI(efi_uga)): ... to this
19350 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19351 (GRUB_MOD_INIT(efi_gop)): ... to this
19352 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19353 (GRUB_MOD_FINI(efi_gop)): ... to this
19354
c5448046
RM
193552009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19356
19357 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19358 translatable.
19359 (usage): Translate `arg' strings using gettext().
19360 Thanks to Jordi Mallach for the suggestion.
19361
c85184ad
VS
193622009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 GOP support. Based on patch from Bean
19365 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19366
19367 * video/efi_gop.c: New file.
19368 * include/grub/efi/graphics_output.h: Likewise.
19369 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19370 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19371 variables.
19372 * conf/x86_64-efi.rmk: Likewise.
19373
8a4c48d8
VS
193742009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 Rename efi_fb to efi_uga.
19377
19378 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19379 'efi_uga.mod'.
19380 (efi_fb_mod_SOURCES): Rename this ...
19381 (efi_uga_mod_SOURCES): ... to this.
19382 (efi_fb_mod_CFLAGS): Rename this ...
19383 (efi_uga_mod_CFLAGS): ... to this.
19384 (efi_fb_mod_LDFLAGS): Rename this ...
19385 (efi_uga_mod_LDFLAGS): ... to this.
19386 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19387 'efi_uga.mod'.
19388 (efi_fb_mod_SOURCES): Rename this ...
19389 (efi_uga_mod_SOURCES): ... to this.
19390 (efi_fb_mod_CFLAGS): Rename this ...
19391 (efi_uga_mod_CFLAGS): ... to this.
19392 (efi_fb_mod_LDFLAGS): Rename this ...
19393 (efi_uga_mod_LDFLAGS): ... to this.
19394 * video/efi_fb.c: Move this ...
19395 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19396
fb6c1a7b
RM
193972009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19398
19399 * po/README: New file. Explain our PO file workflow.
19400
3bc7896c
RM
194012009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19402
19403 * po/ChangeLog: Remove. Move relevant entries back to ...
19404 * ChangeLog: ... here.
19405 * po/ca.po: Remove (now handled by TLP).
19406 * po/id.po: Likewise.
19407 * po/zh_CN.po: Likewise.
19408 * Makefile.in (LINGUAS): Initialize in a way that supports
19409 empty set.
19410
9ed4841d
RM
194112009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19412
19413 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19414 reliing on po/LINGUAS.
19415 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19416 (po/%.po): ... this.
19417
0ad46fd7 194182009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
19419
19420 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19421 (main): Use `program_name' instead of nonexistent `progname'.
19422
e30dd392
FZ
194232009-11-26 Felix Zielcke <fzielcke@z-51.de>
19424
19425 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19426 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19427
7656de4f
RM
194282009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19429
19430 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19431 commit.
19432 * conf/i386-efi.rmk: Likewise.
19433 * conf/i386-ieee1275.rmk: Likewise.
19434 * conf/powerpc-ieee1275.rmk: Likewise.
19435 * conf/sparc64-ieee1275.rmk: Likewise.
19436 * conf/x86_64-efi.rmk: Likewise.
19437
db77c4d4
FZ
194382009-11-26 Felix Zielcke <fzielcke@z-51.de>
19439
19440 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19441
a755bb04
FZ
194422009-11-26 Felix Zielcke <fzielcke@z-51.de>
19443
19444 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19445
8a4c07fd
RM
194462009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19447
19448 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19449 (grub_mkdevicemap_SOURCES): New variable.
19450 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19451 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19452 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19453 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19454 (grub_mkdevicemap_SOURCES): Remove.
19455 * conf/i386-efi.rmk: Likewise.
19456 * conf/i386-ieee1275.rmk: Likewise.
19457 * conf/i386-pc.rmk: Likewise.
19458 * conf/powerpc-ieee1275.rmk: Likewise.
19459 * conf/sparc64-ieee1275.rmk: Likewise.
19460 * conf/x86_64-efi.rmk: Likewise.
19461 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19462 (usage): Fix strings to use `program_name'.
19463 (main): Initialize gettext.
19464 * util/grub-editenv.c: Likewise.
19465 * util/grub-emu.c: Likewise.
19466 * util/grub-fstest.c: Likewise.
19467 * util/grub-mkdevicemap.c: Likewise.
19468 * util/grub-mkfont.c: Likewise.
19469 * util/grub-mkrelpath.c: Likewise.
19470 * util/grub-pe2elf.c: Likewise.
19471 * util/grub-probe.c: Likewise.
19472 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19473 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19474 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19475
19476 * util/misc.c: Include `"progname.h"'.
19477 (progname): Remove variable.
19478 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19479
6f61ed55
FZ
194802009-11-25 Felix Zielcke <fzielcke@z-51.de>
19481
19482 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19483 printf and print a newline after the menuentry header line.
19484 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19485
f022876b
FZ
194862009-11-25 Felix Zielcke <fzielcke@z-51.de>
19487
19488 autoconf >= 2.60 support $(localedir).
19489
19490 * INSTALL: Note that autoconf 2.60 is required.
19491 * configure.ac (AC_PREREQ): Bump to 2.60.
19492 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19493 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19494
6717926e
YB
194952009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19496
19497 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19498 aclocal is run.
19499
08806a54
RM
195002009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19501
19502 * normal/main.c (grub_normal_read_line): Fix off-by-one
19503 buffer overflow.
19504
13b33fba
RM
195052009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19506
19507 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19508 "parser.grub" in grub_command_execute() call.
19509
4a8572e9
CPE
195102009-11-24 Carles Pina i Estany <carles@pina.cat>
19511
19512 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19513 * conf/i386-efi.rmk: Likewise.
19514 * conf/i386-ieee1275.rmk: Likewise.
19515 * conf/i386-pc.rmk: Likewise.
19516 * conf/powerpc-ieee1275.rmk: Likewise.
19517 * conf/sparc64-ieee1275.rmk: Likewise.
19518 * conf/x86_64-efi.rmk: Likewise.
19519 * gettext/gettex.c: Include <grub/i18n.h>.
19520 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19521 here ...
19522 * include/grub/i18n.h: ... to here
19523 * include/grub/i18n.h: ... to here.
19524 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 19525 (grub_gettext_dummy): Move above user.
4a8572e9 19526
bee48093
FZ
195272009-11-24 Felix Zielcke <fzielcke@z-51.de>
19528
19529 * util/Makefile.in (install-local): Convert a `for' into a normal
19530 shell expansion.
19531
a031e91c
RM
195322009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19533
19534 * autogen.sh: Add automake call.
19535 * config.guess: Remove.
19536 * config.sub: Likewise.
19537 * install-sh: Likewise.
19538
26bec39d
FZ
195392009-11-24 Felix Zielcke <fzielcke@z-51.de>
19540
19541 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19542
8e2532fd
FZ
195432009-11-24 Felix Zielcke <fzielcke@z-51.de>
19544
19545 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19546 function to a normal shell `for'.
19547
fefa1b7d
FZ
195482009-11-24 Felix Zielcke <fzielcke@z-51.de>
19549
19550 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19551
4501250b
FZ
195522009-11-24 Felix Zielcke <fzielcke@z-51.de>
19553
19554 * util/grub-mkrelpath.c: New file.
19555 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19556 (grub_mkrelpath_SOURCES): New variable.
19557 * include/grub/util/misc.h: New function prototype.
19558 * util/misc.c (make_system_path_relative_to_its_root): New function.
19559
19560 * util/grub-mkconfig_lib.in (bindir): New variable.
19561 (grub_mkrelpath): Likewise.
19562 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19563
19564 * util/probe.c (probe): Make the file path relative to its root.
19565 Change a info message to use the GRUB path. Enable again the
19566 check if we can read the file with GRUB facilities.
19567
19568 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19569 to its root.
19570
11d9778b
FZ
195712009-11-24 Felix Zielcke <fzielcke@z-51.de>
19572
19573 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19574 platform.
19575
4465287d
FZ
195762009-11-24 Felix Zielcke <fzielcke@z-51.de>
19577
19578 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19579 strncmp().
19580
62b47f22
FZ
195812009-11-24 Felix Zielcke <fzielcke@z-51.de>
19582
19583 * util/getroot.c (grub_util_is_dmraid): New function.
19584 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19585 devices as normal ones, not as LVM.
19586
1eafb9b9 195872009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
19588
19589 * conf/common.rmk: Add grub-gettext_lib target and updates
19590 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19591 LDFLAGS.
19592 * gettext/gettext.c: New file. (Reads mo files).
19593 * include/grub/file.h (grub_file_pread): New prototype.
19594 * include/grub/i18n.h (_): New prototype.
19595 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19596 prototypes.
19597 * kern/misc.c (grub_gettext_dummy): New function.
19598 * normal/menu_text.c: Include <grub/i18n.h>.
19599 * normal/menu_text.c (print_timeout): Gettexttize string.
19600 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
19601 * po/POTFILES: Add `normal/menu_text.c'.
19602 * po/ca.po: Add new translations.
c3ea6bd4
CPE
19603 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19604 gettext module and defines locale_dir and lang in grub.cfg.
19605 * NEWS: Add gettext support.
19606
0fdb2568
RM
196072009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19608
19609 * util/hostdisk.c: Include `<grub/i18n.h>'.
19610 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19611 (make_device_name): Rewrite using asprintf.
19612 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19613 (find_system_device): If a device is not found, generate one just
19614 by reusing the OS path name.
19615 (read_device_map): Make it permissible for device.map not to exist.
19616
f515aa62
RM
196172009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19618
19619 * script/sh/execute.c: Move from here ...
19620 * script/execute.c: ... to here. Update all users.
19621 * script/sh/function.c: Move from here ...
19622 * script/function.c: ... to here. Update all users.
19623 * script/sh/lexer.c: Move from here ...
19624 * script/lexer.c: ... to here. Update all users.
19625 * script/sh/main.c: Move from here ...
19626 * script/main.c: ... to here. Update all users.
19627 * script/sh/parser.y: Move from here ...
19628 * script/parser.y: ... to here. Update all users.
19629 * script/sh/script.c: Move from here ...
19630 * script/script.c: ... to here. Update all users.
19631
f84b481b
RM
196322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19633
19634 * configure.ac: Detect all `emu' platforms. Define
19635 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19636 --enable-grub-emu logic. Disable include/grub/machine
19637 symlink on `emu' platforms.
19638
19639 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19640 * gensymlist.sh.in: Likewise.
19641
19642 * include/grub/i386/coreboot/machine.h: Remove file.
19643 * include/grub/i386/efi/machine.h: Likewise.
19644 * include/grub/i386/ieee1275/machine.h: Likewise.
19645 * include/grub/i386/pc/machine.h: Likewise.
19646 * include/grub/i386/qemu/machine.h: Likewise.
19647 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19648 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19649 * include/grub/x86_64/efi/machine.h: Likewise.
19650
19651 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19652 * commands/halt.c: Likewise.
19653 * commands/reboot.c: Likewise.
19654 * include/grub/autoefi.h: Likewise.
19655 * include/grub/i386/at_keyboard.h: Likewise.
19656 * include/grub/i386/kernel.h: Likewise.
19657 * include/grub/i386/loader.h: Likewise.
19658 * include/grub/i386/pc/memory.h: Likewise.
19659 * kern/dl.c: Likewise.
19660 * kern/i386/coreboot/init.c: Likewise.
19661 * loader/i386/bsd.c: Likewise.
19662 * loader/i386/linux.c: Likewise.
19663 * loader/multiboot_loader.c: Likewise.
19664 * term/i386/pc/serial.c: Likewise.
19665 * term/usb_keyboard.c: Likewise.
19666
19667 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19668 `<grub/machine/machine.h>'
19669 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19670 * util/misc.c: Remove `<grub/machine/machine.h>' and
19671 `<grub/machine/time.h>'.
19672
19673 * Makefile.in (enable_grub_emu): Remove variable.
19674 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19675
19676 * conf/any-emu.rmk: New file.
19677 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19678 (grub_emu_init.c): Move from here ...
19679 * conf/any-emu.rmk: ... to here.
19680
19681 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19682 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19683 * conf/any-emu.rmk: ... to here.
19684
4efeab03
RM
196852009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19686
19687 * include/grub/parser.h (grub_parser_register): Document need
19688 of `name' parameter.
19689 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19690 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19691 "sh" to "grub".
19692
ea1dd8bf
RM
196932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19694
19695 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19696 `$(XGETTEXT)'.
19697 * include/grub/i18n.h (N_): New macro.
19698 * util/mkisofs/mkisofs.h: Likewise.
19699 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19700 around N_().
19701 (usage): Use gettext() to translate help strings when printing them.
19702
0c140626
RM
197032009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19704
19705 Based on patch from Bean
19706 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19707
19708 * video/efi_fb.c: New file.
19709 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19710 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19711 variables.
19712 * conf/x86_64-efi.rmk: Likewise.
19713
87d58298
RM
197142009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19715
19716 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19717 * util/i386/pc/grub-setup.c: Likewise.
19718
994cc3a3
ST
197192009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19720
19721 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19722 <hurd/fs.h>
19723 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19724 file_get_storage_info to implement grub_guess_root_device.
19725
26a61d6a
FZ
197262009-11-21 Felix Zielcke <fzielcke@z-51.de>
19727
19728 * Makefile.in (target): Use make's builtin $(shell) function
19729 instead of calling directly $(SHELL) to create the locale directories,
19730 inside the $(foreach) function.
19731
74ff1dd5
FZ
197322009-11-21 Felix Zielcke <fzielcke@z-51.de>
19733
19734 * util/grub-mkrescue.in: Print an error and usage if output option
19735 has not been given.
19736
0b787d0e
FZ
197372009-11-21 Felix Zielcke <fzielcke@z-51.de>
19738
19739 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19740 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19741 root and /boot are on different devices.
19742
1164b270
RM
197432009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19744
19745 Fix build for srcdir != objdir.
19746
19747 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19748 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19749 $(srcdir).
19750 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19751 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19752 reference for input.
19753
13774a2f
RM
197542009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19755
19756 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19757 or hardlinking it). Remove -J option, Joliet is not compatible with
19758 multiple source directories.
19759
efda854e
RM
197602009-11-21 Carles Pina i Estany <carles@pina.cat>
197612009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19762
19763 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19764 (process_input_dir): New function. Process an arbitrary input
19765 directory.
19766 Misc adjustments to support both "override mode" and system-wide mode.
19767
6c09890c
FZ
197682009-11-20 Felix Zielcke <fzielcke@z-51.de>
19769
19770 * configure.ac (UNIFONT_BDF): Rename to ...
19771 (FONT_SOURCE): ... this. Update all users.
19772
a797824f
FZ
197732009-11-20 Felix Zielcke <fzielcke@z-51.de>
19774
19775 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19776 to the list of unifont files to look for.
19777
cd4f42b0
RM
197782009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19779
19780 Patch from Joe Auricchio <jauricchio@gmail.com>
19781 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19782 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19783 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19784
393c783d
FZ
197852009-11-19 Felix Zielcke <fzielcke@z-51.de>
19786
19787 * Makefile.in (install-local): Add a missing backslash.
19788
b2f1e327
FZ
197892009-11-19 Felix Zielcke <fzielcke@z-51.de>
19790
19791 * include/grub/x86_64/io.h: New file.
19792
f577f7a0
RM
197932009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19794
19795 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19796 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19797 Include `"progname.h"'.
19798 (main): Initialize gettext.
19799 * util/i386/pc/grub-setup.c: Gettexttize.
19800 * util/i386/pc/grub-mkimage.c: Likewise.
19801
19802 * Makefile.in (po/*.po): Redefine as ...
19803 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19804
3bc7896c
RM
19805 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19806
c37943b6
RM
198072009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19808
19809 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19810 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19811 (program_name): Remove.
19812 (main): Initialize gettext support.
6323f705
RM
19813 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19814 Include `<libintl.h>'.
19815 (_): New macro.
c37943b6
RM
19816
19817 * util/mkisofs/eltorito.c: Gettexttize.
19818 * util/mkisofs/joliet.c: Likewise.
19819 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
19820 * util/mkisofs/multi.c: Likewise.
19821 * util/mkisofs/rock.c: Likewise.
19822 * util/mkisofs/tree.c: Likewise.
19823 * util/mkisofs/write.c: Likewise.
19824
3bc7896c
RM
19825 * po/POTFILES: Update with new files.
19826
5ce77c6e
RM
198272009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19828
19829 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19830 * util/mkisofs/iso9660.h: Likewise.
19831 * util/mkisofs/joliet.c: Likewise.
19832 * util/mkisofs/mkisofs.c: Likewise.
19833 * util/mkisofs/mkisofs.h: Likewise.
19834 * util/mkisofs/rock.c: Likewise.
19835 * util/mkisofs/tree.c: Likewise.
19836 * util/mkisofs/write.c: Likewise.
19837
19838 * util/mkisofs/eltorito.c (rcsid): Remove.
19839 * util/mkisofs/hash.c: Likewise.
19840 * util/mkisofs/joliet.c: Likewise.
19841 * util/mkisofs/name.c: Likewise.
19842 * util/mkisofs/rock.c: Likewise.
19843 * util/mkisofs/tree.c: Likewise.
19844 * util/mkisofs/write.c: Likewise.
19845
1dabbc77
RM
198462009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19847
19848 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19849 instead of static allocation.
19850 * util/mkisofs/match.h: Likewise.
19851
633877cb
RM
198522009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19853
3bc7896c
RM
19854 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19855 and `util/grub.d/10_linux.in'.
633877cb
RM
19856 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19857 translatable Shell files.
19858
af1c0c85
RM
198592009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19860
19861 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19862
769ae37b
RM
198632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19864
19865 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 19866 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
19867 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19868 Add gettext initialization.
19869 (kfreebsd_entry): Make menuentry output translatable.
19870
198712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19872
19873 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19874 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19875 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19876 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19877 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 19878 * po/LINGUAS: New file.
769ae37b
RM
19879
198802009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19881
19882 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19883 other things).
19884 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19885 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19886 bindtextdomain() calls for gettext initialization.
19887
198882009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19889
19890 * gnulib/progname.c: New file (imported from Gnulib).
19891 * gnulib/progname.h: Likewise.
19892 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19893 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19894 (usage): Replace `progname' with `program_name'.
19895 (main): Use set_program_name() for program name initialization.
19896
198972009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19898
19899 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19900 from here ...
19901 * Makefile.in (CPPFLAGS): ... to here.
19902
199032009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19904
19905 * aclocal.m4: Move from here ...
19906 * acinclude.m4: ... to here.
19907 * autogen.sh: Add call to `aclocal'.
19908 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19909
199102009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19911
19912 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19913 (LINGUAS): New variable.
19914 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19915 (install-local): Install MO files.
19916 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19917 * include/grub/i18n.h: New file.
3bc7896c
RM
19918 * po/POTFILES: New file.
19919 * po/ca.po: New file.
769ae37b
RM
19920 * util/grub.d/10_linux.in (bindir): New variable.
19921 Add gettext initialization.
19922 (linux_entry): Make menuentry output translatable.
19923 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19924 (usage): Make --help output translatable.
19925 (main): Initialize gettext.
19926
02c0a6ad
RM
199272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19928
19929 * import_gcry.py: New file (written by Vladimir with minor
19930 adjustments).
19931 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19932 ciphers.
19933 * INSTALL: Document that Python is required for bootstrap.
19934
199352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19936
19937 Import ciphers from libgcrypt 1.4.4.
19938
19939 * lib/libgcrypt/cipher/ChangeLog
19940 * lib/libgcrypt/cipher/ac.c
19941 * lib/libgcrypt/cipher/arcfour.c
19942 * lib/libgcrypt/cipher/bithelp.h
19943 * lib/libgcrypt/cipher/blowfish.c
19944 * lib/libgcrypt/cipher/camellia-glue.c
19945 * lib/libgcrypt/cipher/camellia.c
19946 * lib/libgcrypt/cipher/camellia.h
19947 * lib/libgcrypt/cipher/cast5.c
19948 * lib/libgcrypt/cipher/cipher.c
19949 * lib/libgcrypt/cipher/crc.c
19950 * lib/libgcrypt/cipher/des.c
19951 * lib/libgcrypt/cipher/dsa.c
19952 * lib/libgcrypt/cipher/ecc.c
19953 * lib/libgcrypt/cipher/elgamal.c
19954 * lib/libgcrypt/cipher/hash-common.c
19955 * lib/libgcrypt/cipher/hash-common.h
19956 * lib/libgcrypt/cipher/hmac-tests.c
19957 * lib/libgcrypt/cipher/md.c
19958 * lib/libgcrypt/cipher/md4.c
19959 * lib/libgcrypt/cipher/md5.c
19960 * lib/libgcrypt/cipher/primegen.c
19961 * lib/libgcrypt/cipher/pubkey.c
19962 * lib/libgcrypt/cipher/rfc2268.c
19963 * lib/libgcrypt/cipher/rijndael-tables.h
19964 * lib/libgcrypt/cipher/rijndael.c
19965 * lib/libgcrypt/cipher/rmd.h
19966 * lib/libgcrypt/cipher/rmd160.c
19967 * lib/libgcrypt/cipher/rsa.c
19968 * lib/libgcrypt/cipher/seed.c
19969 * lib/libgcrypt/cipher/serpent.c
19970 * lib/libgcrypt/cipher/sha1.c
19971 * lib/libgcrypt/cipher/sha256.c
19972 * lib/libgcrypt/cipher/sha512.c
19973 * lib/libgcrypt/cipher/tiger.c
19974 * lib/libgcrypt/cipher/twofish.c
19975 * lib/libgcrypt/cipher/whirlpool.c
19976
af2f93ac
RM
199772009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19978
19979 Fix build for systems without error().
19980
19981 * gnulib/error.c: New file (imported from Gnulib).
19982 * gnulib/error.h: Likewise.
19983 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19984 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19985 (this variable is now used by error()).
19986
73fb3dd5
FZ
199872009-11-16 Felix Zielcke <fzielcke@z-51.de>
19988
814f5e96
FZ
19989 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19990 instead of relying that char is signed.
73fb3dd5 19991
a691ca33
VS
199922009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19993
19994 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19995 blocksize different from specified.
19996 (grub_pxefs_read): Likewise.
19997
2af8f0f4
FZ
199982009-11-16 Felix Zielcke <fzielcke@z-51.de>
19999
20000 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
20001
20002 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
20003 (grub_ata_readwrite): Likewise. Update 2 format strings.
20004 (grub_atapi_read): Likewise.
20005
20006 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
20007 * conf/i386.rmk (pkglib_MODULES): ... to here ...
20008 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
20009 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
20010 (ata_mod_LDFLAGS): Move from here ...
20011 * conf/i386.rmk: ... to here ...
20012 * conf/x86_64-efi.rmk: ... and here.
20013 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
20014 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
20015
83bdecaf
RM
200162009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20017
20018 Relicense multiboot.h, with RMS' blessing.
20019
20020 * include/multiboot.h: Change to X11 license.
20021
fd6fd3d7
RM
200222009-11-15 Robert Millan <rmh.grub@aybabtu.com>
20023
20024 Support --version in grub-mkisofs.
20025
20026 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
20027 (OPTION_VERSION): New macro.
20028 (ld_options): Recognize --version.
20029 (usage): Move `program_name' from here ...
20030 (program_name): ... to here. Add `static' qualifier.
20031 (main): Recognize `OPTION_VERSION'.
20032
16a88c49
FZ
200332009-11-15 Felix Zielcke <fzielcke@z-51.de>
20034
20035 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
20036 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
20037
a4158476
RM
200382009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20039
20040 Fix help2man generation for mkisofs.
20041
20042 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
20043 (usage): Send output to stdout (rather than stderr).
20044
fc2208b0
RM
200452009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20046
20047 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
20048 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20049 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20050 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20051 (bin_SCRIPTS): Add `grub-mkfloppy'.
20052 (grub_mkfloppy_SOURCES): New variable.
20053
20054 * util/grub-mkrescue.in: New file.
20055 * util/i386/pc/grub-mkfloppy.in: New file.
20056
20057 * util/i386/coreboot/grub-mkrescue.in: Remove.
20058 * util/i386/pc/grub-mkrescue.in: Remove.
20059
8d0edf4a
RM
200602009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20061
20062 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20063 from here ...
20064 * include/multiboot.h (struct multiboot_header): ... to here. Update
20065 all users.
20066 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20067 from here ...
20068 * include/multiboot.h (struct multiboot_info): ... to here. Update
20069 all users.
20070 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20071 from here ...
20072 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20073 Update all users.
20074 * include/grub/multiboot.h (struct grub_mod_list): Move
20075 from here ...
20076 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20077 Update all users.
20078
a73f5969
RM
200792009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20080
20081 * include/multiboot2.h (multiboot_word): Rename from this ...
20082 (multiboot2_word): ... to this. Update all users.
20083 (multiboot_header): Rename from this ...
20084 (multiboot2_header): ... to this. Update all users.
20085 (multiboot_tag_header): Rename from this ...
20086 (multiboot2_tag_header): ... to this. Update all users.
20087 (multiboot_tag_start): Rename from this ...
20088 (multiboot2_tag_start): ... to this. Update all users.
20089 (multiboot_tag_name): Rename from this ...
20090 (multiboot2_tag_name): ... to this. Update all users.
20091 (multiboot_tag_module): Rename from this ...
20092 (multiboot2_tag_module): ... to this. Update all users.
20093 (multiboot_tag_memory): Rename from this ...
20094 (multiboot2_tag_memory): ... to this. Update all users.
20095 (multiboot_tag_unused): Rename from this ...
20096 (multiboot2_tag_unused): ... to this. Update all users.
20097 (multiboot_tag_end): Rename from this ...
20098 (multiboot2_tag_end): ... to this. Update all users.
20099
1c8927f0
RM
201002009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20101
20102 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20103 this platform we should support Multiboot1 first.
20104
20105 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20106 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20107 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20108
6e1e0d89
RM
201092009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20110
20111 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20112 of write calls (converting them to fwrite() if they aren't already).
20113 (get_torito_desc): Likewise.
20114 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20115
7f2b34d8
RM
201162009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20117
20118 * util/i386/pc/grub-install.in: Move from here ...
20119 * util/grub-install.in: ... to here. Update all users.
20120
c0ef3311
CW
201212009-11-11 Colin Watson <cjwatson@ubuntu.com>
20122
20123 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20124
e1f240ff
RM
201252009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20126
20127 Support for El Torito without floppy emulation.
20128
20129 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20130 (init_boot_catalog): Improve error handling.
20131 (get_torito_desc): Don't use floppy emulation unless requested by
20132 user. Patch boot information table when requested via
20133 `-boot-info-table'.
20134 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20135 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20136 (use_boot_info_table): New variables.
20137 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20138 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20139 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20140 `--eltorito-emul-floppy'.
20141 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20142 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20143 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20144 (use_boot_info_table, get_731): New prototypes.
20145 * util/mkisofs/write.c (get_731): New function.
20146
af7d4de5
FZ
201472009-11-11 Felix Zielcke <fzielcke@z-51.de>
20148
20149 Fix the generation of the man page.
20150
20151 * util/pc/i386/grub-install.in: Source
20152 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20153
2c55dbc0
RM
201542009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20155
20156 Large file support for grub-mkisofs.
20157
20158 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
20159 * util/mkisofs/mkisofs.c (next_extent, last_extent)
20160 (session_start): Upgrade type to `uint64_t'. Update all users.
20161 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
20162 (struct directory_entry): Upgrade type of `starting_block' and
20163 `size' to `uint64_t'. Update all users.
20164 (struct deferred): Remove unused structure.
20165 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
20166 Update all users.
20167 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
20168 file is larger than `UINT32_MAX'.
20169 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20170 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20171 return value.
20172 (struct deferred_write): Upgrade type of `extent' and `size' to
20173 `uint64_t'. Update all users.
20174 (last_extent_written): Upgrade type to `uint64_t'. Update all
20175 users.
20176 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20177 Update all users. Upgrade type of `remain' to `int64_t' and
20178 `use' to `size_t'. Use error() to handle fread() errors.
20179 (write_files): Rely on write_one_file() rather than calling
20180 xfwrite() directly.
20181
6a9cead5
FZ
201822009-11-09 Felix Zielcke <fzielcke@z-51.de>
20183
20184 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20185
4825d790
RM
201862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20187
20188 * util/mkisofs/fnmatch.c: Remove.
20189 * util/mkisofs/getopt1.c: Likewise.
20190 * util/mkisofs/getopt.c: Likewise.
20191 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20192 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20193 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20194 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20195 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20196
20197 * configure.ac: Detect `mingw32msvc' host_os.
20198 Check for lstat(), getuid() and getgid().
20199
20200 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20201 instances of `u_char' with `uint8_t'.
20202
20203 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20204 [!HAVE_GETUID] (getuid): New function (stub).
20205 [!HAVE_GETGID] (getgid): Likewise.
20206 [!HAVE_LSTAT] (lstat): Likewise.
20207 [!S_IROTH] (S_IROTH): New macro (dummy).
20208 [!S_IRGRP] (S_IRGRP): Likewise.
20209
84b860d8
RM
202102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20211
20212 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20213 conditional expression).
20214
66e9b712
RM
202152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20216
20217 Import from Gnulib.
20218
20219 * gnulib/fnmatch.c: New file.
20220 * gnulib/fnmatch.h: Likewise.
20221 * gnulib/fnmatch_loop.c: Likewise.
20222 * gnulib/getopt.c: Likewise.
20223 * gnulib/getopt.h: Likewise.
20224 * gnulib/getopt1.c: Likewise.
20225 * gnulib/getopt_int.h: Likewise.
20226 * gnulib/gettext.h: Likewise.
20227
34f4a5b0
RM
202282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20229
20230 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20231 * normal/handler.c (read_handler_list): Likewise.
20232
ac451143
RM
202332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20234
20235 Misc cleanup.
20236
20237 * kern/command.c (grub_register_command_prio): Use
20238 grub_zalloc() instead of explicitly zeroing data.
20239 * kern/list.c: Include `<grub/mm.h>'.
20240 (grub_named_list_find): Replace `0' with `NULL'.
20241 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20242 (fs_module_list): Change type to `grub_named_list_t'. Update all
20243 users.
20244 * normal/dyncmd.c (read_command_list): Add space between function
20245 call and parenthesis.
20246 * normal/handler.c (read_handler_list): Likewise.
20247
4089b167
RM
202482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20249
20250 * normal/auth.c (punishment_delay): Moved from here ...
20251 (grub_auth_strcmp): ... to here (inside function).
20252
325f5037
RM
202532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20254
20255 * include/grub/list.h (struct grub_named_list): Remove `const'
20256 qualifier from `name'.
20257 (struct grub_prio_list): Likewise.
20258
7aea29a3
RM
202592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20260
20261 * normal/auth.c: Include `<grub/time.h>'.
20262 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20263
3fd6f044
RM
202642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20265
20266 * normal/auth.c (punishment_delay): New variable.
20267 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20268 (grub_auth_check_authentication): Punish failed login attempts with
20269 an incremental (2^N) delay.
20270
a4cd68e4
RM
202712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20272
20273 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20274 path with $(srcdir).
20275
7ad12f43
VS
202762009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20277
20278 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20279
c1129f03
RM
202802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20281
20282 * util/i386/coreboot/grub-mkrescue.in: New file.
20283 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20284 variables.
20285
20286 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20287 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20288 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20289 requirements.
20290 * util/mkisofs/defaults.h: New file.
20291 * util/mkisofs/eltorito.c: Likewise.
20292 * util/mkisofs/exclude.h: Likewise.
20293 * util/mkisofs/fnmatch.c: Likewise.
20294 * util/mkisofs/getopt.c: Likewise.
20295 * util/mkisofs/getopt1.c: Likewise.
20296 * util/mkisofs/hash.c: Likewise.
20297 * util/mkisofs/include/fctldefs.h: Likewise.
20298 * util/mkisofs/include/mconfig.h: Likewise.
20299 * util/mkisofs/include/prototyp.h: Likewise.
20300 * util/mkisofs/include/statdefs.h: Likewise.
20301 * util/mkisofs/iso9660.h: Likewise.
20302 * util/mkisofs/joliet.c: Likewise.
20303 * util/mkisofs/match.c: Likewise.
20304 * util/mkisofs/match.h: Likewise.
20305 * util/mkisofs/mkisofs.c: Likewise.
20306 * util/mkisofs/mkisofs.h: Likewise.
20307 * util/mkisofs/multi.c: Likewise.
20308 * util/mkisofs/name.c: Likewise.
20309 * util/mkisofs/rock.c: Likewise.
20310 * util/mkisofs/tree.c: Likewise.
20311 * util/mkisofs/write.c: Likewise.
20312
ec8bb77d
VS
203132009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20316 being insecure.
20317
3716b12c
RM
203182009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20319
20320 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20321 `grub-mkimage' (and use $0 when possible).
20322
b97b7b91
RM
203232009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20324
20325 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20326 error message for excessively large memory map.
20327
04114812
RM
203282009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20329
20330 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20331 executable bit.
20332
e4eb2373
RM
203332009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20334
20335 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20336 message for coreboot users.
20337
c926e1d5 203382009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20339
20340 Fix build with GNU gold.
20341
20342 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20343 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20344 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20345 link addresses.
20346 * aclocal.m4: Likewise.
20347
86e5b1db 203482009-11-04 Felix Zielcke <fzielcke@z-51.de>
20349
20350 * configure.ac (AC_PREREQ): Bump to 2.59d.
20351 * INSTALL: Make it more clear when Autoconf and Ruby are
20352 needed and when to run `./autogen.sh'.
20353
246cd78f 203542009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20355
20356 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20357 OSes.
20358
4f9dfb37 203592009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20360
20361 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20362
b82bd5e1 203632009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20364
20365 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20366 giving it to GNU Mach.
20367
ff1a9bca 203682009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20369
20370 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20371 GNU partition number to get internal GRUB partition number.
20372
61697d9c 203732009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20374
20375 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20376 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20377
a50569e1 203782009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20379
20380 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20381 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20382 case.
20383
5b153867 203842009-11-01 Felix Zielcke <fzielcke@z-51.de>
20385
20386 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20387
d9e2cd70 203882009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20389
20390 Fix build problem.
20391
20392 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20393 `-isystem=$(srcdir)/include'.
20394
805111a4 203952009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20396
20397 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20398 checked (grub-install doesn't currently rely on it).
20399
fa6e945f 204002009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20401
20402 Revert SVN r2660.
20403
20404 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20405 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20406 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20407 * conf/i386-ieee1275.rmk: Likewise.
20408 * conf/i386-pc.rmk: Likewise.
20409 * conf/powerpc-ieee1275.rmk: Likewise.
20410 * conf/sparc64-ieee1275.rmk: Likewise.
20411 * conf/x86_64-efi.rmk: Likewise.
20412
cee15086 204132009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20414
20415 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20416
95b9239e 204172009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20418
20419 * include/grub/misc.h: Stop checking for APPLE_CC.
20420
2ed19dfd 204212009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20422
20423 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20424 doesn't cause an infinite call loop.
20425
fdcdde19 204262009-10-28 Felix Zielcke <fzielcke@z-51.de>
20427
20428 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20429 strings.
20430
cefabfe1 204312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20432
20433 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20434 variable.
20435 * Makefile.in: Likewise.
20436
ed96ab6d 204372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20438
20439 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20440
0579b753 204412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20442
20443 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20444
478df409 204452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20446
20447 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20448
083d1679 204492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20450
20451 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20452 from here ...
20453 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20454
5947ae32 204552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20456
20457 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20458 in $(MAKEINFO) invocation. This makes it clear in output that
20459 errors are being ignored.
20460
94180ff6 204612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20462
20463 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20464 from here ...
20465 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20466 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20467 * conf/i386-ieee1275.rmk: Likewise.
20468 * conf/i386-pc.rmk: Likewise.
20469 * conf/powerpc-ieee1275.rmk: Likewise.
20470 * conf/sparc64-ieee1275.rmk: Likewise.
20471 * conf/x86_64-efi.rmk: Likewise.
20472
9031b03a 204732009-10-26 Colin Watson <cjwatson@ubuntu.com>
20474
20475 * util/grub-editenv.c (main): If only a command is given, use
20476 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20477 (usage): FILENAME is now optional and has a default.
20478
e4f6809b 204792009-10-26 Colin Watson <cjwatson@ubuntu.com>
20480
20481 Improve grub-mkconfig performance when there are several menu
20482 entries on a single filesystem.
20483
20484 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20485 prepare_grub_to_access_device.
20486 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20487 * util/grub.d/30_os-prober.in: Likewise.
20488
67937d4d 204892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20490
20491 * util/grub.d/10_freebsd.in: Remove.
20492 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20493 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20494
ee3756cc 204952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20496
5c35048e 20497 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 20498
4dea1c6f 204992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20500
20501 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20502 grub_util_error() call.
20503
042484d7 205042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20505
20506 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20507 `reserved_first_sector' member.
20508 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20509 `reserved_first_sector' to 1.
20510 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20511 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20512 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20513 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20514 filesystems which begin at first sector.
20515 (options): New option --skip-fs-probe.
20516 (main): Handle --skip-fs-probe and pass it to setup().
20517
d64448a7 205182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20519
20520 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20521 (memset): Fix function prototype.
20522
508d42ec 205232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
205242009-10-25 Vasily Averin <vvs@parallels.com>
20525
20526 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20527 `dirent.direntlen == 0'.
20528
b240e30c 205292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20530
20531 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20532 `cpio'.
20533 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20534
346e7fbe 205352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20536
20537 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20538 `__trampoline_setup' and `__ucmpdi2'.
20539 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20540 that libgcc provides.
20541
cdb308b0 205422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20543
20544 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20545 * include/grub/sparc64/libgcc.h (memset): Likewise.
20546 * include/grub/misc.h (memset, memcmp): New function prototypes.
20547
fb26abc2 205482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20549
20550 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20551 `cpio'.
20552 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20553
f6693890 205542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20555
20556 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20557 * docs/grub.cfg: Compensate for recent change in multiboot
20558 loader (since 2009-08-14 it won't pass filename to payload).
20559 * util/grub.d/10_hurd.in: Likewise.
20560
0933cdc0 205612009-10-21 Felix Zielcke <fzielcke@z-51.de>
20562
20563 * config.guess: Update to latest version from config git
20564 repository.
20565 * config.sub: Likewise.
20566
3b2fe8c2 205672009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20568
20569 Fix build on sparc64.
20570
20571 * configure.ac: Perform checks for libgcc symbols before
20572 adding `-nostdlib' to LDFLAGS.
20573
46695a62 205742009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 Let user specify OpenBSD root device.
20577
20578 * loader/i386/bsd.c (openbsd_root): New variable.
20579 (openbsd_opts): New option 'root'.
20580 (OPENBSD_ROOT_ARG): New macro.
20581 (grub_openbsd_boot): Use 'openbsd_root'.
20582 (grub_cmd_openbsd): Fill 'openbsd_root'.
20583
d2b6b7fc 205842009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20585
20586 * NEWS: Misc adjustments.
20587
421bd7ac 205882009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20589
20590 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20591
f1d29d87 205922009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20593
20594 * configure.ac: Bump version to 1.97.
20595
6f3cd880 205962009-10-16 Colin Watson <cjwatson@ubuntu.com>
20597
20598 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20599 -mno-3dnow on x86 architectures. Some toolchains enable these
20600 features by default, but they rely on registers that aren't enabled
20601 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20602
035f7122 206032009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20604
20605 Make entry text a bit more readable.
20606
20607 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20608
44998e58 206092009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20612
cd2851b3 206132009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20614
20615 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20616 operations.
20617
c6f3b249 206182009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 * configure.ac: Add missing dollar.
20621
6b5886ba 206222009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20623
20624 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20625
20626 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20627 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20628 exports.
20629 * include/grub/sparc64/libgcc.h: Likewise. Use
20630 preprocessor conditionals.
20631
e9d66f6d 206322009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20633
20634 * conf/common.rmk (grub-dumpbios): Remove rule.
20635 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20636 * util/grub-dumpbios.in: Remove file.
20637
9155bc17 206382009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20639
20640 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20641 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20642
20643 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20644 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20645 users.
20646
20647 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20648 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20649 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20650 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20651 users.
20652
bf7f7a18 206532009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20654
20655 * term/tparm.c: Switch to GPLv3.
20656
86564c26 206572009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20658
20659 * include/grub/i386/cpuid.h: Add header protection.
20660
5c936493 206612009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20662
20663 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20664
20665 * include/grub/i386/cpuid.h: New file.
20666 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20667 (has_longmode): Rename to ...
20668 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20669 `static' attribute.
20670 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20671 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20672 on a CPU that doesn't implement AMD64 instruction set.
20673
186e7cf2 206742009-10-06 Colin Watson <cjwatson@ubuntu.com>
20675
20676 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20677 that version.texi is rebuilt on version number changes.
20678
83b65c4a 206792009-10-06 Colin Watson <cjwatson@ubuntu.com>
20680
20681 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20682 Fixes bug #27602.
20683
d244281c 206842009-10-06 Colin Watson <cjwatson@ubuntu.com>
20685
20686 * util/i386/pc/grub-install.in: Source
20687 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20688 that the --grub-probe option will work.
20689 * util/sparc64/ieee1275/grub-install.in: Likewise.
20690
da25306d 206912009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20692
20693 * configure.ac: Bump version to 1.97~beta4.
20694
e8ee83c0 206952009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20696
20697 Resync grub-mkdevicemap in x86_64-efi.
20698
20699 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20700 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20701 `util/devicemap.c'.
20702
50dcabcf 207032009-10-01 Colin Watson <cjwatson@ubuntu.com>
20704
20705 * util/grub-editenv.c (create_envblk_file): Write new block with a
20706 .new suffix and then rename it into place, to ensure atomic
20707 creation.
20708
0e51c3a7 207092009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20710
20711 Do not automatically install headers.
20712
20713 * Makefile.in (include_DATA): Remove. Update all users.
20714
31299a95 207152009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20716
20717 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20718 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20719
20720 * util/osdetect.lua: Remove.
20721 * script/lua/lauxlib.c: Likewise.
20722 * script/lua/ldebug.c: Likewise.
20723 * script/lua/grub_main.c: Likewise.
20724 * script/lua/lauxlib.h: Likewise.
20725 * script/lua/ldebug.h: Likewise.
20726 * script/lua/ltablib.c: Likewise.
20727 * script/lua/liolib.c: Likewise.
20728 * script/lua/lstrlib.c: Likewise.
20729 * script/lua/lualib.h: Likewise.
20730 * script/lua/ldo.c: Likewise.
20731 * script/lua/ldump.c: Likewise.
20732 * script/lua/ldo.h: Likewise.
20733 * script/lua/loslib.c: Likewise.
20734 * script/lua/lundump.c: Likewise.
20735 * script/lua/grub_lib.c: Likewise.
20736 * script/lua/ldblib.c: Likewise.
20737 * script/lua/lundump.h: Likewise.
20738 * script/lua/lmem.c: Likewise.
20739 * script/lua/grub_lib.h: Likewise.
20740 * script/lua/lmathlib.c: Likewise.
20741 * script/lua/lstate.c: Likewise.
20742 * script/lua/ltm.c: Likewise.
20743 * script/lua/lvm.c: Likewise.
20744 * script/lua/lmem.h: Likewise.
20745 * script/lua/lstate.h: Likewise.
20746 * script/lua/ltm.h: Likewise.
20747 * script/lua/ltable.c: Likewise.
20748 * script/lua/lvm.h: Likewise.
20749 * script/lua/llex.c: Likewise.
20750 * script/lua/lgc.c: Likewise.
20751 * script/lua/grub_lua.h: Likewise.
20752 * script/lua/loadlib.c: Likewise.
20753 * script/lua/lfunc.c: Likewise.
20754 * script/lua/lopcodes.c: Likewise.
20755 * script/lua/lparser.c: Likewise.
20756 * script/lua/ltable.h: Likewise.
20757 * script/lua/llex.h: Likewise.
20758 * script/lua/lgc.h: Likewise.
20759 * script/lua/lfunc.h: Likewise.
20760 * script/lua/lbaselib.c: Likewise.
20761 * script/lua/lopcodes.h: Likewise.
20762 * script/lua/lparser.h: Likewise.
20763 * script/lua/lzio.c: Likewise.
20764 * script/lua/linit.c: Likewise.
20765 * script/lua/lobject.c: Likewise.
20766 * script/lua/llimits.h: Likewise.
20767 * script/lua/lstring.c: Likewise.
20768 * script/lua/lzio.h: Likewise.
20769 * script/lua/lapi.c: Likewise.
20770 * script/lua/lcode.c: Likewise.
20771 * script/lua/lua.h: Likewise.
20772 * script/lua/lobject.h: Likewise.
20773 * script/lua/lstring.h: Likewise.
20774 * script/lua/lapi.h: Likewise.
20775 * script/lua/lcode.h: Likewise.
20776 * script/lua/luaconf.h: Likewise.
20777
cb8a2c38 207782009-09-26 Colin Watson <cjwatson@ubuntu.com>
20779
20780 * docs/grub.texi (Command-line and menu entry commands): Document
20781 date and echo commands.
20782
6b9b6276 207832009-09-24 Pavel Roskin <proski@gnu.org>
20784
20785 * include/grub/kernel.h (struct grub_module_header): Remove
20786 `grub_module_header_types'. Make `type' unsigned. Make `size'
20787 32-bit on all platforms.
20788 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20789 8-bit field. Use grub_host_to_target32() for `size'.
20790 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20791 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20792 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20793
4e5a02a7 207942009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20795
20796 Fix "lost keypress" bug in at_keyboard.
20797
20798 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20799 Checks for readyness of input buffer (without flushing it).
20800 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20801 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20802
c6dcedf6 208032009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20804
20805 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20806 size check within GRUB_MACHINE_PCBIOS section.
20807
74c958b1 208082009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20809
20810 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20811 return value.
20812 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20813 KEYBOARD_ISREADY check.
20814 (grub_at_keyboard_checkkey): Rename to ...
20815 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20816 Remove gratuitous cast.
20817
ff420223 208182009-09-23 Colin Watson <cjwatson@ubuntu.com>
20819
20820 * configure.ac: Call AC_PROG_MKDIR_P.
20821 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20822 version.texi in $(builddir) rather than $(srcdir).
20823 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20824 to makeinfo's @include search path.
20825
d96875df 208262009-09-23 Felix Zielcke <fzielcke@z-51.de>
20827
20828 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20829
9b3f8365 208302009-09-23 Felix Zielcke <fzielcke@z-51.de>
20831
20832 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20833 for `*.dpkg-new'.
20834
c44c90db 208352009-09-21 Colin Watson <cjwatson@ubuntu.com>
20836
20837 Build info documentation. Some code borrowed from Automake.
20838
20839 * configure.ac: Check for makeinfo.
20840 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20841 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20842 docs/version.texi.
20843 (MOSTLYCLEANFILES): Add vti.tmp.
20844 (docs/version.texi, docs/stamp-vti): Update automatically.
20845 (docs/grub.info): Build info documentation. Use --force and ignore
20846 errors for now.
20847 (all-local): Add $(INFOS).
20848 (install-local): Install info files.
20849 (uninstall): Uninstall info files.
20850 * docs/version.texi: Remove from revision control. This file is
20851 automatically generated on build now.
20852 * gendistlist.sh: Add `*.info'.
20853
e0b37bb5 208542009-09-21 Felix Zielcke <fzielcke@z-51.de>
20855
20856 * kern/term.c: Fix indentation.
20857
5a78865b 208582009-09-21 Felix Zielcke <fzielcke@z-51.de>
20859
20860 * util/hostdisk.c: Fix a comment.
20861
dace7e8a 208622009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20863
20864 Fix regression introduced in r2539.
20865
20866 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20867 to 0xA1.
20868
a83d079b 208692009-09-19 Colin Watson <cjwatson@ubuntu.com>
20870
20871 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 20872 os-prober. Under normal operation, it does not print anything to
20873 stderr; if it does, we need to debug it, and throwing away stderr
20874 makes that excessively difficult.
a83d079b 20875
be94a509 208762009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20877
20878 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20879
63f745e8 208802009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20881
20882 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20883 AC_LANG_PROGRAM from autoconf.
20884 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20885 prototypes (fixes warning).
20886
20887 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20888 `--disable-werror' was used.
20889
bbb2a70f 208902009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20891
20892 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20893 uninitialized `lastaddr'.
20894
77c24f1d 208952009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20896
0f0b8c87 20897 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 20898
07197f23 208992009-09-14 Colin Watson <cjwatson@ubuntu.com>
20900
20901 * commands/test.c (get_fileinfo): Return immediately if
20902 grub_fs_probe fails.
20903
dabf1798 209042009-09-14 José Martínez <xosemp@gmail.com>
20905
20906 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20907
d52109a7 209082009-09-14 Colin Watson <cjwatson@ubuntu.com>
20909
20910 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20911 output.
20912
56532179 209132009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20914
20915 * configure.ac: Remove --enable-grub-pe2elf. Only build
20916 grub-pe2elf when needed by the build system itself.
20917 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20918
8ef070f5 209192009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20920
20921 * configure.ac: Bump version to 1.97~beta3.
20922 * docs/version.texi: Likewise.
20923
61229557 209242009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20925
20926 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20927 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20928 from here ...
20929 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20930 (grub_linux_setup_video): ... to here (with some adjustments).
20931
5c9f8d84 209322009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20933
20934 Fix memory corruption issue (spotted by Colin Watson).
20935
20936 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20937 causing returned size to be stored in an incorrect memory location.
20938 Fix use of uninitialized value when storing the returned size.
20939
e8f5d6e9 209402009-09-12 Yves Blusseau <blusseau@zetam.org>
20941
20942 Change clean rules to properly remove files
20943
20944 * genmk.rb: add new clean rules
20945 * Makefile.in (clean): add the new targets
20946 (mostlyclean): likewise
20947
cda2a409 209482009-09-11 Colin Watson <cjwatson@ubuntu.com>
20949
20950 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20951 to grub_uint64_t.
20952 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20953 non-resident files.
20954
86695375 209552009-09-11 Colin Watson <cjwatson@ubuntu.com>
20956
20957 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20958 part of bug #27349.
20959
8aa1541a 209602009-09-10 Felix Zielcke <fzielcke@z-51.de>
20961
20962 * util/grub-mkconfig.in: Make the created config mode 400 and
20963 print a warning if it fails.
20964
48d9bb0a 209652009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20966
20967 * util/grub.d/40_custom.in: Ask user to type custom entries below
20968 comment, rather than below 'exec tail' line.
20969
3b0521be 209702009-09-10 Colin Watson <cjwatson@ubuntu.com>
20971
20972 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20973 visible in grub.cfg.
20974
50051d55 209752009-09-10 Colin Watson <cjwatson@ubuntu.com>
20976
20977 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20978 file.
20979
c0d34387 209802009-09-10 Felix Zielcke <fzielcke@z-51.de>
20981
20982 * docs/grub.cfg: Add an example menu entry for memtest86+.
20983
80a608f3 209842009-09-09 Felix Zielcke <fzielcke@z-51.de>
20985
a2094832 20986 * config.guess: Update to latest version from config git.
80a608f3 20987 * config.sub: Likewise.
20988
99423078 209892009-09-08 Colin Watson <cjwatson@ubuntu.com>
20990
20991 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20992 unknown-command case. Fixes bug #27320.
20993
44454e4c 209942009-09-08 Felix Zielcke <fzielcke@z-51.de>
20995
20996 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20997 `help' if the command exists.
20998
e30d87ad 209992009-09-06 Robert Millan <rmh.grub@aybabtu.com>
21000
21001 * INSTALL: Require GCC 4.1.3 or later.
21002
9a86f1ec 210032009-09-06 Yves Blusseau <blusseau@zetam.org>
21004
21005 * Makefile.in (RMKFILES): add i386-qemu.rmk
21006 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
21007 $(srcdir)/stamp-h.in
21008
7f26d466 210092009-09-05 Robert Millan <rmh.grub@aybabtu.com>
21010
21011 * util/grub-probe.c (probe): Comment out buggy codepath, which
21012 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
21013 should be re-enabled after 1.97.
21014
3a613259 210152009-09-05 Felix Zielcke <fzielcke@z-51.de>
21016
21017 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
21018 find searches for.
21019
197f76c7 210202009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21021
21022 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
21023 unnecessary calls to grub_error.
21024
70ba68ce 210252009-09-04 Colin Watson <cjwatson@ubuntu.com>
21026
21027 * NEWS: Mention `keystatus' and Unicode fonts.
21028
4ff0d7a4 210292009-09-04 Robert Millan <rmh.grub@aybabtu.com>
21030
21031 * configure.ac: Bump version to 1.97~beta2.
21032 * docs/version.texi: Likewise.
21033
77c55a87 210342009-09-03 Colin Watson <cjwatson@ubuntu.com>
21035
21036 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
21037 containing unwind information in some cases where it previously did
21038 not. Use -fno-dwarf2-cfi-asm if available to restore the old
21039 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
21040 discussion.
21041
f79572cd 210422009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
21043
21044 Embedding loadenv module into grub-emu
21045
21046 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
21047 commands/loadenv.c
21048 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21049 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21050 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21052 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21053 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21054
93a81088 210552009-09-03 Magnus Granberg <zorry@ume.nu>
21056
21057 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21058 include -fPIE in the default specs.
21059 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21060 to TARGET_CFLAGS.
21061
160034b2 210622009-09-03 Felix Zielcke <fzielcke@z-51.de>
21063
21064 * INSTALL: Note that GNU Bison 2.3 or later is required.
21065
087c07c4 210662009-09-03 Colin Watson <cjwatson@ubuntu.com>
21067
21068 * kern/i386/pc/startup.S: Fix typo.
21069
cbf978c0 210702009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21071
21072 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21073 according to GCS.
21074
210752009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 21076
21077 * docs/grub.texi (Naming convention): Describe one-based partition
21078 numbering.
21079 (Device syntax): Likewise.
21080 (File name syntax): Likewise.
21081 (Block list syntax): Likewise.
21082 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21083 menu.lst.
21084 (File name syntax): Likewise.
21085 (Command-line and menu entry commands): Document acpi, blocklist,
21086 crc, export, insmod, keystatus, ls, set, and unset commands.
21087
f3e8cdfd 210882009-09-02 Colin Watson <cjwatson@ubuntu.com>
21089
21090 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21091 to avoid implying that only one of --shift, --ctrl, or --alt may be
21092 used.
21093
c0bc232b 210942009-09-02 Colin Watson <cjwatson@ubuntu.com>
21095
21096 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21097 rather than comparing against S_IFREG, which will almost never work.
21098
aa0f752d 210992009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21100
21101 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21102 (write_blocklists): Likewise.
21103
ecb3166a 211042009-09-01 Colin Watson <cjwatson@ubuntu.com>
21105
21106 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21107 argument to grub_printf.
21108
c403a125 211092009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 21110
21111 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 21112 non GNU test.
31aba781 21113
b5e7312c 211142009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 * kern/file.c (grub_file_read): Spelling fix
21117
fe00f472 211182009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21119
21120 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21121 loading of headers in some cases.
21122
cc55302e 211232009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21124
21125 * configure.ac: Bump version to 1.97~beta1.
21126 * docs/version.texi: Likewise.
21127
5c90cdd2 211282009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 21129
21130 * include/grub/i386/xnu.h: Add license header.
21131 include grub/err.h explicitly.
21132
c90edae4 211332009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21134
21135 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21136 to `ufs' in the vfs.root.mountfrom kernel parameter.
21137
d8888b5c 211382009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21139
21140 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21141
21142 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21143 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21144
21145 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21146 `ARRAY_SIZE' macro.
21147
6f07b921 211482009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21149
21150 * kern/file.c (grub_file_read): Check offset.
21151 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
21152 * fs/jfs.c (grub_jfs_read_file): Likewise.
21153 * fs/ntfs.c (grub_ntfs_read): Likewise.
21154 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
21155 * fs/minix.c (grub_minix_read_file): Correct offset check.
21156 * fs/ufs.c (grub_ufs_read_file): Likewise.
21157
b4f34077 211582009-08-28 Colin Watson <cjwatson@ubuntu.com>
21159
21160 * term/i386/pc/console.c (bios_data_area): Cast
21161 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
21162
e7c69859 211632009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21164
21165 1-bit optimised blitters.
21166
21167 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
21168 prototype.
21169 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21170 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21171 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21172 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21173 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21174 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21175 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21176 function.
21177 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21178 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21179 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21180 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21181 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21182 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21183 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21184 when possible.
21185 * video/video.c (grub_video_get_blit_format): Return
21186 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21187
a57da43f 211882009-08-28 Colin Watson <cjwatson@ubuntu.com>
21189
21190 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21191 the first argument to grub_printf.
21192
4cbe67e5 211932009-08-28 Colin Watson <cjwatson@ubuntu.com>
211942009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21195
21196 Add `getkeystatus' terminal method. Add a new `keystatus' command
21197 to query it.
21198
21199 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21200 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21201 modifier key bitmasks.
21202 (struct grub_term_input): Add `getkeystatus' member.
21203 (grub_getkeystatus): Add prototype.
21204 * kern/term.c (grub_getkeystatus): New function.
21205
21206 * include/grub/i386/pc/memory.h
21207 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21208 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21209 Data Area layout.
21210 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21211 (grub_console_term_input): Set `getkeystatus' member.
21212 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21213 constants.
21214 (grub_usb_keyboard_getreport): Likewise.
21215 (grub_usb_keyboard_checkkey): Likewise.
21216 (grub_usb_keyboard_getkeystatus): New function.
21217 (grub_usb_keyboard_term): Set `getkeystatus' member.
21218
21219 * commands/keystatus.c: New file.
21220 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21221 (keystatus_mod_SOURCES): New variable.
21222 (keystatus_mod_CFLAGS): Likewise.
21223 (keystatus_mod_LDFLAGS): Likewise.
21224 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21225 commands/keystatus.c.
21226 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21227 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21228 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21230 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21231 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 21232
6e2a9085 212332009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21234
21235 Split befs.mod and afs.mod into *_be.mod and *.mod
21236
21237 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21238 (grub_fstest_SOURCES): Likewise.
21239 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21240 (afs_be_mod_SOURCES): New variable.
21241 (afs_be_mod_CFLAGS): Likewise.
21242 (afs_be_mod_LDFLAGS): Likewise.
21243 (befs_be_mod_SOURCES): Likewise.
21244 (befs_be_mod_CFLAGS): Likewise.
21245 (befs_be_mod_LDFLAGS): Likewise.
21246 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21247 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21248 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21249 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21250 (grub_emu_SOURCES): Likewise.
21251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21252 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21253 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21254 * fs/afs_be.c: New file.
21255 * fs/befs_be.c: New file.
21256 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21257 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21258 (U16): Replaced with ...
21259 (grub_afs_to_cpu16): ...this. All users updated.
21260 (U32): Replaced with ...
21261 (grub_afs_to_cpu32): ...this. All users updated.
21262 (U64): Replaced with ...
21263 (grub_afs_to_cpu64): ...this. All users updated.
21264 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21265 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 21266 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 21267 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21268 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21269 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21270 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21271 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21272 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21273 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21274 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21275
32a71655 212762009-08-26 Bean <bean123ch@gmail.com>
21277
21278 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21279 64-bit number.
21280 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21281 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21282 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21283
552bf6c5 212842009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21285
21286 NetBSD memory map support.
21287
21288 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21289 (grub_netbsd_btinfo_mmap_header): New structure.
21290 (grub_netbsd_btinfo_mmap_entry): Likewise.
21291 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21292
1ae2078c 212932009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 Enable bsd.mod on coreboot.
21296
21297 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21298 (bsd_mod_SOURCES): New variable.
21299 (bsd_mod_CFLAGS): Likewise.
21300 (bsd_mod_LDFLAGS): Likewise.
21301 (bsd_mod_ASFLAGS): Likewise.
21302 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21303 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21304
beefc598 213052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21306
21307 Cleanup NetBSD root support.
21308
21309 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21310 grub_bsd_get_device.
21311 Fix typo.
21312
3b76e68b 213132009-08-25 Felix Zielcke <fzielcke@z-51.de>
21314
21315 * util/grub.d/00_header.in: Move check for the video backend of
21316 gfxterm from here ...
21317 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21318 a suitable video backend.
21319
aea664ea 213202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21321
21322 Fix breakage in grub-setup.
21323
21324 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21325 "msdos_partition_map".
21326
ff747d50 213272009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21328
21329 Fix breakage in normal/auth.c.
21330
21331 * normal/auth.c (grub_iswordseparator): New function.
21332
e7e1f93f 213332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21334
21335 Authentication support.
21336
21337 * commands/password.c: New file.
21338 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21339 (password_mod_SOURCES): New variable.
21340 (password_mod_CFLAGS): Likewise.
21341 (password_mod_LDFLAGS): Likewise.
21342 (normal_mod_SOURCES): Add normal/auth.c.
21343 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21344 normal/auth.c.
21345 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21346 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21347 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21349 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21350 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21351 * include/grub/auth.h: New file.
21352 * include/grub/err.h (grub_err_t): New enum value
21353 GRUB_ERR_ACCESS_DENIED.
21354 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21355 'users'.
21356 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21357 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21358 users updated.
21359 * normal/auth.c: New file.
21360 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21361 (grub_cmdline_run): Don't allow to go to command line without
21362 authentication.
21363 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21364 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21365 menuentry without superuser rights.
21366 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21367 user isn't a superuser.
21368
70f1161d 213692009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21370
21371 Save space by inlining misc.c functions.
21372
21373 * kern/misc.c (grub_iswordseparator): Made static.
21374 * kern/misc.c (grub_strcat): Moved from here ...
21375 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21376 * kern/misc.c (grub_strncat): Moved from here ...
21377 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21378 * kern/misc.c (grub_strcasecmp): Moved from here ...
21379 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21380 * kern/misc.c (grub_strncasecmp): Moved from here ...
21381 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21382 * kern/misc.c (grub_isalpha): Moved from here ...
21383 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21384 * kern/misc.c (grub_isdigit): Moved from here ...
21385 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21386 * kern/misc.c (grub_isgraph): Moved from here ...
21387 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21388 * kern/misc.c (grub_tolower): Moved from here ...
21389 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21390
48e40bff 213912009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 * script/sh/function.c (grub_script_function_find): Cut error message
21394 not to flood terminal.
21395 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21396 limit.
21397 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21398
c385bfc3 213992009-08-24 Colin Watson <cjwatson@ubuntu.com>
21400
21401 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21402 `report' grub_uint8_t *.
21403 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21404 Use a 50-millisecond timeout rather than just repeating
21405 grub_usb_keyboard_getreport 50 times.
21406 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21407
2d21e3e8 214082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 Rename *_partition_map to part_*
21411
21412 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21413 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21414 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21415 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21416 All users updated.
21417 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21418 All users updated.
21419 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21420 * util/grub-probe.c (probe_partmap): Don't transform partition name
21421 to get module name.
21422
dd103c4e 214232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21424
21425 Fix OpenBSD and NetBSD support.
21426
21427 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21428 memory address conflict.
21429 (OPENBSD_MMAP_ACPI): New definition.
21430 (OPENBSD_MMAP_NVS): Likewise.
21431 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21432 and OPENBSD_MMAP_NVS.
21433 Add memory map terminator
21434 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 21435 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 21436
16c84d74 214372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21438
21439 Let user specify NetBSD root device.
21440
21441 * loader/i386/bsd.c (netbsd_root): New variable.
21442 (netbsd_opts): New option 'root'.
21443 (NETBSD_ROOT_ARG): New macro.
21444 (grub_netbsd_boot): Use 'netbsd_root'.
21445 (grub_bsd_unload): Free 'netbsd_root'.
21446 (grub_cmd_netbsd): Fill 'netbsd_root'.
21447
adb29902 214482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21449
21450 Support for 64-bit NetBSD.
21451
21452 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21453 point when booting non-FreeBSD.
21454
f5ae9f74 214552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21456
21457 Support --no-smp and --no-acpi for NetBSD.
21458
21459 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21460 (NETBSD_AB_NOACPI): Likewise.
21461 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21462 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21463
de74f136 214642009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21465
21466 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21467 errors.
21468 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21469 errors. Call grub_error when needed.
21470
e9a925da 214712009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 * commands/search.c (search_fs): Try searching without autoload first.
21474 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21475 filesystem module explicitly for faster booting.
21476
5174302b 214772009-08-23 Colin Watson <cjwatson@ubuntu.com>
21478
21479 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21480
c8c80635 214812009-08-23 Colin Watson <cjwatson@ubuntu.com>
21482
21483 * util/grub.d/30_os-prober.in: Disable os-prober if
21484 `GRUB_DISABLE_OS_PROBER' was set to true.
21485
71acf5e5 214862009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21487
21488 * partmap/pc.c: Rename to ...
21489 * partmap/msdos.c: ... this. Update all users.
21490 (grub_pc_partition_map): Rename to ...
21491 (grub_msdos_partition_map): ... this. Update all users.
21492
21493 * parttool/pcpart.c: Rename to ...
21494 * parttool/msdospart.c: ... this. Update all users.
21495
21496 * include/grub/pc_partition.h: Rename to ...
21497 * include/grub/msdos_partition.h: ... this. Update all users.
21498 (grub_pc_partition_bsd_entry): Rename to ...
21499 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21500 (grub_pc_partition_disk_label): Rename to ...
21501 (grub_msdos_partition_disk_label): ... this. Update all users.
21502 (grub_pc_partition_entry): Rename to ...
21503 (grub_msdos_partition_entry): ... this. Update all users.
21504 (grub_pc_partition_mbr): Rename to ...
21505 (grub_msdos_partition_mbr): ... this. Update all users.
21506 (grub_pc_partition): Rename to ...
21507 (grub_msdos_partition): ... this. Update all users.
21508 (grub_pc_partition_is_empty): Rename to ...
21509 (grub_msdos_partition_is_empty): ... this. Update all users.
21510 (grub_pc_partition_is_extended): Rename to ...
21511 (grub_msdos_partition_is_extended): ... this. Update all users.
21512 (grub_pc_partition_is_bsd): Rename to ...
21513 (grub_msdos_partition_is_bsd): ... this. Update all users.
21514
21515 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21516 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21517 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21518 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21519 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21520 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21521 (gpt_mod_LDFLAGS): Rename to ...
21522 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21523 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21524 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21525 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21526 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21527 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21528 (part_gpt_mod_LDFLAGS): ... this.
21529 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21530 `pcpart.mod' to `msdospart.mod'.
21531 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21532 to ...
21533 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21534 (msdospart_mod_LDFLAGS): ... this.
21535
c11fded5 215362009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21537
21538 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21539 (openbsd_opts): Likewise.
21540 (netbsd_opts): Likewise.
21541 (freebsd_flags): Added 0 terminator.
21542 (openbsd_flags): Likewise.
21543 (netbsd_flags): Likewise.
21544 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21545 (grub_cmd_freebsd): Transformed into extended command.
21546 (grub_cmd_openbsd): Likewise.
21547 (grub_cmd_netbsd): Likewise.
21548 (cmd_freebsd): Changed type to grub_extcmd_t.
21549 (cmd_openbsd): Likewise.
21550 (cmd_netbsd): Likewise.
21551 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21552 grub_cmd_openbsd as extended commands.
21553 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21554 cmd_netbsd and cmd_openbsd
21555
11d1c769 215562009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21557
21558 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21559
7a9094e5 215602009-08-21 Pavel Roskin <proski@gnu.org>
21561
5496c37e 21562 * Makefile.in (install-local): When checking if a file is in the
21563 build directory, use "test -e" to detect symlinks.
21564
7a9094e5 21565 * Makefile.in (install-local): Remove all files in
21566 $(DESTDIR)$(pkglibdir) before installing new files there.
21567
e53cea11 215682009-08-18 Felix Zielcke <fzielcke@z-51.de>
21569
21570 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21571 grub-mkelfimage.
21572
9aced544 215732009-08-18 Felix Zielcke <fzielcke@z-51.de>
21574
21575 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21576 explicitly specified by the user.
21577
b7da6bab 215782009-08-18 Pavel Roskin <proski@gnu.org>
21579
21580 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21581 grub_uint8_t pointer for data.
21582 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21583 Likewise.
21584 * video/fb/fbutil.c: Remove unnecessary casts.
21585
19f1b335 215862009-08-17 Michal Suchanek <hramrach@centrum.cz>
21587
21588 VBE cleanup.
21589
21590 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21591 (grub_vbe_set_video_mode): Save active mode info
21592 only after setting the mode.
21593 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21594 second argument.
21595
2f467aa9 215962009-08-17 Michal Suchanek <hramrach@centrum.cz>
21597
21598 Rename variables for clarity.
21599
21600 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21601 (active_vbe_mode_info): ... this. All users updated.
21602 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21603 All users updated.
21604 (initial_mode): Rename to ...
21605 (initial_vbe_mode): ... this. All users updated.
21606 (mode_in_use): Rename to ..
21607 (vbe_mode_in_use): ... this. All users updated.
21608 (mode_list): Rename to ..
21609 (vbe_mode_list): ... this. All users updated.
21610 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21611 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21612 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21613 'mode_list_size' to 'vbe_mode_list_size'.
21614 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21615 'best_mode_info' to 'best_vbe_mode_info' and
21616 'best_mode' to 'best_vbe_mode'
21617
6025fcd7 216182009-08-17 Michal Suchanek <hramrach@centrum.cz>
21619
21620 Remove duplicate grub_video_fb_get_video_ptr.
21621
21622 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21623 (grub_video_fb_get_video_ptr): ... this.
21624 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21625 * video/fb/fbutil.c: Add comment about addressing.
21626 (get_data_ptr): Rename to ...
21627 (grub_video_fb_get_video_ptr): ... this. All users updated.
21628 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21629
cc8c6faf 216302009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21631
21632 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21633 grub_dprintf() that was just added.
21634
08aa61f0 216352009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21636
21637 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21638 (DEFAULT_VIDEO_MODE): Remove macros.
21639 (grub_linux_boot): Remove assumption that Linux has FB support,
21640 and use "text" as default video mode.
21641
7cef4f75 216422009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21643
21644 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21645 grub_dprintf.
21646 * fs/fat.c (grub_fat_read_data): Likewise.
21647
e1f39873 216482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21649
21650 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21651 payload.
21652 (grub_module): Likewise.
21653
c166d79e 216542009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21655
21656 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21657 mbi->cmdline but free playground.
21658
c60cee8e 216592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21660
21661 Handle group offset on UFS1.
21662
21663 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21664 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21665
c0d8b5d4 216662009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21667
21668 Split ufs.mod into ufs1.mod and ufs2.mod.
21669
21670 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21671 (grub_fstest_SOURCES): Likewise.
21672 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21673 (ufs_mod_SOURCES): Remove.
21674 (ufs_mod_CFLAGS): Likewise.
21675 (ufs_mod_LDFLAGS): Likewise.
21676 (ufs1_mod_SOURCES): New variable.
21677 (ufs1_mod_CFLAGS): Likewise.
21678 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 21679 (ufs2_mod_SOURCES): New variable.
21680 (ufs2_mod_CFLAGS): Likewise.
21681 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 21682 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21683 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21684 Likewise.
21685 (grub_emu_SOURCES): Likewise.
21686 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21687 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21688 (grub_setup_SOURCES): Likewise.
21689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21690 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21691 (grub_setup_SOURCES): Likewise.
21692 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21693 Likewise.
21694 * fs/ufs2.c: New file.
21695 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21696
d3539132 216972009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21698
21699 Framebuffer split.
21700
21701 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21702 subsystem at the end.
21703 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21704 (video_fb_mod_SOURCES): New variable.
21705 (video_fb_mod_CFLAGS): Likewise.
21706 (video_fb_mod_LDFLAGS): Likewise.
21707 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21708 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21709 * video/i386/pc/vbeblit.c: Moved from here ...
21710 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21711 * video/i386/pc/vbefill.c: Moved from here ...
21712 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21713 * video/i386/pc/vbeutil.c: Moved from here ...
21714 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21715 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21716 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21717 * include/grub/i386/pc/vbefill.h: Moved from here ...
21718 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21719 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21720 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21721 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21722 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21723 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21724 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21725 (grub_video_adapter): Added 'get_info_and_fini'.
21726 (grub_video_get_info_and_fini): New prototype.
21727 (grub_video_set_mode): make modestring const char *.
21728 * loader/i386/linux.c (grub_linux_setup_video): Use
21729 grub_video_get_info_and_fini.
21730 (grub_linux_boot): Move modesetting just before booting.
21731 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21732 grub_video_get_info_and_fini.
21733 * video/i386/pc/vbe.c: Moved framebuffer part ...
21734 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21735 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21736 grub_video_fbstd_colors and grub_video_fb_set_palette.
21737 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21738 grub_video_fb_init.
21739 (grub_video_vbe_fini): Use grub_video_fb_fini.
21740 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21741 render_target and use grub_video_fb_set_active_render_target and
21742 grub_video_fb_set_palette.
21743 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21744 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21745 (grub_video_vbe_adapter): Use framebuffer.
21746 * video/video.c (grub_video_get_info_and_fini): New function.
21747 (grub_video_set_mode): Make modestring const char *.
21748 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21749 values are already initialised.
21750
d404ee56 217512009-08-14 Pavel Roskin <proski@gnu.org>
21752
21753 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21754 ABS and APPLE_CC.
21755 * boot/i386/pc/diskboot.S: Likewise.
21756 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21757 sectors allow compilation on MacOSX.
21758 * conf/i386-pc.rmk: Enable unconditional compilation of
21759 lnxboot.img.
21760
9a10df16 217612009-08-13 Colin Watson <cjwatson@ubuntu.com>
21762
21763 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21764 * util/grub.d/00_header.in: Enter interruptible sleep if
21765 GRUB_HIDDEN_TIMEOUT is set.
21766
be3c9ca7 217672009-08-13 Yves Blusseau <blusseau@zetam.org>
21768
21769 * include/grub/symbol.h: Add the LOCAL macro.
21770 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21771 starting with "L_".
21772
1f9e557e 217732009-08-13 Pavel Roskin <proski@gnu.org>
21774
9ca62843 21775 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21776 any modern compilers we support.
21777
1f9e557e 21778 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21779 Use local labels starting with "L_" so that Apple assembler
21780 knows they are local.
21781
81623db6 217822009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21783
21784 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21785 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21786 (bsd_kernel_types): ... this enum.
21787
21788 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21789 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21790 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21791
21792 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21793 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21794 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21795 messages.
21796
f5d35e7a 217972009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21798
21799 * util/grub-dumpdevtree: Moved from here ...
21800 * util/i386/efi/grub-dumpdevtree: ... to here.
21801 (hexify): New function. Converts a string to its hex version.
21802 Generate hex versions of "efi" and "device-properties" by calling
21803 hexify() on the ASCII strings rather than by hardcoding numbers.
21804
d1e1d527 218052009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21806
21807 * fs/jfs.c: Update copyright year.
21808
1ebbe064 218092009-08-08 Felix Zielcke <fzielcke@z-51.de>
21810
21811 * util/grub.d/00_header.in: Fix a comment.
21812 * util/grub.d/10_linux.in: Likewise.
21813 * util/grub.d/10_windows.in: Likewise.
21814 * util/grub.d/10_hurd.in: Likewise.
21815
a78c8d24 218162009-08-08 Felix Zielcke <fzielcke@z-51.de>
21817
21818 * util/grub-mkconfig.in: Allow the user to specify the used font
21819 with GRUB_FONT.
21820
29a6b9e8 218212009-08-08 Pavel Roskin <proski@gnu.org>
21822
b5f16cc4 21823 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21824 available, xfs.mod needs it now.
21825
2f5cb827 21826 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21827 the "g" modifier in sed when the intention is to strip something
21828 once. This fixes comparison of kernels with multiple dashes.
21829
29a6b9e8 21830 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21831 on it. Add missing space before closing bracket. Fix
21832 misleading formatting.
21833
892a3d98 218342009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21835
21836 * docs/grub.texi: Major overhaul. Remove all sections that are
21837 specific to GRUB Legacy, or mostly composed of Legacy-specific
21838 information.
21839
ed94253f 218402009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21841
21842 * docs/version.texi: New file. Provides version information for
21843 grub.texi.
21844
126d6628 218452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21846
21847 * docs/grub.texi: Update CVS information to SVN.
21848 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21849
998b5aa9 218502009-08-07 Felix Zielcke <fzielcke@z-51.de>
21851
21852 * util/grub-mkconfig.in: Remove a wrong `fi'.
21853
818e094a 218542009-08-07 Felix Zielcke <fzielcke@z-51.de>
21855
21856 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21857 (grub_jfs_uuid): New function.
21858 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21859
b969c52f 218602009-08-07 Felix Zielcke <fzielcke@z-51.de>
21861
21862 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21863 of it to ...
21864 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21865 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21866
7a4894cc 218672009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21868
21869 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21870 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21871 Update all users.
21872
21873 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21874 not just "vmlinu[zx]".
21875 Moved from here ...
21876 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21877 all users.
21878
21879 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21880 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21881 all users.
21882
4e2171f8 218832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21884
21885 * util/grub.d/10_freebsd.in: Use an absolute device path for
21886 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21887
6dcfcb32 218882009-08-06 Felix Zielcke <fzielcke@z-51.de>
21889
21890 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21891 handling of multiple abstraction modules.
21892
f56a8756 218932009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21894
21895 Fix a bug resulting in black screen when loading Linux using a
21896 packed video mode.
21897
21898 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21899 function.
21900
21901 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21902 (grub_vbe_bios_getset_dac_palette_width): New function.
21903 (grub_vbe_bios_get_dac_palette_width)
21904 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21905 grub_vbe_bios_getset_dac_palette_width()).
21906
21907 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21908 check for return status.
21909 (grub_vbe_get_video_mode_info): When getting information for a packed
21910 mode (<= 8 bpp), obtain DAC palette width using
21911 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21912 {red,green,blue}_mark_size.
21913
222671b2 219142009-08-04 Felix Zielcke <fzielcke@z-51.de>
21915
ecb1a6d9 21916 * commands/search.c (options): Fix help output to match actual code.
222671b2 21917
f84114f5 219182009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21919
21920 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21921 of homegrown code.
21922
bd288a20 219232009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 21924
21925 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21926 on XFS or ReiserFS.
21927
8aab5e25 219282009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21929
21930 Support Apple partition map with sector size different from 512 bytes.
21931
21932 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21933 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21934 and 'apart.partmap_size'.
21935
6ad6258a 219362009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
219372009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21938
21939 Fix cpuid command.
21940
21941 * commands/i386/cpuid.c (options): New variable.
21942 (grub_cmd_cpuid): Return real error.
21943 (GRUB_MOD_INIT(cpuid)): Declare options.
21944
67459bc6 219452009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21946
21947 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21948 valid.
21949
fbc6ab54 219502009-07-31 Bean <bean123ch@gmail.com>
21951
21952 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21953 log2_inode.
21954 (grub_fshelp_node): Move inode field to the end.
21955 (grub_xfs_data): Remove inode field.
21956 (grub_xfs_inode_block): Calculate inode size using sblock.
21957 (grub_xfs_inode_offset): Likewise.
21958 (grub_xfs_read_inode): Calculate inode size using sblock.
21959 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21960 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21961 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21962 to match inode size.
21963 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21964 not accessible when data is null.
21965 (grub_xfs_open): Likewise.
21966
f45d6cfc 219672009-07-31 Bean <bean123ch@gmail.com>
21968
21969 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21970 Don't change pv->disk if it's already set.
21971
21972 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21973 (grub_raid_register): ... here.
21974 (grub_raid_rescan): Removed.
21975
21976 * include/grub/raid.h (grub_raid_rescan): Removed.
21977
21978 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21979 (fstest): Replace grub_raid_rescan with module fini function followed
21980 by init function.
21981
21982 * util/grub-probe.c: Add include file <grub/raid.h>.
21983 (probe_raid_level): New function.
21984 (probe): Detect abstraction by walking the disk device, support two
21985 level of abstraction (LVM on RAID) when detecting partition map.
21986
24443b5a 219872009-07-31 Pavel Roskin <proski@gnu.org>
21988
21989 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21990 to grub_zalloc(), it was erroneous.
21991 Reported by Bean <bean123ch@gmail.com>
21992
a275d9e7 219932009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21994
21995 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 21996 embedding zone, not only the first one.
a275d9e7 21997
56c5a47f 219982009-07-29 Joe Auricchio <jauricchio@gmail.com>
21999
22000 * term/gfxterm.c (clear_char): New function.
22001 (grub_virtual_screen_setup): Use clear_char.
22002 (scroll_up): Likewise.
22003 (grub_virtual_screen_cls): Likewise.
22004
67bb323a 220052009-07-29 Felix Zielcke <fzielcke@z-51.de>
22006
22007 * util/deviceiter.c (get_acceleraid_disk_name): New static
22008 function.
22009 (grub_util_iterate_devices): Handle Accelraid devices.
22010 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
22011
388a7c75 220122009-07-28 Robert Millan <rmh.grub@aybabtu.com>
22013
22014 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
22015 separator for the suggested gfxpayload string (';' collides with the
22016 parser and needs escaping).
22017
3bb7abcf 220182009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22019
22020 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
22021 Clear direction flag before jumping to OS.
22022 (grub_multiboot2_real_boot): Likewise.
22023
2ddd36d7 220242009-07-28 Felix Zielcke <fzielcke@z-51.de>
22025
22026 * util/i386/pc/grub-install: Fix parsing of --disk-module
22027 option.
22028
c521b62b 220292009-07-28 Felix Zielcke <fzielcke@z-51.de>
22030
22031 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
22032 when embedding.
22033
880e0a0c 220342009-07-26 Felix Zielcke <fzielcke@z-51.de>
22035
22036 * util/grub-mkconfig.in (package_version): New variable.
22037 Use it do display the version.
22038
2366e356 220392009-07-25 Felix Zielcke <fzielcke@z-51.de>
22040
22041 * kern/file.c (grub_file_open): Revert to previous check with
22042 grub_errno.
22043
7ad8c80e 220442009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
22047 from help line. It's out of sync with code.
22048
72b9658b 220492009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22050
22051 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22052 entries on failed boot.
22053
77435277 220542009-07-25 Felix Zielcke <fzielcke@z-51.de>
22055
22056 * kern/file.c (grub_file_open): Fix an error check.
22057
fcaa8b21 220582009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22059
35d16c74 22060 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22061 partition map couldn't be identified.
fcaa8b21 22062
48904cd1 220632009-07-23 Pavel Roskin <proski@gnu.org>
22064
ef3c317f 22065 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22066 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22067 case of little endian words becomes just an optimization.
22068 Respect const modifier.
ad8ea1f4 22069 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 22070
48904cd1 22071 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22072 to avoid loss of upper bits if align is unsigned and shorter
22073 than addr.
22074
260c9a89 220752009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 UUID support for UFS
22078
22079 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22080 (grub_ufs_uuid): New function.
22081 (grub_ufs_fs): add .uuid
22082
f76ce889 220832009-07-21 Pavel Roskin <proski@gnu.org>
22084
22085 * kern/dl.c (grub_dl_check_header): Make static.
22086
6a6cbcaf 220872009-07-21 Felix Zielcke <fzielcke@z-51.de>
22088
22089 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22090 add drivemap for Vista. It breaks Windows 7.
22091
cffcddb2 220922009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22093
22094 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22095 128 bytes
22096
1ef44b80 220972009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22098
22099 Add BFS support
22100
22101 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22102 (grub_fstest_SOURCES): Likewise.
22103 (pkglib_MODULES): Add befs.mod.
22104 (befs_mod_SOURCES): New variable.
22105 (befs_mod_CFLAGS): Likewise.
22106 (befs_mod_LDFLAGS): Likewise.
22107 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22108 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22109 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22110 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22111 (grub_setup_SOURCES): Likewise.
22112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22113 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22114 (grub_setup_SOURCES): Likewise.
22115 * fs/befs.c: New file.
22116 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22117 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22118 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22119 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22120 (B_KEY_INDEX_ALIGN): New declaration.
22121 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22122 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22123 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22124 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22125 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22126 (grub_afs_mount) [MODE_BFS]: Likewise.
22127 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22128 (grub_afs_fs): Use GRUB_AFS_FSNAME
22129 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22130 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22131 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22132 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22133
4f253044 221342009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22135
22136 * util/getroot.c (find_root_device): Add support for MacOSX.
22137 * util/hostdisk.c: Likewise.
22138
57a55913 221392009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 * font/font.c (find_glyph): Check whether a font is present to avoid
22142 segmentation fault.
75421ca9 22143
221442009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 22145
22146 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22147
e98cd0c2 221482009-07-20 Pavel Roskin <proski@gnu.org>
22149
22150 * configure.ac: Trim excessively wordy excuses.
22151
1d2d169a 221522009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22153
22154 Add symlink, mtime and label support to AtheFS.
22155
22156 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
22157 (grub_afs_iterate_dir): Handle symlinks.
22158 (grub_afs_open): Use grub_afs_read_symlink.
22159 (grub_afs_dir): Likewise.
22160 Pass mtime.
22161 (grub_afs_label): New function.
22162 (grub_afs_fs): Add grub_afs_label.
22163 (grub_afs_read_symlink): New function.
22164
186f3189 221652009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22166
22167 Fix AtheFS support.
22168
22169 * fs/afs.c: Fix comments style.
22170 (grub_afs_blockrun): Declare as packed.
22171 (grub_afs_datastream): Likewise.
22172 (grub_afs_bnode): Likewise.
22173 (grub_afs_btree): Likewise.
22174 (grub_afs_sblock): Likewise.
22175 Declare `name' as char.
22176 (grub_afs_inode): Declare as packed.
22177 Change void *vnode to grub_uint32_t unused.
22178 (grub_afs_iterate_dir): Check that key_size is positive.
22179 (grub_afs_mount): Don't read superblock twice.
75421ca9 22180 (grub_afs_dir): Don't free node in case of error,
186f3189 22181 grub_fshelp_find_file already handles this.
22182 (grub_afs_open): Likewise.
22183
5680109e 221842009-07-19 Pavel Roskin <proski@gnu.org>
22185
22186 * Makefile.in: Remove LIBLZO and enable_lzo.
22187 * conf/i386-pc.rmk: Remove lzo support.
22188 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22189 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22190 support.
22191 * kern/i386/pc/lzo1x.S: Remove.
22192 * kern/i386/pc/startup.S: Remove lzo support.
22193 * util/i386/pc/grub-mkimage.c: Likewise.
22194
ac70fa32 221952009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22198 * fs/xfs.c (grub_xfs_dir): Likewise.
22199 * fs/afs.c (grub_afs_dir): Likewise.
22200 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22201 (grub_iso9660_open): Likewise.
22202 * fs/jfs.c (grub_jfs_open): Likewise.
22203 * fs/ext2.c (grub_ext2_dir): Likewise.
22204 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22205 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 22206
eab58da2 222072009-07-16 Pavel Roskin <proski@gnu.org>
22208
d2838156 22209 * configure.ac: Never add "-c" to CFLAGS.
22210
55c70904 22211 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22212
43e6200c 22213 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22214 grub_cv_cc_efiemu should be used.
22215
ce7a733d 22216 * configure.ac: Typo fixes.
22217
eab58da2 22218 * kern/mm.c (grub_zalloc): New function.
22219 (grub_debug_zalloc): Likewise.
22220 * include/grub/mm.h: Declare grub_zalloc() and
22221 grub_debug_zalloc().
22222 * util/misc.c (grub_zalloc): New function.
22223 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22224 instead of grub_malloc(), remove unneeded initializations.
22225 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22226 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22227 * commands/parttool.c (grub_cmd_parttool): Likewise.
22228 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22229 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22230 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22231 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22232 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22233 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22234 (grub_cmd_efiemu_pnvram): Likewise.
22235 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22236 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22237 (grub_iso9660_iterate_dir): Likewise.
22238 * fs/jfs.c (grub_jfs_opendir): Likewise.
22239 * fs/ntfs.c (list_file): Likewise.
22240 (grub_ntfs_mount): Likewise.
22241 * kern/disk.c (grub_disk_open): Likewise.
22242 * kern/dl.c (grub_dl_load_core): Likewise.
22243 * kern/elf.c (grub_elf_file): Likewise.
22244 * kern/env.c (grub_env_context_open): Likewise.
22245 (grub_env_set): Likewise.
22246 (grub_env_set_data_slot): Likewise.
22247 * kern/file.c (grub_file_open): Likewise.
22248 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22249 * loader/i386/multiboot.c (grub_module): Likewise.
22250 * loader/xnu.c (grub_xnu_create_key): Likewise.
22251 (grub_xnu_create_value): Likewise.
22252 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22253 (read_config_file): Likewise.
22254 * normal/menu_entry.c (make_screen): Likewise.
22255 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22256 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22257 * script/sh/script.c (grub_script_parse): Likewise.
22258 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22259 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22260 * video/readers/png.c (grub_png_output_byte): Likewise.
22261 (grub_video_reader_png): Likewise.
22262
830afef7 222632009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 22264
22265 Enable all targets that can be built by default
22266
830afef7 22267 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 22268 grub-mkfont and grub-fstest if they can be built
22269
ee293aee 222702009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22271
22272 Fix hang and segmentation fault in grub-emu-usb
22273
22274 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22275 * util/usb.c (grub_libusb_devices): likewise
22276 (grub_libusb_init): rename to ...
22277 (GRUB_MOD_INIT (libusb)):...this
22278 (grub_libusb_fini): rename to ..
22279 (GRUB_MOD_FINI (libusb)):...this
22280 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22281 * include/grub/disk.h (grub_raid_init): removed, it's useless
22282 (grub_raid_fini): likewise
22283 (grub_lvm_init): likewise
22284 (grub_lvm_fini): likewise
22285 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22286 by grub_init_all
22287
94414221 222882009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22289
22290 Fix libusb
22291
22292 * Makefile.in (LIBUSB): new macro
22293 * genmk.rb (Utility/print_tail): new method
22294 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22295 (top level): call util.print_tail at the end.
22296
59ade63d 222972009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22298
22299 Make FreeBSD accept zpool.cache
22300
22301 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22302 type is /boot/zfs/zpool.cache
22303
a58da8c7 223042009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22305
22306 Fix 64-bit efiemu
22307
22308 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22309 correct wrong typedef
22310 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22311
20591577 223122009-07-15 Pavel Roskin <proski@gnu.org>
22313
560ca572 22314 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22315 * kern/disk.c (struct grub_disk_cache): Likewise.
22316
e8e8e4fd 22317 * commands/probe.c (options): Typo fix.
22318
fde24e10 22319 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22320 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22321 accordingly.
22322 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22323
379c54c1 22324 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22325 the end of "Error" to make the message more readable.
22326
7bd8f5bf 22327 * boot/i386/pc/boot.S (kernel_segment): Remove.
22328 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22329 for destination.
22330
40b132c5 22331 * boot/i386/pc/boot.S (boot_version): Remove.
22332 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22333 Remove.
22334
20591577 22335 * include/grub/i386/pc/boot.h: Sort all offsets.
22336 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22337 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22338 * boot/i386/pc/boot.S: Assert location of every offset listed in
22339 include/grub/i386/pc/boot.h.
22340
2df32b2c 223412009-07-13 Pavel Roskin <proski@gnu.org>
22342
44b5d879 22343 * include/grub/i386/coreboot/machine.h: Rename
22344 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22345 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22346 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22347
17dc3751 22348 * kern/dl.c: Force native word size to suppress warnings when
22349 compiling grub-emu.
22350
2df32b2c 22351 * kern/device.c (grub_device_iterate): Change struct part_ent to
22352 hold the name, not a pointer to it. Use one grub_malloc() per
22353 partition, not two. Free partition_name if grub_malloc() fails.
22354 Set ents to NULL only before grub_partition_iterate() is called.
22355
75c59f59 223562009-07-11 Bean <bean123ch@gmail.com>
22357
22358 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22359 childname.
22360
0ae1bf88 223612009-07-10 Bean <bean123ch@gmail.com>
223622009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22363
22364 * kern/ieee1275/openfw.c (grub_children_iterate)
22365 (grub_devalias_iterate): Fix size evaluation for property or path
22366 strings, which was broken since r2132.
22367
8279cade 223682009-07-07 Pavel Roskin <proski@gnu.org>
22369
7d8a52d3 22370 * commands/search.c (search_file): Merge into ...
22371 (search_fs): ... this. Accept search type as argument.
22372 (grub_cmd_search): Pass search type to search_fs().
22373
25f9a05a 22374 * include/grub/util/console.h: New file.
22375 * util/console.c: Use it instead of grub/machine/console.h.
22376 * util/grub-emu.c: Likewise.
22377
8279cade 22378 * lib/arg.c (find_long_option): Remove.
22379 (find_long): Add `len' argument, make `s' const char *.
22380 (grub_arg_parse): Parse long options in place, not in a
22381 temporary buffer.
22382
4a11b60f 223832009-07-06 Pavel Roskin <proski@gnu.org>
22384
99f68041 22385 * commands/search.c (search_fs): Fix potential NULL pointer
22386 dereference.
22387
4a11b60f 22388 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22389 function pointer.
22390
e110f4de 223912009-07-06 Daniel Mierswa <impulze@impulze.org>
22392
22393 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22394 comparison.
22395
46eeb6a2 223962009-07-05 Pavel Roskin <proski@gnu.org>
22397
bab74958 22398 * include/grub/i386/linux.h (struct linux_kernel_params):
22399 Restore padding3, it's still needed.
22400
46eeb6a2 22401 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22402 FreeBSD.
22403 * util/osdetect.lua: Likewise.
22404
b4a1dc79 224052009-07-05 Bean <bean123ch@gmail.com>
22406
22407 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22408
22409 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22410 (grub_lua_getenv): Likewise.
22411 (grub_lua_setenv): Likewise.
22412 (save_errno): New function.
22413 (push_result): Likewise.
22414 (grub_lua_enum_device): Likewise.
22415 (grub_lua_enum_file): Likewise.
22416 (grub_lua_file_open): Likewise.
22417 (grub_lua_file_close): Likewise.
22418 (grub_lua_file_seek): Likewise.
22419 (grub_lua_file_read): Likewise.
22420 (grub_lua_file_getline): Likewise.
22421 (grub_lua_file_getsize): Likewise.
22422 (grub_lua_file_getpos): Likewise.
22423 (grub_lua_file_eof): Likewise.
22424 (grub_lua_file_exist): Likewise.
22425 (grub_lua_add_menu): Likewise.
22426
22427 * script/lua/grub_lua.h (isupper): New inline function.
22428 (islower): Likewise.
22429 (ispunct): Likewise.
22430 (isxdigit): Likewise.
22431 (strcspn): Change to normal function.
22432 (strpbkr): New function declaration.
22433 (memchr): Likewise.
22434
22435 * script/lua/grub_main.c (scan_str): New function.
22436 (strcspn): Likewise.
22437 (strpbrk): Likewise.
22438 (memchr): Likewise.
22439
22440 * script/lua/linit.c (lualibs): Enable the string library.
22441
22442 * util/osdetect.lua: New file.
22443
2da92295 224442009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22445
22446 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22447 `capabilities' member.
22448
b2582ec9 224492009-07-02 Pavel Roskin <proski@gnu.org>
22450
22451 * genparttoollist.sh: Add missing newline at the end.
22452
32622956 224532009-07-01 Pavel Roskin <proski@gnu.org>
22454
87a7339e 22455 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22456
d23af54e 22457 * util/hostdisk.c (open_device): Remove `const' from
22458 `sysctl_size', as sysctlbyname() can change it (in this case it
22459 doesn't actually happen).
22460
c94b18a9 22461 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22462 using signed long int constants.
22463
c6cd3ef0 22464 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22465 constant to avoid a warning on FreeBSD.
22466
0df63420 22467 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22468 where it's needed.
22469
999577f1 22470 * Makefile.in: Install include/grub/machine symlink.
22471
6f41557f 22472 * Makefile.in: When installing symlinks, use "cp -fR", which
22473 works on FreeBSD and MacOSX.
22474 From Yves Blusseau <cl7m42e02@sneakemail.com>
22475
c8d22988 22476 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22477 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22478
1b96e952 22479 * util/misc.c: Move grub_reboot() and grub_halt() ...
22480 * util/grub-emu.c: ... here. Make main_env static.
22481 * include/grub/util/misc.h: Remove main_env.
22482
2ef0084d 22483 * kern/mm.c: Use correct format to print size_t.
22484
32622956 22485 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22486 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22487 * kern/powerpc/dl.c: Likewise.
22488 * kern/sparc64/dl.c: Likewise.
22489 * kern/x86_64/dl.c: Likewise.
22490
3f7f0cd0 224912009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22492
22493 Fix grub-emu build on sparc64-ieee1275.
22494
75421ca9 22495 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 22496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22497
211d06b5 224982009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22499
22500 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22501 (grub_reboot, grub_halt): New functions.
22502
22503 * util/i386/pc/misc.c: Delete. Update all users.
22504 * util/sparc64/ieee1275/misc.c: Likewise.
22505 * util/powerpc/ieee1275/misc.c: Likewise.
22506
aaf53e3c 225072009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22508
22509 * conf/i386.rmk (setjmp_mod_SOURCES)
22510 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22511 * conf/common.rmk (setjmp_mod_SOURCES)
22512 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22513 to use $(target_cpu).
22514 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22515 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22516 * conf/powerpc-ieee1275.rmk: Likewise.
22517 * conf/sparc64-ieee1275.rmk: Likewise.
22518
22519 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22520 $(target_cpu) for kern/$(target_cpu)/dl.c.
22521 * conf/i386-efi.rmk: Likewise.
22522 * conf/i386-ieee1275.rmk: Likewise.
22523 * conf/x86_64-efi.rmk: Likewise.
22524 * conf/i386-coreboot.rmk: Likewise.
22525 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22526 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22527 kern/$(target_cpu)/cache.S.
22528 * conf/sparc64-ieee1275.rmk: Likewise.
22529
a337130b 225302009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22531
22532 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22533 type to `grub_uint8_t', and adjust `padding9' accordingly.
22534
c6fe4d53 225352009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22536
b09db61d 22537 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22538
c6fe4d53 22539 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22540 assembly in final jump, using register constraints.
22541
b09db61d 22542 (grub_linux_boot): For text mode, initialize `have_vga' using
22543 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22544
22545 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22546 right before the final jump.
22547
22548 Set `video_mode' to 0x3.
22549
22550 Document initialization of `video_page', `video_mode' and
22551 `video_ega_bx'.
22552
28333ad0 225532009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22554
22555 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22556 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 22557 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 22558
02164e1b 225592009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22560
22561 Fix build on Debian / sparc.
22562
22563 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22564
18b6c557 225652009-06-28 Pavel Roskin <proski@gnu.org>
22566
85f2aab6 22567 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22568 fix a warning.
22569
18b6c557 22570 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22571
ad760f81 225722009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22573
22574 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22575 `err'.
22576
87a4623b 225772009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22578
22579 Revert r2338.
22580
22581 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22582 file can't be opened. grub_file_open() is already supposed to set
75421ca9 22583 grub_errno / grub_errmsg appropriately.
87a4623b 22584 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22585
8231fb77 225862009-06-27 Pavel Roskin <proski@gnu.org>
225872009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22588
22589 * include/grub/dl.h: Include grub/elf.h.
22590 (struct grub_dl): Add symtab field.
22591 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22592 GRUB_MODULES_MACHINE_READONLY.
22593 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22594 of the header for read-only modules.
22595 (grub_dl_unload): Free mod->symtab for read-only modules.
22596 * kern/i386/dl.c: Use mod->symtab.
22597 * kern/powerpc/dl.c: Likewise.
22598 * kern/sparc64/dl.c: Likewise.
22599 * kern/x86_64/dl.c: Likewise.
22600
22601 * conf/i386-qemu.rmk: New file.
22602 * kern/i386/qemu/startup.S: Likewise.
22603 * kern/i386/qemu/mmap.c: Likewise.
22604 * boot/i386/qemu/boot.S: Likewise.
22605 * include/grub/i386/qemu/time.h: Likewise.
22606 * include/grub/i386/qemu/serial.h: Likewise.
22607 * include/grub/i386/qemu/kernel.h: Likewise.
22608 * include/grub/i386/qemu/console.h: Likewise.
22609 * include/grub/i386/qemu/boot.h: Likewise.
22610 * include/grub/i386/qemu/init.h: Likewise.
22611 * include/grub/i386/qemu/machine.h: Likewise.
22612 * include/grub/i386/qemu/loader.h: Likewise.
22613 * include/grub/i386/qemu/memory.h: Likewise.
22614
22615 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22616 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22617 [qemu] (pkglib_IMAGES): Add `boot.img'.
22618 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22619 [qemu] (boot_img_FORMAT): New variables.
22620 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22621 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22622 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22623 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22624 [qemu] (kernel_img_FORMAT): New variables.
22625
22626 * configure.ac: Recognise `i386-qemu'.
22627
22628 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22629 (for no compression).
22630 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22631 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22632 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22633 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22634 ifdefs).
22635
97fe384e 226362009-06-27 Pavel Roskin <proski@gnu.org>
22637
22638 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22639 read.
22640 * efiemu/prepare32.c: Likewise.
22641 * efiemu/prepare64.c: Likewise.
22642
c402ab17 226432009-06-26 Pavel Roskin <proski@gnu.org>
22644
22645 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22646 * include/grub/elf.h: Define symbols without "32" or "64" based
22647 on GRUB_TARGET_WORDSIZE.
22648 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22649 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22650 ELF definitions.
22651 * efiemu/loadcore64.c: Likewise.
22652 * loader/i386/bsd32.c: Likewise.
22653 * loader/i386/bsd64.c: Likewise.
22654 * kern/dl.c: Remove own ELF definitions.
22655 * util/i386/efi/grub-mkimage.c: Likewise.
22656
9bbdfd4d 226572009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22658
22659 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22660 segment 0x0 unconditionally, because the reference generated by
22661 GAS is an absolute address.
22662
a42ce6e9 226632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22664
22665 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22666 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22667
c952cf92 226682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22669
22670 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22671 indexes. Check for -f explicitly.
cc3752ad 22672 (search_file): Improve error message.
22673 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 22674
132a0a59 226752009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22676
22677 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22678 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22679
387a140c 226802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22681
22682 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22683 * conf/i386-ieee1275.rmk: Likewise.
22684 * conf/i386-coreboot.rmk: Likewise.
22685
22686 * kern/i386/pc/startup.S (grub_stop): Remove function.
22687 * kern/i386/ieee1275/startup.S: Likewise.
22688 * kern/i386/coreboot/startup.S: Likewise.
22689 * kern/i386/misc.S (grub_stop): New function.
22690
41da9665 226912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22692
22693 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22694 * kern/i386/realmode.S (real_to_prot): ... to here.
22695
bf337234 226962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22697
22698 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22699 with `kernel.img'.
22700 (kernel_elf_SOURCES): Rename to ...
22701 (kernel_img_SOURCES): ... this.
22702 (kernel_elf_HEADERS): Rename to ...
22703 (kernel_img_HEADERS): ... this. Update all users.
22704 (kernel_elf_ASFLAGS): Rename to ...
22705 (kernel_img_ASFLAGS): ... this.
22706 (kernel_elf_CFLAGS): Rename to ...
22707 (kernel_img_CFLAGS): ... this.
22708 (kernel_elf_LDFLAGS): Rename to ...
22709 (kernel_img_LDFLAGS): ... this.
22710 * conf/i386-coreboot.rmk: Likewise.
22711 * conf/powerpc-ieee1275.rmk: Likewise.
22712
22713 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22714 with "kernel.img".
22715
f52196ff 227162009-06-21 Pavel Roskin <proski@gnu.org>
22717
c3cee413 22718 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22719 to match nested functions.
22720 * loader/sparc64/ieee1275/linux.c: Likewise.
22721
f52196ff 22722 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22723
58750afc 227242009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22725
22726 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22727 all i386 platforms.
22728
15355c7d 227292009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22730
22731 Fix asm file handling on ELF, and remove workarounds.
22732
22733 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 22734 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 22735 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22736 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22737
3f3ec72b 227382009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22739
22740 Load BSD ELF modules
22741
22742 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22743 and loader/i386/bsd64.c
22744 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22745 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22746 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22747 (grub_freebsd_load_elfmodule32): New declaration
22748 (grub_freebsd_load_elfmoduleobj64): Likewise
22749 (grub_freebsd_load_elf_meta32): Likewise
22750 (grub_freebsd_load_elf_meta64): Likewise
22751 (grub_freebsd_add_meta): Likewise
22752 (grub_freebsd_add_meta_module): Likewise
22753 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22754 (grub_freebsd_add_meta_module): Likewise and move module-specific
22755 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22756 (grub_cmd_freebsd): Add elf-kernel specific parts
22757 based on grub_freebsd_add_meta_module
22758 (grub_cmd_freebsd_module): Add type parsing moved from
22759 grub_freebsd_add_meta_module
22760 (grub_cmd_freebsd_module_elf): New function
22761 (cmd_freebsd_module_elf): New variable
22762 (GRUB_MOD_INIT): Register freebsd_module_elf
22763 * loader/i386/bsd32.c: New file
22764 * loader/i386/bsd64.c: Likewise
22765 * loader/i386/bsdXX.c: Likewise
22766 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22767 (grub_elf64_load): Likewise
22768 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22769 All users updated
22770 (grub_elf64_load_hook_t): Likewise
22771
0db15301 227722009-06-21 Colin Watson <cjwatson@ubuntu.com>
22773
22774 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22775 variable.
22776 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22777 don't write a menu entry for recovery mode.
22778
546796c1 227792009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22780
22781 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22782 after it's no longer needed.
22783
cd7310d5 227842009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22785
22786 * include/grub/i386/loader.h (grub_linux_prot_size)
22787 (grub_linux_tmp_addr, grub_linux_real_addr)
22788 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22789 GRUB_MACHINE_PCBIOS.
22790 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22791 common grub_util_info() call to ...
22792 (generate_image): ... here.
22793 Fix use of uninitialized memory, comparison of signed with
22794 unsigned integers and memory leak.
22795 Remove bogus module address message.
22796
ab32d3b5 227972009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22798
22799 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22800 grub_raid_register
22801 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22802
024ef597 228032009-06-19 Pavel Roskin <proski@gnu.org>
22804
22805 * configure.ac: Remove stray AC_MSG_CHECKING.
22806
3ac72b51 228072009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22808
22809 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 22810
e14cd814 228112009-06-18 Pavel Roskin <proski@gnu.org>
22812
22813 * conf/common.rmk: Add fs_file.mod.
22814 * disk/fs_file.c: New file.
22815 * include/grub/disk.h (enum grub_disk_dev_id): Add
22816 GRUB_DISK_DEVICE_FILE_ID.
22817
26586d98 228182009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22819
22820 Fix build with Apple's toolchain. Part 2
22821
22822 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22823 a fake start
22824
26de2bcd 228252009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22826
22827 Fix build with Apple's toolchain. Part 1
22828
22829 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22830 for long calls
22831 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 22832 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 22833 Apple's toolchain
22834
09b3490b 228352009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 Fix warnings
22838
22839 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22840 (decomp_block): initialize ch
22841 use grub_memcpy instead of memcpy
22842
c22a006a 228432009-06-17 Pavel Roskin <proski@gnu.org>
22844
d3638678 22845 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22846 version, use declarations needed to use vga_text as the startup
22847 console.
22848
c22a006a 22849 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22850 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22851 the kernel.
22852 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22853 and grub_at_keyboard_fini(), it's done on module load and
22854 unload.
22855
05b129e0 228562009-06-17 Felix Zielcke <fzielcke@z-51.de>
22857
22858 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22859 file can't be found.
22860 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22861
cf24ed9e 228622009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22863
22864 Fix newline handling
22865
22866 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 22867 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 22868 (grub_script_yylex): don't segfault on unterminated script
22869 newline terminates command and variable
22870
74aa8e4b 228712009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22872
22873 avoid double grub_adjust_range call. Bug reported by David Simner
22874
22875 * kern/disk.c (grub_disk_write): change to raw disk access before
22876 calling disk_read
22877
1bd265f3 228782009-06-17 Colin Watson <cjwatson@ubuntu.com>
22879
22880 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22881 spaces, for the benefit of help2man.
22882 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22883
a2d08c06 228842009-06-16 Pavel Roskin <proski@gnu.org>
22885
22886 * kern/i386/halt.c: Include grub/machine/init.h.
22887 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22888
b97bcb19 228892009-06-16 Felix Zielcke <fzielcke@z-51.de>
22890
22891 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22892 drivemap menuentry.
22893
0644f96c 228942009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22895
22896 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22897 `echo' command.
22898
3ef17a2e 228992009-06-16 Pavel Roskin <proski@gnu.org>
22900
22901 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22902 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22903 save %dx, we only need %dl and we never change it.
22904 * boot/i386/pc/cdboot.S: Don't set the root drive.
22905 * boot/i386/pc/pxeboot.S: Likewise.
22906 * include/grub/i386/pc/boot.h: Remove
22907 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22908 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22909 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22910 * kern/i386/pc/init.c (make_install_device): Remove references
22911 to grub_root_drive.
22912 * kern/i386/pc/startup.S: Likewise.
22913 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22914
693fe637 229152009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22916
22917 xnu_uuid command
22918
22919 * commands/xnu_uuid.c: new file
22920 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22921 (xnu_uuid_mod_SOURCES): new variable
22922 (xnu_uuid_mod_CFLAGS): likewise
22923 (xnu_uuid_mod_LDFLAGS): likewise
22924 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22925 * conf/i386-ieee1275.rmk: likewise
22926 * conf/i386-pc.rmk: likewise
22927 * conf/powerpc-ieee1275.rmk: likewise
22928 * conf/sparc64-ieee1275.rmk: likewise
22929 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22930
c9da87d0 229312009-06-16 Pavel Roskin <proski@gnu.org>
22932
22933 * configure.ac: Avoid '==' in test command, it's not portable.
22934
9c6f4596 229352009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22936
22937 Probe command
22938
22939 * commands/probe.c: new file
22940 * conf/common.rmk (pkglib_MODULES): add probe.mod
22941 (probe_mod_SOURCES): new variable
22942 (probe_mod_CFLAGS): likewise
22943 (probe_mod_LDFLAGS): likewise
22944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22945 * conf/i386-ieee1275.rmk: likewise
22946 * conf/i386-pc.rmk: likewise
22947 * conf/powerpc-ieee1275.rmk: likewise
22948 * conf/sparc64-ieee1275.rmk: likewise
22949
70b7f9fd 229502009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22951
22952 Fix handling of string like \"hello\" and "a
22953 b"
22954
22955 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22956 (grub_script_yylex): fix parsing of quoting, escaping and newline
22957
71c79a6b 229582009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22959
dd74360c 22960 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 22961 handling
dd74360c 22962
0644f96c 229632009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 22964
22965 * util/grub-mkconfig.in: Fix parsing of --output option.
22966
e40893c3 229672009-06-12 Pavel Roskin <proski@gnu.org>
22968
22969 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22970 genmk.rb don't need to be generated or installed.
22971
3a1acfe2 229722009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22973
22974 * commands/i386/pc/drivemap_int13h.S: add more comments
22975
3a4575d4 229762009-06-11 Pavel Roskin <proski@gnu.org>
22977
0658e928 22978 * Makefile.in (uninstall): Uninstall manuals.
22979
ca0388f0 22980 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22981 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22982 and update-grub_lib in two places.
22983 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22984
e3b27c39 22985 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22986 a compiler warning.
22987
3a4575d4 22988 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22989 `entry_lo' to fix variable shadowing.
22990
af1f4f55 229912009-06-11 Christian Franke <franke@computer.org>
22992
22993 * kern/misc.c (__enable_execute_stack): Add missing return type
22994 to prevent gcc warning.
22995
5225e649 229962009-06-11 Felix Zielcke <fzielcke@z-51.de>
22997
22998 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22999
7d83bd47 230002009-06-11 Pavel Roskin <proski@gnu.org>
23001
c1cb63ba 23002 * Makefile.in: Don't rely on any scripts being executable.
23003 Always use $(SHELL) to run shell scripts.
23004
7d83bd47 23005 * configure.ac: Always define ___main if using -nostdlib. This
23006 fixes tests on Cygwin.
23007
948f48e7 230082009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
23009
23010 UDF fix
23011
7d83bd47 23012 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 23013 is in bytes and not in blocks
7d83bd47 23014
8ada9bc1 230152009-06-11 Pavel Roskin <proski@gnu.org>
23016
23017 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
23018 warning.
23019
25ad2323 230202009-06-11 Felix Zielcke <fzielcke@z-51.de>
23021
23022 * util/grub.d/30_os-prober.in: Fix a comment. Source
23023 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
23024 to set the root device. Place drivemap command in the generated
23025 chain entry.
23026
e65acb0c 230272009-06-11 Pavel Roskin <proski@gnu.org>
23028
23029 * configure.ac: Remove host_m32. Issues with 64-bit utilities
23030 have long been resolved.
23031
f285fe2d 230322009-06-11 Colin Watson <cjwatson@ubuntu.com>
23033
bd47b0b5 23034 * util/grub.d/10_linux.in: Capitalise "Linux".
23035
f285fe2d 23036 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
23037
a0c62e4e 230382009-06-11 Pavel Roskin <proski@gnu.org>
23039
b6783cb2 23040 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
23041 fix a gcc warning and ensure that the function won't ever exit.
23042
dde032e8 23043 * kern/i386/ieee1275/init.c: Add missing prototype for
23044 grub_stop_floppy().
23045
22cd079d 23046 * loader/ieee1275/multiboot2.c [__i386__]: Include
23047 grub/cpu/multiboot.h.
23048
a0c62e4e 23049 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23050 casts to short - they are not portable and cause warnings. Fix
23051 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23052
63963d17 230532009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23054
23055 Drivemap fixes
23056
23057 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23058 new function
23059 (grub_get_root_biosnumber_saved): new variable
23060 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23061 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 23062 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 23063 %dx after the call if necessary
23064 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23065 (boot_mod_SOURCES): remove
23066 (boot_mod_CFLAGS): remove
23067 (boot_mod_LDFLAGS): remove
23068 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23069 (boot_mod_SOURCES): new variable
23070 (boot_mod_CFLAGS): likewise
23071 (boot_mod_LDFLAGS): likewise
23072 * conf/i386-efi.rmk: likewise
23073 * conf/i386-ieee1275.rmk: likewise
23074 * conf/i386-pc.rmk: likewise
23075 * conf/powerpc-ieee1275.rmk: likewise
23076 * conf/sparc64-ieee1275.rmk: likewise
23077 * conf/x86_64-efi.rmk: likewise
23078 * include/grub/i386/pc/biosnum.h: new file
23079 * lib/i386/pc/biosnum.c: likewise
23080 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23081 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23082 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 23083
33abf7ae 230842009-06-10 Pavel Roskin <proski@gnu.org>
23085
5ac35b35 23086 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23087 Use separate variables. Read only the file size at the end, but
23088 not the checksum that we don't use.
23089
5c5215d5 23090 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23091 Adjust all callers.
23092
27d5fef7 23093 * kern/ieee1275/openfw.c: Remove libc includes.
23094 * kern/ieee1275/cmain.c: Likewise.
23095 * include/grub/ieee1275/ieee1275.h: Likewise.
23096
33abf7ae 23097 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23098 compiler warnings.
23099
19d50c2b 231002009-06-10 Felix Zielcke <fzielcke@z-51.de>
23101
23102 * Makefile.in: Remove all trailing whitespace.
23103 * conf/i386-pc.rmk: Likewise.
23104 * conf/powerpc-ieee1275.rmk: Likewise.
23105 * conf/sparc64-ieee1275.rmk: Likewise.
23106 * docs/grub.texi: Likewise.
23107 * docs/texinfo.tex: Likewise.
23108 * disk/fs_uuid.c: Likewise.
23109 * disk/lvm.c: Likewise.
23110 * disk/scsi.c: Likewise.
23111 * disk/ata.c: Likewise.
23112 * disk/ieee1275/ofdisk.c: Likewise.
23113 * disk/i386/pc/biosdisk.c: Likewise.
23114 * disk/host.c: Likewise.
23115 * disk/raid.c: Likewise.
23116 * disk/efi/efidisk.c: Likewise.
23117 * disk/usbms.c: Likewise.
23118 * disk/memdisk.c: Likewise.
23119 * disk/loopback.c: Likewise.
23120 * kern/powerpc/dl.c: Likewise.
23121 * kern/device.c: Likewise.
23122 * kern/dl.c: Likewise.
23123 * kern/sparc64/dl.c: Likewise.
23124 * kern/ieee1275/ieee1275.c: Likewise.
23125 * kern/term.c: Likewise.
23126 * kern/fs.c: Likewise.
23127 * kern/i386/dl.c: Likewise.
23128 * kern/i386/pc/startup.S: Likewise.
23129 * kern/i386/pc/init.c: Likewise.
23130 * kern/i386/pc/mmap.c: Likewise.
23131 * kern/i386/pc/lzo1x.S: Likewise.
23132 * kern/i386/ieee1275/init.c: Likewise.
23133 * kern/i386/realmode.S: Likewise.
23134 * kern/i386/tsc.c: Likewise.
23135 * kern/partition.c: Likewise.
23136 * kern/corecmd.c: Likewise.
23137 * kern/file.c: Likewise.
23138 * kern/efi/efi.c: Likewise.
23139 * kern/efi/init.c: Likewise.
23140 * kern/efi/mm.c: Likewise.
23141 * kern/main.c: Likewise.
23142 * kern/err.c: Likewise.
23143 * kern/env.c: Likewise.
23144 * kern/disk.c: Likewise.
23145 * kern/generic/millisleep.c: Likewise.
23146 * kern/generic/rtc_get_time_ms.c: Likewise.
23147 * kern/misc.c: Likewise.
23148 * kern/parser.c: Likewise.
23149 * genmk.rb: Likewise.
23150 * configure.ac: Likewise.
23151 * boot/i386/pc/diskboot.S: Likewise.
23152 * boot/i386/pc/pxeboot.S: Likewise.
23153 * boot/i386/pc/boot.S: Likewise.
23154 * boot/i386/pc/lnxboot.S: Likewise.
23155 * boot/i386/pc/cdboot.S: Likewise.
23156 * parttool/pcpart.c: Likewise.
23157 * video/readers/tga.c: Likewise.
23158 * video/video.c: Likewise.
23159 * video/bitmap.c: Likewise.
23160 * lib/envblk.c: Likewise.
23161 * lib/i386/setjmp.S: Likewise.
23162 * fs/xfs.c: Likewise.
23163 * fs/afs.c: Likewise.
23164 * fs/fat.c: Likewise.
23165 * fs/ntfs.c: Likewise.
23166 * fs/udf.c: Likewise.
23167 * fs/affs.c: Likewise.
23168 * fs/iso9660.c: Likewise.
23169 * fs/hfs.c: Likewise.
23170 * fs/fshelp.c: Likewise.
23171 * fs/ext2.c: Likewise.
23172 * fs/jfs.c: Likewise.
23173 * fs/reiserfs.c: Likewise.
23174 * fs/hfsplus.c: Likewise.
23175 * fs/minix.c: Likewise.
23176 * fs/cpio.c: Likewise.
23177 * fs/sfs.c: Likewise.
23178 * fs/ufs.c: Likewise.
23179 * efiemu/prepare.c: Likewise.
23180 * efiemu/loadcore_common.c: Likewise.
23181 * efiemu/runtime/efiemu.sh: Likewise.
23182 * efiemu/runtime/efiemu.S: Likewise.
23183 * efiemu/runtime/efiemu.c: Likewise.
23184 * efiemu/pnvram.c: Likewise.
23185 * efiemu/main.c: Likewise.
23186 * efiemu/i386/pc/cfgtables.c: Likewise.
23187 * efiemu/i386/loadcore64.c: Likewise.
23188 * efiemu/i386/loadcore32.c: Likewise.
23189 * efiemu/loadcore.c: Likewise.
23190 * efiemu/symbols.c: Likewise.
23191 * efiemu/mm.c: Likewise.
23192 * include/grub/autoefi.h: Likewise.
23193 * include/grub/datetime.h: Likewise.
23194 * include/grub/term.h: Likewise.
23195 * include/grub/hfs.h: Likewise.
23196 * include/grub/lvm.h: Likewise.
23197 * include/grub/i386/tsc.h: Likewise.
23198 * include/grub/i386/linux.h: Likewise.
23199 * include/grub/i386/xnu.h: Likewise.
23200 * include/grub/i386/efiemu.h: Likewise.
23201 * include/grub/i386/pc/biosdisk.h: Likewise.
23202 * include/grub/i386/pc/memory.h: Likewise.
23203 * include/grub/i386/pc/vbe.h: Likewise.
23204 * include/grub/parttool.h: Likewise.
23205 * include/grub/video.h: Likewise.
23206 * include/grub/memory.h: Likewise.
23207 * include/grub/fs.h: Likewise.
23208 * include/grub/partition.h: Likewise.
23209 * include/grub/xnu.h: Likewise.
23210 * include/grub/efi/api.h: Likewise.
23211 * include/grub/efi/pe32.h: Likewise.
23212 * include/grub/efi/memory.h: Likewise.
23213 * include/grub/multiboot.h: Likewise.
23214 * include/grub/usbdesc.h: Likewise.
23215 * include/grub/multiboot2.h: Likewise.
23216 * include/grub/acpi.h: Likewise.
23217 * include/grub/efiemu/efiemu.h: Likewise.
23218 * include/grub/disk.h: Likewise.
23219 * include/grub/ieee1275/ieee1275.h: Likewise.
23220 * include/grub/net.h: Likewise.
23221 * include/grub/machoload.h: Likewise.
23222 * include/grub/macho.h: Likewise.
23223 * include/multiboot.h: Likewise.
23224 * genmoddep.awk: Likewise.
23225 * normal/main.c: Likewise.
23226 * normal/menu_entry.c: Likewise.
23227 * normal/menu_viewer.c: Likewise.
23228 * normal/completion.c: Likewise.
23229 * normal/cmdline.c: Likewise.
23230 * normal/misc.c: Likewise.
23231 * normal/datetime.c: Likewise.
23232 * bus/usb/usbtrans.c: Likewise.
23233 * bus/usb/ohci.c: Likewise.
23234 * bus/usb/uhci.c: Likewise.
23235 * bus/usb/usb.c: Likewise.
23236 * mmap/efi/mmap.c: Likewise.
23237 * mmap/i386/pc/mmap_helper.S: Likewise.
23238 * mmap/i386/pc/mmap.c: Likewise.
23239 * mmap/i386/mmap.c: Likewise.
23240 * mmap/i386/uppermem.c: Likewise.
23241 * mmap/mmap.c: Likewise.
23242 * commands/acpi.c: Likewise.
23243 * commands/echo.c: Likewise.
23244 * commands/blocklist.c: Likewise.
23245 * commands/loadenv.c: Likewise.
23246 * commands/usbtest.c: Likewise.
23247 * commands/boot.c: Likewise.
23248 * commands/parttool.c: Likewise.
23249 * commands/search.c: Likewise.
23250 * commands/cat.c: Likewise.
23251 * commands/i386/pc/play.c: Likewise.
23252 * commands/i386/pc/drivemap.c: Likewise.
23253 * commands/i386/pc/vbeinfo.c: Likewise.
23254 * commands/i386/pc/acpi.c: Likewise.
23255 * commands/i386/pc/vbetest.c: Likewise.
23256 * commands/ls.c: Likewise.
23257 * commands/cmp.c: Likewise.
23258 * commands/test.c: Likewise.
23259 * commands/efi/acpi.c: Likewise.
23260 * commands/gptsync.c: Likewise.
23261 * commands/help.c: Likewise.
23262 * partmap/amiga.c: Likewise.
23263 * partmap/apple.c: Likewise.
23264 * partmap/acorn.c: Likewise.
23265 * partmap/pc.c: Likewise.
23266 * partmap/sun.c: Likewise.
23267 * partmap/gpt.c: Likewise.
23268 * script/sh/lexer.c: Likewise.
23269 * script/sh/function.c: Likewise.
23270 * font/font.c: Likewise.
23271 * font/font_cmd.c: Likewise.
23272 * loader/powerpc/ieee1275/linux.c: Likewise.
23273 * loader/efi/chainloader.c: Likewise.
23274 * loader/multiboot_loader.c: Likewise.
23275 * loader/macho.c: Likewise.
23276 * loader/i386/multiboot.c: Likewise.
23277 * loader/i386/linux.c: Likewise.
23278 * loader/i386/pc/linux.c: Likewise.
23279 * loader/i386/pc/multiboot2.c: Likewise.
23280 * loader/i386/pc/chainloader.c: Likewise.
23281 * loader/i386/pc/xnu.c: Likewise.
23282 * loader/i386/bsd_trampoline.S: Likewise.
23283 * loader/i386/efi/linux.c: Likewise.
23284 * loader/i386/multiboot_elfxx.c: Likewise.
23285 * loader/i386/bsd_helper.S: Likewise.
23286 * loader/i386/bsd.c: Likewise.
23287 * loader/i386/linux_trampoline.S: Likewise.
23288 * loader/i386/xnu_helper.S: Likewise.
23289 * loader/i386/xnu.c: Likewise.
23290 * loader/i386/bsd_pagetable.c: Likewise.
23291 * loader/i386/multiboot_helper.S: Likewise.
23292 * loader/xnu.c: Likewise.
23293 * loader/xnu_resume.c: Likewise.
23294 * io/gzio.c: Likewise.
23295 * term/efi/console.c: Likewise.
23296 * term/terminfo.c: Likewise.
23297 * term/ieee1275/ofconsole.c: Likewise.
23298 * term/i386/pc/serial.c: Likewise.
23299 * term/i386/pc/vesafb.c: Likewise.
23300 * term/i386/pc/vga.c: Likewise.
23301 * term/usb_keyboard.c: Likewise.
23302 * term/gfxterm.c: Likewise.
23303 * aclocal.m4: Likewise.
23304 * util/lvm.c: Likewise.
23305 * util/grub.d/30_os-prober.in: Likewise.
23306 * util/grub.d/10_hurd.in: Likewise.
23307 * util/console.c: Likewise.
23308 * util/grub-macho2img.c: Likewise.
23309 * util/grub-probe.c: Likewise.
23310 * util/hostfs.c: Likewise.
23311 * util/i386/pc/grub-mkimage.c: Likewise.
23312 * util/i386/pc/grub-setup.c: Likewise.
23313 * util/i386/efi/grub-mkimage.c: Likewise.
23314 * util/grub-mkconfig.in: Likewise.
23315 * util/raid.c: Likewise.
23316 * util/resolve.c: Likewise.
23317 * util/grub-mkdevicemap.c: Likewise.
23318 * util/grub-emu.c: Likewise.
23319 * util/getroot.c: Likewise.
23320 * util/hostdisk.c: Likewise.
23321 * util/usb.c: Likewise.
23322 * util/grub-editenv.c: Likewise.
23323 * util/misc.c: Likewise.
23324
d2d49665 233252009-06-10 Felix Zielcke <fzielcke@z-51.de>
23326
23327 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23328 `genparttoollist.sh'.
23329 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23330 Add `*.sh' to the list find searches for and change `mdate.sh'
23331 to `mdate-sh'.
23332
fe052e37 233332009-06-10 Pavel Roskin <proski@gnu.org>
23334
2763ac18 23335 * include/grub/multiboot2.h: Provide compatibility defines for
23336 multiboot2.h.
23337 * include/multiboot2.h: Include stdint.h only if needed, using
23338 angle brackets.
23339 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23340 grub/multiboot2.h.
23341 * loader/ieee1275/multiboot2.c: Likewise.
23342 * loader/multiboot2.c: Likewise.
23343 * loader/multiboot_loader.c: Likewise.
23344
437e6adc 23345 * configure.ac: Use -nostdlib when probing for the target. It
23346 should not be required to have libc for the target.
23347
06a6836c 23348 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23349 they fail without libc headers for the target.
23350 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23351 exports.
23352 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23353 preprocessor conditionals.
23354
fe052e37 23355 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23356 build system doesn't need to be aware of the tar.c internals.
23357
afd22553 233582009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 23359
afd22553 23360 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 23361
6b787c4f 233622009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23363
23364 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23365 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23366
233672009-06-09 Felix Zielcke <fzielcke@z-51.de>
23368
23369 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 23370 aren't available if ata.mod gets used.
6b787c4f 23371
473d1e45 233722009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 23373
473d1e45 23374 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 23375 initialising controller.
473d1e45 23376 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 23377
255a27d4 233782009-06-08 Felix Zielcke <fzielcke@z-51.de>
23379
23380 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23381 to choose between ata and biosdisk module on i386-pc.
23382
473d1e45 233832009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 23384
d55842d8 23385 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23386 Subclass and Programming Interface fields in terms of the 3 byte
23387 Class Code register.
23388 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23389
fa5db0b1 23390 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23391 interface is OHCI. Add grub_dprintf for symmetry with
23392 bus/usb/uhci.c.
23393 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23394 interface is UHCI. Add interf variable for programming
23395 interface. Print interface with class/subclass.
23396
c0947beb 23397 * bus/usb/ohci.c: Set interf with correct field.
23398
69da8877 23399 * bus/usb/uhci.c: Remove unneeded doubled lines.
23400 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23401 Remove whitespace inside comment.
23402
9e172e30 234032009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23404
23405 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23406 as fallback an equivalent option without depth.
23407
de65ee2b 234082009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23409
23410 Not fail if unable to retrieve C/H/S on LBA disks
23411
473d1e45 23412 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 23413 if unable to retrieve C/H/S on LBA disks
23414
b57ea2c9 234152009-06-08 Pavel Roskin <proski@gnu.org>
23416
23417 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23418 about aliasing.
23419
af361263 234202009-06-08 Felix Zielcke <fzielcke@z-51.de>
23421
23422 * Makefile.in (uninstall): Remove all $lib_DATA files.
23423
4c9ec6b3 234242009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23425
23426 Bugfix: install on partitionless device
23427
23428 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23429 is a whole disk
23430
e76fc924 234312009-06-08 Felix Zielcke <fzielcke@z-51.de>
23432
23433 * Makefile.in (uninstall): Remove all $include_DATA files.
23434
ba5a0d05 234352009-06-08 Felix Zielcke <fzielcke@z-51.de>
23436
23437 * commands/true.c: New file. Implement the true and false commands.
23438 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23439 (true_mod_SOURCES): New variable.
23440 (true_mod_CFLAGS): Likewise.
23441 (true_mod_LDFLAGS): Likewise.
23442
c8048e32 234432009-06-05 Colin D Bennett <colin@gibibit.com>
23444
23445 Optimized font character lookup using binary search instead of linear
23446 search. Fonts now are required to have the character index ordered by
23447 code point.
23448
23449 * font/font.c (load_font_index): Verify that fonts have ordered
23450 character indices.
23451 (find_glyph): Use binary search instead of linear search to find a
23452 character in a font.
23453
408305be 234542009-06-05 Michael Scherer <misc@mandriva.org>
23455
23456 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23457 uses case sensitive btree.
23458 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23459 only for case insensitive filesystems.
23460
8ee1e0d9 234612009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23462
23463 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23464 * conf/common.rmk (search_mod_CFLAGS): likewise
23465
a9966eb1 234662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23467
473d1e45 23468 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 23469 compensate a compiler bug
23470
9e7100fb 234712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23472
473d1e45 23473 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 23474 instead of '\b'
473d1e45 23475
ede21d71 234762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23477
23478 Definitions for creating asm symbols with Apple's CC
23479
23480 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23481 [APPLE_CC] (VARIABLE): likewise
23482
9dbf7653 234832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 Disable lnxboot.img when compiled
23486 with Apple's CC
23487
23488 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23489 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23490 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23491 [! APPLE_CC] (CODE_LENG): skip
23492 [! APPLE_CC] (setup_sects): likewise
23493 [! APPLE_CC]: skip filling
473d1e45 23494
e93cdc3d 234952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23496
23497 Address in trampolines based on 32-bit registers when compiled
23498 with Apple's CC
23499
473d1e45 23500 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 23501 for addresses
23502 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23503
6c688477 235042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23505
23506 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23507
23508 * kern/misc.c [APPLE_CC] (memcpy): new function
23509 [APPLE_CC] (memmove): likewise
23510 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 23511 (memcpy): define alias conditionally on !APPLE_CC
6c688477 23512 (memset): likewise
23513 (abort): likewise
23514 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23515 APPLE_CC are defined
23516 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23517 (grub_assert_fail): make prototype conditional
23518
e37ffc5c 235192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23520
23521 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23522
473d1e45 23523 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23524 grub-macho2img
e37ffc5c 23525 (CLEANFILES): add grub-macho2img
23526 (grub_macho2img_SOURCES): new variable
23527 * kern/i386/pc/startup.S (bss_start): new variable
23528 (bss_end): likewise
23529 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23530 * util/grub-macho2img.c: new file
23531
cf00df31 235322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23533
23534 Use objconv when compiling with Apple's CC
23535
23536 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23537 (efiemu64.o): likewise
23538 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23539 when compiling with Apple's CC
23540 (efiemu64_s.o): likewise
23541 * configure.ac: check for objconv when compiling with Apple's CC
23542 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 23543
d119a20c 235442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23545
23546 Define segment as well as section when compiling with
23547 Apple's CC
23548
23549 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23550 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23551 (efiemu_convert_pointer): likewise
23552 (efiemu_set_virtual_address_map): likewise
23553 (efiemu_convert_pointer): likewise
23554 (efiemu_getcrc32): likewise
23555 (init_crc32_table): likewise
23556 (reflect): likewise
23557 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23558 (GRUB_MOD_DEP): likewise
473d1e45 23559
c8600122 235602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23561
23562 Allow a compilation without -mcmodel=large
23563
23564 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23565 when compiled without -mcmodel=large
473d1e45 23566 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 23567 without -mcmodel=large
473d1e45 23568 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 23569 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 23570
e8df1d4e 235712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23572
23573 Remove nested functions in efiemu core
23574
23575 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 23576
cc6c3ac1 235772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23578
23579 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23580
23581 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23582 temporary storage
473d1e45 23583 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23584 using Apple's CC
cc6c3ac1 23585 (grub_cpu_is_tsc_supported): likewise
23586 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 23587
3e325901 235882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23589
23590 Absolute addressing through constant with Apple's cc
23591
23592 * kern/i386/pc/startup.S: Define necessary constants
23593 and address through it when using ABS with Apple's CC
23594 * boot/i386/pc/diskboot.S: likewise
23595 * boot/i386/pc/boot.S: likewise
23596 * boot/i386/pc/lnxboot.S: likewise
23597 * boot/i386/pc/cdboot.S: likewise
23598 * mmap/i386/pc/mmap_helper.S: likewise
23599 * commands/i386/pc/drivemap_int13h.S: likewise
23600
2b167a72 236012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23602
23603 Check if compiler is apple cc
23604
23605 * Makefile.in (ASFLAGS): new variable
23606 (TARGET_ASFLAGS): likewise
23607 (TARGET_MODULE_FORMAT): likewise
23608 (TARGET_APPLE_CC): likewise
23609 (OBJCONV): likewise
23610 (TARGET_IMG_CFLAGS): likewise
23611 (TARGET_CPPFLAGS): add includedir
23612 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23613 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23614 Check for linker script only if compiler isn't Apple's CC
23615 (TARGET_MODULE_FORMAT): set
23616 (TARGET_APPLE_CC): likewise
23617 (TARGET_ASFLAGS): likewise
23618 (ASFLAGS): likewise
23619 Check for objcopy only if compiler isn't Apple's CC
23620 Check for BSS symbol only if compiler isn't Apple's CC
23621 * genmk.rb: adapt nm options if we use Apple's utils
23622 * aclocal.m4 (grub_apple_cc): new test
23623 (grub_apple_target_cc): likewise
473d1e45 23624
fb14123e 236252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23626
23627 Simplify sed expressions and improve awk
23628
23629 * Makefile.in (install-local): simplify sed expression
23630 * gencmdlist.sh: likewise
23631 * genmoddep.awk: avoid adding module as a dependency of itself
23632
5b889789 236332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23634
23635 Add missing start symbols
23636
23637 * boot/i386/pc/boot.S: add start
fb14123e 23638 * boot/i386/pc/pxeboot.S: likewise
473d1e45 23639
fd2bf2e3 236402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23641
23642 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 23643
23644 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 23645 (relocate_addresses): consider both r_addend and value at offset
23646 (make_mods_section): zerofill modinfo and header
23647 (convert_elf): write prefix here
473d1e45 23648
5389763d 236492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23650
23651 Use .asciz instead of .string
23652
23653 * i386/pc/diskboot.S: use .asciz instead of .string
23654 * i386/pc/boot.S: likewise
23655 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23656 (GRUB_MOD_NAME): likewise
473d1e45 23657
3eb5ed4e 236582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23659
23660 gfxpayload support
23661
23662 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23663 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23664 (grub_video_setup): remove
23665 (grub_video_set_mode): new prototype
23666 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23667 (vid_mode): remove
23668 (linux_vesafb_res): compile only on PCBIOS
23669 (grub_linux_boot): support gfxpayload
23670 * loader/i386/pc/xnu.c (video_hook): new function
23671 (grub_xnu_set_video): support gfxpayload
23672 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23673 (DEFAULT_VIDEO_HEIGHT): likewise
23674 (DEFAULT_VIDEO_FLAGS): likewise
23675 (DEFAULT_VIDEO_MODE): new definition
23676 (video_hook): new function
23677 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 23678 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 23679 loading xnu
23680 * video/video.c (grub_video_setup): removed
473d1e45 23681 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 23682 grub_video_setup
23683
4b0e1143 236842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23685
23686 Avoid calling biosdisk in drivemap
23687
23688 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23689 (revparse_biosdisk): likewise
23690 (list_mappings): derive name from id directly
23691 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 23692
fda6cb98 236932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23694
23695 Script fixes
23696
23697 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23698 (grub_lexer_param): add tokenonhold
23699 (grub_script_create_cmdline): remove cmdline. All callers updated
23700 (grub_script_function_create): make functionname
23701 grub_script_arg. All callers updated
23702 (grub_script_execute_argument_to_string): new prototype
23703 * kern/parser.c (state_transitions): reorder
23704 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 23705 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 23706 make global
23707 (grub_script_execute_cmdline): use new format
23708 * script/sh/function.c (grub_script_function_create): make functionname
23709 grub_script_arg. All callers updated
473d1e45 23710 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 23711 (grub_script_yylex): remove
23712 (grub_script_yylex2): renamed to ...
23713 (grub_script_yylex): ...renamed
23714 parse the expressions like a${b}c
23715 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23716 (GRUB_PARSER_TOKEN_VAR): remove
23717 (GRUB_PARSER_TOKEN_NAME): likewise
23718 ("if"): declare as typeless
23719 ("while"): likewise
23720 ("function"): likewise
23721 ("else"): likewise
23722 ("then"): likewise
23723 ("fi"): likewise
23724 (text): remove
23725 (argument): likewise
23726 (script): accept empty scripts and make exit on error
23727 (arguments): use GRUB_PARSER_TOKEN_ARG
23728 (function): likewise
23729 (command): move error handling to script
23730 (menuentry): move grub_script_lexer_ref before
473d1e45 23731 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 23732 argument. All callers updated
23733
f4448a07 237342009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23735
23736 Prevent GRUB from probing floppies during boot.
23737
23738 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23739 * commands/search.c (options): Add --no-floppy.
23740 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23741 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23742 --no-floppy when searching for UUIDs.
23743
2bf5885a 237442009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23745
23746 Simplify the code duplication in commands/search.c.
23747
23748 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23749 (search_fs): ... this. Update all users.
23750
f6fd460a 237512009-06-03 Felix Zielcke <fzielcke@z-51.de>
23752
23753 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23754
cbb3c83e 237552009-05-28 Pavel Roskin <proski@gnu.org>
23756
57788cfd 23757 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23758 Remove the original symlink explicitly.
23759
cbb3c83e 23760 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23761 just one slash. That's how grub_fshelp_find_file() does it.
23762
cd0d5e30 237632009-05-26 Pavel Roskin <proski@gnu.org>
23764
f0f8bbe2 23765 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23766 to `str'.
23767
cd0d5e30 23768 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23769 possibly unused.
23770
8c2cab51 237712009-05-25 Christian Franke <franke@computer.org>
23772
23773 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23774 register.
23775 (grub_atapi_identify): Add wait after drive select.
23776 (grub_ata_identify): Do more strict status register check before
23777 calling grub_atapi_identify (). Suppress error message if status
23778 register is 0x00 after command failure. Add status register
23779 check after PIO read to avoid bogus identify due to stuck DRQ.
23780 Thanks to Pavel Roskin for testing.
23781 (grub_device_initialize): Remove unsafe status register check.
23782 Thanks to 'phcoder' for problem report and patch.
23783 Prevent sign extension in debug message.
23784
230c0ad6 237852009-05-23 Colin D Bennett <colin@gibibit.com>
23786
23787 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23788 definition file, and functions defined in `normal/menu.c' have had
23789 their prototypes moved to `include/grub/menu.h' for consistency.
23790
23791 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23792 from normal.h.
23793 (grub_menu_get_entry): Likewise.
23794 (grub_menu_get_timeout): Likewise.
23795 (grub_menu_set_timeout): Likewise.
23796 (grub_menu_execute_entry): Likewise.
23797 (grub_menu_execute_with_fallback): Likewise.
23798 (grub_menu_entry_run): Likewise.
23799
23800 * include/grub/normal.h: Re-ordered and grouped function
23801 prototypes by file that the function is defined in.
23802 (grub_menu_execute_callback): Removed; moved to menu.h.
23803 (grub_menu_get_entry): Likewise.
23804 (grub_menu_get_timeout): Likewise.
23805 (grub_menu_set_timeout): Likewise.
23806 (grub_menu_execute_entry): Likewise.
23807 (grub_menu_execute_with_fallback): Likewise.
23808 (grub_menu_entry_run): Likewise.
23809 (grub_menu_addentry): Renamed from this ...
23810 (grub_normal_add_menu_entry): ... to this.
23811
23812 * normal/main.c (grub_menu_addentry): Renamed from this ...
23813 (grub_normal_add_menu_entry): ... to this.
23814
23815 * script/sh/execute.c (grub_script_execute_menuentry): Update
23816 reference to renamed grub_menu_addentry function.
23817
861f03a5 238182009-05-23 Felix Zielcke <fzielcke@z-51.de>
23819
23820 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23821
96b1619a 238222009-05-22 Pavel Roskin <proski@gnu.org>
23823
bf6a5fb2 23824 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23825 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23826 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23827 compiling for the i386 targets, but not for the utilities.
23828
96b1619a 23829 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23830 to grub_uint8_t.
23831 (grub_root_drive): Likewise.
23832 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23833 remove alignment.
23834 (grub_root_drive): Change size to byte.
23835 (grub_start_addr): Remove.
23836 (grub_end_addr): Likewise.
23837 (grub_apm_bios_info): Likewise.
23838
b729776b 238392009-05-21 Felix Zielcke <fzielcke@z-51.de>
23840
23841 * normal/i386: Remove.
23842 * normal/powerpc: Likewise.
23843 * normal/sparc64: Likewise.
23844 * normal/x86_64: Likewise.
23845
0a15ce80 238462009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23847
23848 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 23849 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 23850 * loader/i386/xnu_helper.S: Likewise
d6da58e6 23851
33db9015 238522009-05-18 Colin D Bennett <colin@gibibit.com>
23853
d6da58e6 23854 Display error messages when parsing a Lua statement fails.
23855 Previously, executing a syntactically invalid statement like
23856 ")foo" or "bar;" would silently fail.
33db9015 23857
23858 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 23859 (grub_lua_parse_line): Improved reporting of Lua parser and
23860 execution errors.
33db9015 23861
46422c89 238622009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23863
23864 Remove -Werror which causes build to fail on some systems
23865
23866 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23867 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23868 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 23869
22f53a96 238702009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23871
23872 trampoline for linux on 64-bit platform
23873
18f547ad 23874 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23875 loader/i386/efi/linux_trampoline.S
23876 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 23877 declaration
d6da58e6 23878 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23879 here
22f53a96 23880 * loader/i386/linux_trampoline.S: moved here
d6da58e6 23881 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23882 trampoline
22f53a96 23883 (jumpvector): removed
23884 (grub_linux_trampoline_start): new declaration
23885 (grub_linux_trampoline_end): likewise
23886 (grub_linux_boot): use trampoline when on 64-bit platform
23887 * loader/i386/linux.c: likewise
23888
cb5a0f40 238892009-05-16 Pavel Roskin <proski@gnu.org>
23890
23891 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23892 const to avoid a warning.
23893 (grub_lua_setenv): Likewise.
23894 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23895 lmsg to fix a warning.
23896
334f2c28 238972009-05-16 Felix Zielcke <fzielcke@z-51.de>
23898
23899 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 23900 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23901 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23902 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23903 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23904 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23905 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23906 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 23907
59e5d3ec 239082009-05-16 Felix Zielcke <fzielcke@z-51.de>
23909
23910 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23911
9d87a1ba 239122009-05-16 Bean <bean123ch@gmail.com>
23913
23914 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23915 (lua_mod_SOURCES): New variable.
23916 (lua_mod_CFLAGS): Likewise.
23917 (lua_mod_LDFLAGS): Likewise.
23918
23919 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23920 (setjmp_mod_SOURCES): New variable.
23921 (setjmp_mod_CFLAGS): Likewise.
23922 (setjmp_LDFLAGS): Likewise.
23923
23924 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23925 (setjmp_mod_SOURCES): New variable.
23926 (setjmp_mod_CFLAGS): Likewise.
23927 (setjmp_LDFLAGS): Likewise.
23928
23929 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23930 (setjmp_mod_SOURCES): New variable.
23931 (setjmp_mod_CFLAGS): Likewise.
23932 (setjmp_LDFLAGS): Likewise.
23933
23934 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23935 (setjmp_mod_SOURCES): New variable.
23936 (setjmp_mod_CFLAGS): Likewise.
23937 (setjmp_LDFLAGS): Likewise.
23938
23939 * normal/i386/setjmp.S: Moved from here ...
23940 * lib/i386/setjmp.S: ... Moved here
23941 * normal/x86_64/setjmp.S: Moved from here ...
23942 * lib/x86_64/setjmp.S: ... Moved here
23943 * normal/powerpc/setjmp.S: Moved from here ...
23944 * lib/powerpc/setjmp.S: ... Moved here
23945 * normal/sparc64/setjmp.S: Moved from here ...
23946 * lib/sparc64/setjmp.S: ... Moved here
23947
23948 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23949 returns_twice in mingw.
23950
23951 * script/lua/grub_lib.c: New file.
23952 * script/lua/grub_lib.h: Likewise.
23953 * script/lua/grub_lua.h: Likewise.
23954 * script/lua/grub_main.c: Likewise.
23955 * script/lua/lapi.c: Likewise.
23956 * script/lua/lapi.h: Likewise.
23957 * script/lua/lauxlib.c: Likewise.
23958 * script/lua/lauxlib.h: Likewise.
23959 * script/lua/lbaselib.c: Likewise.
23960 * script/lua/lcode.c: Likewise.
23961 * script/lua/lcode.h: Likewise.
23962 * script/lua/ldblib.c: Likewise.
23963 * script/lua/ldebug.c: Likewise.
23964 * script/lua/ldebug.h: Likewise.
23965 * script/lua/ldo.c: Likewise.
23966 * script/lua/ldo.h: Likewise.
23967 * script/lua/ldump.c: Likewise.
23968 * script/lua/lfunc.c: Likewise.
23969 * script/lua/lfunc.h: Likewise.
23970 * script/lua/lgc.c: Likewise.
23971 * script/lua/lgc.h: Likewise.
23972 * script/lua/linit.c: Likewise.
23973 * script/lua/liolib.c: Likewise.
23974 * script/lua/llex.c: Likewise.
23975 * script/lua/llex.h: Likewise.
23976 * script/lua/llimits.h: Likewise.
23977 * script/lua/lmathlib.c: Likewise.
23978 * script/lua/lmem.c: Likewise.
23979 * script/lua/lmem.h: Likewise.
23980 * script/lua/loadlib.c: Likewise.
23981 * script/lua/lobject.c: Likewise.
23982 * script/lua/lobject.h: Likewise.
23983 * script/lua/lopcodes.c: Likewise.
23984 * script/lua/lopcodes.h: Likewise.
23985 * script/lua/loslib.c: Likewise.
23986 * script/lua/lparser.c: Likewise.
23987 * script/lua/lparser.h: Likewise.
23988 * script/lua/lstate.c: Likewise.
23989 * script/lua/lstate.h: Likewise.
23990 * script/lua/lstring.c: Likewise.
23991 * script/lua/lstring.h: Likewise.
23992 * script/lua/lstrlib.c: Likewise.
23993 * script/lua/ltable.c: Likewise.
23994 * script/lua/ltable.h: Likewise.
23995 * script/lua/ltablib.c: Likewise.
23996 * script/lua/ltm.c: Likewise.
23997 * script/lua/ltm.h: Likewise.
23998 * script/lua/lua.h: Likewise.
23999 * script/lua/luaconf.h: Likewise.
24000 * script/lua/lualib.h: Likewise.
24001 * script/lua/lundump.c: Likewise.
24002 * script/lua/lundump.h: Likewise.
24003 * script/lua/lvm.c: Likewise.
24004 * script/lua/lvm.h: Likewise.
24005 * script/lua/lzio.c: Likewise.
24006 * script/lua/lzio.h: Likewise.
24007
5e898c9d 240082009-05-16 Bean <bean123ch@gmail.com>
24009
24010 * include/grub/kernel.h (grub_module_header_types): Add type
24011 OBJ_TYPE_CONFIG.
24012
24013 * kern/main.c (grub_load_config): New function.
24014 (grub_main): Call grub_load_config to read boot config.
24015
24016 * grub-mkimage (generate_image): New parameter config_path.
24017 (options): New option --config.
24018 (main): Parse --config option, and pass it to generate_image.
24019
cf353a47 240202009-05-14 Christian Franke <franke@computer.org>
24021
24022 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
24023 This fixes build on Cygwin.
24024
3834887f 240252009-05-14 Pavel Roskin <proski@gnu.org>
24026
24027 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
24028 jump. This saves two bytes, so the typical case of 2 swapped
24029 drives would fit 32 bytes.
24030
8090fc01 240312009-05-13 Pavel Roskin <proski@gnu.org>
24032
ac963883 24033 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
24034 grub_uint32_t to avoid a warning.
24035
8090fc01 24036 * loader/i386/linux.c (allocate_pages): When assigning
24037 real_mode_mem, cast through grub_size_t to fix a warning. The
24038 code already makes sure that the value would fit a pointer.
24039 (grub_linux_setup_video): Cast render_target->data to
24040 grub_size_t to fix a warning.
24041
18f547ad 240422009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 24043
24044 * commands/i386/pc/drivemap.c: New file - implement drivemap
24045 command.
24046 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
24047 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
24048
6f6a8b28 240492009-05-13 Pavel Roskin <proski@gnu.org>
24050
24051 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24052 embedding_area_exists.
24053
15fbf4c4 240542009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24055
24056 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24057 it easier to understand / work with.
59978c8a 24058 Improve warning messages for cases where there's no embedding area,
24059 or when it is too small (or core.img too large).
15fbf4c4 24060
238e871f 240612009-05-13 Pavel Roskin <proski@gnu.org>
24062
0ab3a9a4 24063 * loader/i386/pc/multiboot2.c: Add necessary includes for
24064 grub_multiboot2_real_boot().
24065
a2c8c5f8 24066 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24067 PX record is always little-endian. We only need the lower 2
24068 bytes of the mode.
24069
faec96af 24070 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24071 facilitate code reuse.
24072 (grub_cpio_mount): Use "struct head", not a char buffer. This
24073 fixes a warning reported by gcc 4.4.
24074
238e871f 24075 * kernel/disk.c (grub_disk_read): Use void pointer for the
24076 buffer.
24077 (grub_disk_write): Use const void pointer for the buffer.
24078 Adjust all callers. Remove unnecessary casts.
24079
901d2f0c 240802009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24081
24082 * util/i386/pc/grub-install.in: Update copyright year.
24083
18f547ad 240842009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 24085
24086 gptsync
24087
24088 * commands/gptsync.c: new file
24089 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24090 (gptsync_mod_SOURCES): new variable
24091 (gptsync_mod_CFLAGS): likewise
24092 (gptsync_mod_LDFLAGS): likewise
18f547ad 24093 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 24094 new definition
24095 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24096 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24097 * conf/i386-ieee1275.rmk: likewise
24098 * conf/i386-pc.rmk: likewise
24099 * conf/powerpc-ieee1275.rmk: likewise
24100
b4ba690a 241012009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24102
24103 Fixed grub-emu
24104
24105 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24106 (grub_dl_ref): likewise
24107
317e1a44 241082009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24109
24110 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24111 split in two functions (one for msdos and one for gpt).
24112
041b8094 241132009-05-08 Pavel Roskin <proski@gnu.org>
24114
752473c2 24115 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24116 not modified.
24117
041b8094 24118 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24119 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24120 Initialize them with -1. Add sanity check for bad1. Eliminate
24121 nerr variable.
24122
172800ce 241232009-05-08 David S. Miller <davem@davemloft.net>
24124
24125 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24126
29aa5e81 241272009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24128
24129 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 24130 existence.
29aa5e81 24131
96613b62 241322009-05-05 Felix Zielcke <fzielcke@z-51.de>
24133
24134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 24135 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 24136
eef73c8a 241372009-05-05 David S. Miller <davem@davemloft.net>
24138
24139 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24140
119494b5 241412009-05-05 Pavel Roskin <proski@gnu.org>
24142
24143 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24144 of grub_dl_ref() and grub_dl_unref().
24145 * commands/parttool.c: Remove preprocessor conditionals around
24146 grub_dl_ref() and grub_dl_unref().
24147 * fs/affs.c: Likewise.
24148 * fs/afs.c: Likewise.
24149 * fs/cpio.c: Likewise.
24150 * fs/ext2.c: Likewise.
24151 * fs/fat.c: Likewise.
24152 * fs/hfs.c: Likewise.
24153 * fs/hfsplus.c: Likewise.
24154 * fs/iso9660.c: Likewise.
24155 * fs/jfs.c: Likewise.
24156 * fs/minix.c: Likewise.
24157 * fs/ntfs.c: Likewise.
24158 * fs/reiserfs.c: Likewise.
24159 * fs/sfs.c: Likewise.
24160 * fs/udf.c: Likewise.
24161 * fs/ufs.c: Likewise.
24162 * fs/xfs.c: Likewise.
24163 * include/grub/dl.h: Likewise.
24164 * loader/xnu.c: Likewise.
24165
de5fd76e 241662009-05-04 Pavel Roskin <proski@gnu.org>
24167
24168 * commands/acpi.c: Remove unused variable my_mod.
24169 * partmap/amiga.c: Likewise.
24170 * partmap/apple.c: Likewise.
24171 * partmap/gpt.c: Likewise.
24172 * partmap/pc.c: Likewise.
24173 * partmap/sun.c: Likewise.
24174 * term/gfxterm.c: Likewise.
24175 * term/i386/pc/vesafb.c: Likewise.
24176 * term/i386/pc/vga.c: Likewise.
24177
983598ad 241782009-05-04 David S. Miller <davem@davemloft.net>
24179
24180 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24181 pointer args to grub_ieee1275_get_property().
24182
8aadec43 24183 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24184
9554b15e 24185 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24186 devices, and do not traverse down under controller nodes.
24187
67e23c90 24188 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24189 (grub_ofdisk_open): Use it to un-escape "," characters.
24190 * kern/disk.c (find_part_sep): New.
24191 (grub_disk_open): Use it to find the first non-escaped ','
24192 character in the disk name.
24193 * util/ieee1275/devicemap.c (escape_of_path): New.
24194 (grub_util_emit_devicemap_entry): Use it.
24195 * util/sparc64/ieee1275/grub-install.in: Update script to
24196 strip partition specifiers properly by not triggering on
24197 '\' escaped ',' characters.
24198
74bfdd2f 241992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24200
24201 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24202 to 0x300.
24203 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24204 resolutions.
24205 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24206 on documentation from Wikipedia).
24207
4241d2b1 242082009-05-04 Pavel Roskin <proski@gnu.org>
24209
24210 * disk/ata.c: Spelling fixes.
24211 * disk/raid.c: Likewise.
24212 * disk/usbms.c: Likewise.
24213 * disk/dmraid_nvidia.c: Likewise.
24214 * kern/ieee1275/openfw.c: Likewise.
24215 * kern/ieee1275/init.c: Likewise.
24216 * kern/ieee1275/cmain.c: Likewise.
24217 * boot/i386/pc/cdboot.S: Likewise.
24218 * video/readers/png.c: Likewise.
24219 * video/i386/pc/vbe.c: Likewise.
24220 * fs/udf.c: Likewise.
24221 * fs/hfs.c: Likewise.
24222 * fs/reiserfs.c: Likewise.
24223 * efiemu/runtime/efiemu.c: Likewise.
24224 * efiemu/main.c: Likewise.
24225 * efiemu/mm.c: Likewise.
24226 * include/grub/elf.h: Likewise.
24227 * include/grub/xnu.h: Likewise.
24228 * include/grub/usbdesc.h: Likewise.
24229 * include/grub/usb.h: Likewise.
24230 * include/grub/script_sh.h: Likewise.
24231 * include/grub/lib/LzmaEnc.h: Likewise.
24232 * include/grub/efiemu/efiemu.h: Likewise.
24233 * include/grub/command.h: Likewise.
24234 * normal/menu.c: Likewise.
24235 * normal/main.c: Likewise.
24236 * normal/datetime.c: Likewise.
24237 * bus/usb/uhci.c: Likewise.
24238 * mmap/i386/uppermem.c: Likewise.
24239 * mmap/mmap.c: Likewise.
24240 * commands/acpi.c: Likewise.
24241 * commands/test.c: Likewise.
24242 * partmap/apple.c: Likewise.
24243 * font/font.c: Likewise.
24244 * loader/sparc64/ieee1275/linux.c: Likewise.
24245 * loader/macho.c: Likewise.
24246 * loader/i386/bsd_trampoline.S: Likewise.
24247 * loader/i386/bsd.c: Likewise.
24248 * loader/xnu.c: Likewise.
24249 * term/i386/pc/vesafb.c: Likewise.
24250 * term/usb_keyboard.c: Likewise.
24251 * util/resolve.c: Likewise.
24252 * util/getroot.c: Likewise.
24253
0cfc0083 242542009-05-04 Felix Zielcke <fzielcke@z-51.de>
24255
24256 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24257
7c1d00cd 242582009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24259
24260 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24261 build error.
24262
b01f0548 242632009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24264
24265 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24266 parameter only available on BIOS.
24267
ecc3eb22 242682009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24269
24270 Removed wrong semicolon in declaration
24271
24272 * grub/misc.h (grub_dprintf): remove semicolon
24273
112972a9 242742009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24275
24276 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24277 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24278 is done by grub_cmd_linux() now).
24279 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24280 restore video to text mode.
24281 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24282 indicates lack of "vga=" parameter. "vga=0" is mapped to
24283 `GRUB_LINUX_VID_MODE_NORMAL'.
24284
afd5c115 242852009-05-04 Felix Zielcke <fzielcke@z-51.de>
24286
24287 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24288 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24289 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 24290 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 24291 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24292 `grub_script.tab.c'.
24293
24294 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24295 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24297 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24298 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24299
faa517ce 24300 * Makefile.in: Remove duplicated 2008 in Copyright line.
24301
ae0c0bdc 243022009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24303
473d1e45 24304 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 24305 unconditionally.
24306 * include/grub/util/misc.h (grub_util_warn): New declaration.
24307
24308 * util/i386/pc/grub-install.in: Understand --force and pass it down
24309 to grub-setup.
24310
24311 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24312 down to setup().
24313 (setup): Improve error messages and add warnings when requested to
24314 install in odd layouts. Refuse to install using blocklists unless
24315 --force was set.
24316
18f547ad 243172009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 24318
24319 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24320
6d260daa 243212009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24322
24323 Updated copyright year
24324
24325 * fs/hfsplus.c: updated copyright year
18f547ad 24326
69f853f8 243272009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24328
24329 HFS+ UUID
24330
18f547ad 24331 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 24332 in the space previously used by unused3
24333 (grub_hfsplus_uuid): new function
24334 (grub_hfsplus_fs): added uuid field
24335
4c402e73 243362009-05-03 Pavel Roskin <proski@gnu.org>
24337
24338 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24339 suppress warnings. It's no longer needed.
24340 * disk/host.c: Likewise.
24341 * disk/ata_pthru.c: Likewise.
24342 * disk/loopback.c: Likewise.
24343 * hook/datehook.c: Likewise.
24344 * parttool/pcpart.c: Likewise.
24345 * fs/i386/pc/pxe.c: Likewise.
24346 * fs/ntfscomp.c: Likewise.
24347 * efiemu/main.c: Likewise.
24348 * mmap/mmap.c: Likewise.
24349 * commands/crc.c: Likewise.
24350 * commands/hexdump.c: Likewise.
24351 * commands/hdparm.c: Likewise.
24352 * commands/acpi.c: Likewise.
24353 * commands/echo.c: Likewise.
24354 * commands/minicmd.c: Likewise.
24355 * commands/blocklist.c: Likewise.
24356 * commands/memrw.c: Likewise.
24357 * commands/loadenv.c: Likewise.
24358 * commands/usbtest.c: Likewise.
24359 * commands/lsmmap.c: Likewise.
24360 * commands/boot.c: Likewise.
24361 * commands/parttool.c: Likewise.
24362 * commands/configfile.c: Likewise.
24363 * commands/search.c: Likewise.
24364 * commands/ieee1275/suspend.c: Likewise.
24365 * commands/cat.c: Likewise.
24366 * commands/i386/pc/pxecmd.c: Likewise.
24367 * commands/i386/pc/play.c: Likewise.
24368 * commands/i386/pc/halt.c: Likewise.
24369 * commands/i386/pc/vbeinfo.c: Likewise.
24370 * commands/i386/pc/vbetest.c: Likewise.
24371 * commands/lspci.c: Likewise.
24372 * commands/date.c: Likewise.
24373 * commands/handler.c: Likewise.
24374 * commands/ls.c: Likewise.
24375 * commands/test.c: Likewise.
24376 * commands/cmp.c: Likewise.
24377 * commands/efi/loadbios.c: Likewise.
24378 * commands/efi/fixvideo.c: Likewise.
24379 * commands/halt.c: Likewise.
24380 * commands/help.c: Likewise.
24381 * commands/reboot.c: Likewise.
24382 * hello/hello.c: Likewise.
24383 * script/sh/main.c: Likewise.
24384 * loader/xnu.c: Likewise.
24385 * term/terminfo.c: Likewise.
24386 * term/i386/pc/serial.c: Likewise.
24387 * term/usb_keyboard.c: Likewise.
24388
515b5079 243892009-05-03 David S. Miller <davem@davemloft.net>
24390
24391 * normal/menu.c: Include grub/parser.h
24392
dfc31a22 243932009-05-03 Pavel Roskin <proski@gnu.org>
24394
2fee74f1 24395 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24396 not char*.
24397 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24398 Suggested by Javier Martín <lordhabbit@gmail.com>
24399
dfc31a22 24400 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24401 efiemu??.o doesn't exist.
24402 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24403 copying.
24404
18f547ad 244052009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 24406
24407 FreeBSD 64-bit support
24408
18f547ad 24409 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 24410 and loader/i386/bsd_trampoline.S
24411 (bsd_mod_ASFLAGS): new variable
24412 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24413 (FREEBSD_MODTYPE_KERNEL64): likewise
24414 (grub_bsd64_trampoline_start): likewise
24415 (grub_bsd64_trampoline_end): likewise
24416 (grub_bsd64_trampoline_selfjump): likewise
24417 (grub_bsd64_trampoline_gdt): likewise
24418 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24419 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24420 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24421 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 24422 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 24423 of "attrib" member
24424 * loader/i386/bsd_pagetable.c: new file
24425 * loader/i386/bsd_trampoline.S: likewise
24426 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24427 (ALIGN_VAR): likewise
24428 (entry_hi): new variable
24429 (kern_end_mdofs): likewise
24430 (is_64bit): likewise
24431 (grub_freebsd_add_meta): use ALIGN_VAR
24432 (grub_e820_mmap): new declaration
24433 (grub_freebsd_add_mmap): new function
24434 (grub_freebsd_add_meta_module): support 64 bit kernels
24435 (grub_freebsd_list_modules): use ALIGN_VAR
24436 (gdt_descriptor): new declaration
24437 (grub_freebsd_boot): support 64 bit kernels
24438 (grub_bsd_elf64_hook): new function
24439 (grub_bsd_load_elf): support elf64
24440
038c5720 244412009-05-03 Bean <bean123ch@gmail.com>
24442
24443 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24444 after we get the result of if statement.
24445
fc45fb58 244462009-05-03 Bean <bean123ch@gmail.com>
24447
24448 * Makefile.in (enable_efiemu): New variable.
24449
24450 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24451 set.
24452 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24453 path.
24454 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24455 path, add -mno-red-zone option.
24456 (efiemu64_s.o): Likewise.
24457 (efiemu64.o): Use macro $^ for source file.
24458
24459 * configure.ac (--enable-efiemu): New option.
24460
bbee0f2b 244612009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24462
24463 xnu support
24464
24465 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24466 (pkglib_MODULES): add xnu.mod
24467 (xnu_mod_SOURCES): new variable
24468 (xnu_mod_CFLAGS): likewise
24469 (xnu_mod_LDFLAGS): likewise
24470 (xnu_mod_ASFLAGS): likewise
24471 * conf/i386-pc.rmk: likewise
24472 * conf/x86_64-efi.rmk: likewise
7dd4a573 24473 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 24474 new declaration
24475 * include/grub/i386/macho.h: new file
24476 * include/grub/i386/xnu.h: likewise
24477 * include/grub/macho.h: likewise
24478 * include/grub/machoload.h: likewise
24479 * include/grub/x86_64/macho.h: likewise
24480 * include/grub/x86_64/xnu.h: likewise
24481 * include/grub/xnu.h: likewise
24482 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24483 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24484 * loader/i386/efi/xnu.c: new file
24485 * loader/i386/pc/xnu.c: likewise
24486 * loader/i386/xnu.c: likewise
24487 * loader/i386/xnu_helper.S: likewise
24488 * loader/macho.c: likewise
24489 * loader/xnu.c: likewise
24490 * loader/xnu_resume.c: likewise
24491 * util/grub-dumpdevtree: likewise
24492 * include/grub/i386/pit.h: include grub/err.h
24493 (grub_pit_wait): export
24494 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 24495
5caf964d 244962009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24497
24498 Efiemu
7dd4a573 24499
5caf964d 24500 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 24501 _linux_efi, linux_efi.
24502 new files in grub-emu
5caf964d 24503 new targets efiemu32.o and efiemu64.o
24504 * loader/linux_normal_efiemu.c: likewise
24505 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 24506 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 24507 files to copy
24508 * include/grub/autoefi.h: new file
7dd4a573 24509 * include/grub/i386/efiemu.h: likewise
5caf964d 24510 * include/grub/i386/pc/efiemu.h: likewise
24511 * include/grub/efi/api.h: add LL suffix when necessary
24512 new definitions relating to tables
24513 * include/grub/efiemu/efiemu.h: new file
24514 * include/grub/efiemu/runtime.h: likewise
24515 * efiemu/prepare.c: likewise
24516 * efiemu/loadcore_common.c: likewise
24517 * efiemu/loadcore64.c: likewise
24518 * efiemu/runtime/efiemu.sh: likewise
24519 * efiemu/runtime/efiemu.S: likewise
24520 * efiemu/runtime/efiemu.c: likewise
24521 * efiemu/runtime/config.h: likewise
24522 * efiemu/prepare32.c: likewise
24523 * efiemu/main.c: likewise
24524 * efiemu/modules/pnvram.c: likewise
24525 * efiemu/modules/i386: likewise
24526 * efiemu/modules/i386/pc: likewise
24527 * efiemu/modules/acpi.c: likewise
24528 * efiemu/i386/pc/cfgtables.c: likewise
24529 * efiemu/i386/loadcore64.c: likewise
24530 * efiemu/i386/loadcore32.c: likewise
24531 * efiemu/prepare64.c: likewise
24532 * efiemu/loadcore.c: likewise
24533 * efiemu/symbols.c: likewise
24534 * efiemu/mm.c: likewise
24535 * efiemu/loadcore32.c: likewise
7dd4a573 24536
245372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 24538
24539 ACPI spoofing
24540
24541 * commands/acpi.c: new file
24542 * commands/i386/pc/acpi.c: likewise
24543 * commands/efi/acpi.c: likewise
24544 * include/grub/acpi.h: likewise
24545 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24546 (acpi_mod_SOURCES): new variable
24547 (acpi_mod_CFLAGS): likewise
24548 (acpi_mod_LDFLAGS): likewise
24549 * conf/i386-efi.rmk: likewise
24550 * conf/x86_64-efi.rmk: likewise
24551
7dd4a573 245522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 24553
24554 Missing part from mmap patch
24555
24556 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24557 (grub_mmap_unregister)
24558 (grub_mmap_free_and_unregister): use grub_mmap_register
24559
7dd4a573 245602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 24561
24562 Mmap services
24563
24564 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24565 * loader/i386/linux.c (find_mmap_size): likewise
24566 (allocate_pages): likewise
24567 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24568 (grub_fill_multiboot_mmap): likewise
24569 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24570 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24571 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24572 (OPENBSD_MMAP_RESERVED): likewise
24573 * include/grub/i386/pc/memory.h: include grub/memory.h
24574 (grub_lower_mem): removed
24575 (grub_upper_mem): likewise
24576 (GRUB_MACHINE_MEMORY_ACPI): new definition
24577 (GRUB_MACHINE_MEMORY_NVS): likewise
24578 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24579 (GRUB_MACHINE_MEMORY_HOLE): likewise
24580 (grub_machine_mmap_register): likewise
24581 (grub_machine_mmap_unregister): likewise
24582 (grub_machine_get_upper): likewise
24583 (grub_machine_get_lower): likewise
24584 (grub_machine_get_post64): likewise
24585 * include/grub/i386/efi/memory.h: new file
24586 * include/grub/x86_64/efi/memory.h: likewise
24587 * include/grub/efi/memory.h: likewise
24588 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24589 (mmap_mod_SOURCES): new variable
24590 (mmap_mod_LDFLAGS): likewise
24591 (mmap_mod_ASFLAGS): likewise
24592 * conf/i386-coreboot.rmk: likewise
24593 * conf/i386-ieee1275.rmk: likewise
24594 * conf/i386-efi.rmk: likewise
24595 * conf/x86_64-efi.rmk: likewise
24596 * include/grub/types.h (UINT_TO_PTR): new macro
24597 (PTR_TO_UINT32): likewise
24598 (PTR_TO_UINT64): likewise
24599 * include/grub/memory.h: new file
24600 * mmap/i386/pc/mmap.c: likewise
24601 * mmap/i386/pc/mmap_helper.S: likewise
24602 * mmap/i386/uppermem.c: likewise
24603 * mmap/mmap.c: likewise
24604 * mmap/efi/mmap.c: likewise
7dd4a573 24605 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 24606 grub_upper_mem
24607 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24608 (grub_upper_mem): likewise
24609 (grub_machine_init): don't use grub_upper_mem,
24610 make grub_lower_mem local
24611 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24612 grub_mmap_iterate and grub_mmap_get_upper
24613 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24614
d558e6b5 246152009-05-02 Bean <bean123ch@gmail.com>
24616
24617 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24618 script/sh/parser.y.
24619 (pkglib_MODULES): Add normal.mod and sh.mod.
24620 (normal_SOURCES): New variable.
24621 (normal_mod_CFLAGS): Likewise.
24622 (normal_mod_LDFLAGS): Likewise.
24623 (sh_mod_SOURCES): Likewise.
24624 (sh_mod_CFLAGS): Likewise.
24625 (sh_mod_LDFLAGS): Likewise.
24626
24627 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24628 script/sh/lexer.c_DEPENDENCIES.
24629 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24630 kern/rescue_reader.c and kern/rescue_parser.c.
24631 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24632 (grub_emu_SOURCES): Change source files.
24633 (pkglib_MODULES): Remove normal.mod.
24634 (normal_SOURCES): Removed.
24635 (normal_mod_CFLAGS): Likewise.
24636 (normal_mod_LDFLAGS): Likewise.
24637 * conf/i386-coreboot.rmk: Likewise.
24638 * conf/i386-efi.rmk: Likewise.
24639 * conf/i386-ieee1276.rmk: Likewise.
24640 * conf/powerpc-ieee1275.rmk: Likewise.
24641 * conf/sparc64-ieee1275.rmk: Likewise.
24642 * conf/x86_64-efi.rmk: Likewise.
24643
24644 * include/grub/command.h (grub_command_execute): New inline function.
24645
24646 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24647
24648 * include/grub/normal.h: Remove <grub/setjmp.h>.
24649 (grub_fs_module_list): Moved to normal/autofs.c.
24650 (grub_exit_env): Removed.
24651 (grub_command_execute): Likewise.
24652 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24653 parameter script.
24654 (read_command_list): New function declaration.
24655 (read_fs_list): Likewise.
24656
24657 * include/parser.h: Include <grub/reader.h>.
24658 (grub_parser_split_cmdline): Change type of getline parameter.
24659 (grub_parser): New structure.
24660 (grub_parser_class): New variable.
24661 (grub_parser_execute): New function declaration.
24662 (grub_register_rescue_parser): Likewise.
24663 (grub_parser_register): New inline function.
24664 (grub_parser_unregister): Likewise.
24665 (grub_parser_get_current): Likewise.
24666 (grub_parser_set_current): Likewise.
24667
24668 * include/grub/reader.h: New file.
24669 * kern/reader.c: Likewise.
24670 * kern/rescue_parser.c: Likewise.
24671 * kern/rescue_reader.c: Likewise.
24672 * normal/autofs.c: Likewise.
24673 * normal/dyncmd.c: Likewise.
24674
24675 * include/grub/rescue.h: Removed.
24676 * normal/command.h: Likewise.
24677
24678 * include/grub/script.h: Moved to ...
24679 * include/grub/script_sh.h: ... Moved here.
24680 * normal/execute.c: Moved to ...
24681 * script/sh/execute.c: ... Moved here.
24682 * normal/function.c: Moved to ...
24683 * script/sh/function.c: ... Moved here.
24684 * normal/lexer.c: Moved to ...
24685 * script/sh/lexer.c: ... Moved here.
24686 * normal/parser.y: Moved to ...
24687 * script/sh/parser.y: ... Moved here.
24688 * normal/script.c: Moved to ...
24689 * script/sh/script.c: ... Moved here.
24690
24691 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24692 <grub/reader.h>.
24693 (grub_exit_env): Removed.
24694 (fs_module_list): Moved to normal/autofs.c.
24695 (grub_file_getline): Don't handle comment here.
24696 (free_menu): Skip removed field entry->commands.
24697 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24698 script parameter.
24699 (read_config_file): Removed nested parameter, change getline function.
24700 (grub_enter_normal_mode): Removed.
24701 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24702 (read_command_list): Likewise.
24703 (autoload_fs_module): Moved to normal/autofs.c.
24704 (read_fs_list): Likewise.
24705 (reader_nested): New variable.
24706 (grub_normal_execute): Run parser.sh to switch to sh parser.
24707 (grub_cmd_rescue): Removed.
24708 (cmd_normal): Removed.
24709 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24710 rescue command.
24711 (grub_cmdline_run): New function.
24712 (grub_normal_reader_init): Likewise.
24713 (grub_normal_read_line): Likewise.
24714 (grub_env_write_pager): Likewise.
24715 (cmdline): New variable.
24716 (grub_normal_reader): Likewise.
24717 (GRUB_MOD_INIT): Register normal reader and set as current, register
24718 pager hook, register normal command with grub_register_command_prio,
24719 so that it won't show up in command.lst.
24720 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24721 grub_fs_autoload_hook.
24722
24723 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24724 (grub_menu_execute_entry): Replace grub_script_execute with
24725 grub_parser_execute, change parameter to grub_command_execute.
24726
24727 * normal/menu_text.c: Remove <grub/script.h>.
24728
24729 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24730 and <grub/parser.h>.
24731 (run): Change editor_getline to use new parser interface. Change
24732 parameter to grub_command_execute.
24733
24734 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24735 <grub/reader.h> and <grub/parser.h>.
24736 (grub_load_normal_mode): Execute normal command.
24737 (grub_main): Call grub_register_core_commands,
24738 grub_register_rescue_parser and grub_register_rescue_reader, use
24739 grub_reader_loop to enter input loop.
24740
7dd4a573 24741 * kern/parser.c (grub_parser_split_cmdline): Change type of
24742 getline parameter.
d558e6b5 24743 (grub_parser_class): New variable.
24744 (grub_parser_execute): New function.
24745
24746 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24747 * loader/multiboot2.c: Likewise.
24748 * loader/sparc64/ieee1275/linux.c: Likewise.
24749
24750 * util/grub-emu.c (read_command_list): New dummy function.
24751
18db813d 247522009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24753
24754 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24755 count to 16 for CCISS and IDA.
24756
6c67de15 247572009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24758
24759 * normal/menu_text.c (grub_wait_after_message): Print a newline
24760 after waiting for user input.
24761
24762 * loader/i386/linux.c: Include `<grub/normal.h>'.
24763 (grub_cmd_linux): Improve the error message about `ask' mode, by
24764 waiting for user input so it's not missed (we can do this, since
24765 user requested interaction).
24766
d9dc87b0 247672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24768
24769 Added missing lst to grub-mkrescue
24770
24771 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24772 and ${input_dir}/parttool.lst
24773
ac8a2baa 247742009-04-30 David S. Miller <davem@davemloft.net>
24775
ad22a610 24776 * util/hostdisk.c (device_is_wholedisk): New function.
24777 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24778 zero only if device_is_wholedisk() returns true.
24779
6966215d 24780 * util/hostdisk.c (convert_system_partition_to_system_disk):
24781 Handle virtual disk devices named /dev/vdiskX as found on sparc
24782 and powerpc.
24783
ac8a2baa 24784 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24785 lettered partition specifier is found, convert to numbered.
24786
979b4fb4 247872009-04-29 David S. Miller <davem@davemloft.net>
24788
e2bf39b2 24789 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24790 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24791
3c64e104 24792 * normal/command.c: Add missing newline at end of file.
24793
979b4fb4 24794 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24795 warnings.
24796 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24797 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24798 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24799 ihandles have a 32-bit type but need to be stored in a "void *".
24800
136d9f82 248012009-04-28 Pavel Roskin <proski@gnu.org>
24802
9459c306 24803 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24804 not disk. Adjust all dependencies.
2e08a26a 24805 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 24806 grub_disk_close().
24807
136d9f82 24808 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24809 parent's partition, don't copy it by reference, as it gets freed
24810 on close.
24811
7dd4a573 248122009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 24813
24814 Preboot hooks support
24815
24816 * commands/boot.c (struct grub_preboot_t): new declaration
24817 (preboots_head): new variable
24818 (preboots_tail): likewise
24819 (grub_loader_register_preboot_hook): new function
24820 (grub_loader_unregister_preboot_hook): likewise
24821 (grub_loader_set): launch preboot hooks
24822 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24823 (grub_loader_register_preboot_hook): new declaration
24824 (grub_loader_unregister_preboot_hook): likewise
24825
5af922b5 248262009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24827
24828 Warning fix
24829
7dd4a573 24830 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 24831 calling grub_dprintf
24832
a5562c30 248332009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24834
24835 Bug and warning fixes
24836
7dd4a573 24837 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 24838 declaration
24839 * commands/test.c (test_parse): fixed bug with file tests and corrected
24840 declaration of find_file
24841
4006f85c 248422009-04-26 Pavel Roskin <proski@gnu.org>
24843
24844 * Makefile.in: Don't install empty manual pages if help2man is
24845 missing. Use help2man option for output, not shell redirection.
24846
5c77c3de 248472009-04-26 David S. Miller <davem@davemloft.net>
24848
24849 * util/grub-mkdevicemap.c (make_device_map): Add missing
24850 NESTED_FUNC_ATTR to process_device().
24851
033b10a8 248522009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24853
24854 Test command
24855
24856 * commands/test.c: rewritten to use bash-like test
24857
e4343593 248582009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24859
24860 Parttool autoloading and improvements
24861
7dd4a573 24862 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 24863 (parttool.lst): new target
24864 * genmk.rb: generate parttool-*
24865 (CLEANFILES): add #{parttool}
24866 (PARTTOOLFILES): new variable
24867 * genparttoollist.sh: new file
7dd4a573 24868 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 24869 (grub_pcpart_type): likewise
24870 * commands/parttool.c (helpmsg): new variable
24871 (grub_cmd_parttool): output help if not enough arguments are supplied
24872 autoload modules
24873 (GRUB_MOD_INIT(parttool)): use helpmsg
24874
0d312500 248752009-04-24 David S. Miller <davem@davemloft.net>
24876
7dd4a573 24877 Avoiding opening same device multiple times in device iterator.
0d312500 24878
24879 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 24880 and use it to build a list of partitions in iterate_disk() and
0d312500 24881 iterate_partition().
24882
ac20caff 24883 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24884 on disk->data.
24885
0dcf7495 24886 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24887 grub_devalias_iterate() result instead of unconditional 0.
24888 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24889 Also, capture hook return value, either directly or via
24890 grub_children_iterate(), and propagate to caller.
24891 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24892 grub_children_iterate): Return value is now 'int' instead of
24893 'grub_err_t'.
24894 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24895 like a proper iterator, stopping when hooks return non-zero.
24896 (grub_devalias_iterate): Likewise.
24897
c8c08833 248982009-04-23 David S. Miller <davem@davemloft.net>
24899
24900 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24901
f01005a8 249022009-04-22 David S. Miller <davem@davemloft.net>
24903
24904 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24905 is larger than address_cells, use that value for address_cells too.
24906
4e8269da 24907 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24908 IEEE1275_MAX_PATH_LEN): Define.
24909 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24910 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24911 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24912 'devtype'. Explicitly NULL terminate devalias expansion.
24913
a1447506 24914 * util/sparc64/ieee1275/misc.c: New file.
24915 * util/sparc64/ieee1275/grub-setup.c: New file.
24916 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24917 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24918 * util/sparc64/ieee1275/grub-install.in: New file.
24919 * util/ieee1275/ofpath.c: New file.
24920 * util/ieee1275/devicemap.c: New file.
24921 * util/devicemap.c: New file.
24922 * util/deviceiter.c: New file.
24923 * kern/sparc64/ieee1275/init.c: New file.
24924 * include/grub/util/ofpath.h: New file.
24925 * include/grub/util/deviceiter.h: New file.
24926 * util/grub-mkdevicemap.c: Include deviceiter.h.
24927 Implement using grub_util_emit_devicemap_entry and
24928 grub_util_iterate_devices.
24929 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24930 util/devicemap.c into grub-mkdevicemap
24931 * conf/i386-efi.rmk: Likewise.
24932 * conf/i386-ieee1275.rmk: Likewise.
24933 * conf/i386-pc.rmk: Likewise.
24934 * conf/powerpc-ieee1275.rmk: Likewise.
24935 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24936 images and installation utilities. Build kernel as image
24937 instead of as elf binary. Use common rules as much as possible.
24938
7dd4a573 249392009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 24940
24941 Correct GPT definition
24942
7dd4a573 24943 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 24944 of "attrib" member
24945
c6c5219f 249462009-04-19 Felix Zielcke <fzielcke@z-51.de>
24947
24948 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24949
0552ff9f 249502009-04-19 David S. Miller <davem@davemloft.net>
24951
24952 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24953 (grub_rescue_cmd_linux): Rename to...
24954 (grub_cmd_linux): and fix prototype.
24955 (grub_rescue_cmd_initrd): Rename to...
24956 (grub_cmd_initrd): and fix prototype.
24957 (cmd_linux, cmd_initrd): New.
24958 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24959 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24960
d1a282fc 249612009-04-17 Pavel Roskin <proski@gnu.org>
24962
07c5039f 24963 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24964 format.
24965 (grub_ohci_transfer): Likewise.
24966
b012002d 24967 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24968
1bc09c35 24969 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24970 return without a value. Fix inconsistent indentation.
24971
e0ff9126 24972 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24973 match struct grub_fs.
24974
d1a282fc 24975 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24976 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24977 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24978 * commands/lspci.c (grub_lspci_iter): Likewise.
24979
a96df3f2 249802009-04-16 Bean <bean123ch@gmail.com>
24981
24982 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24983 value.
24984
41bb0fe9 249852009-04-15 Pavel Roskin <proski@gnu.org>
24986
24987 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24988 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24989 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24990 definitions.
24991
596c6970 249922009-04-15 Felix Zielcke <fzielcke@z-51.de>
24993
24994 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 24995 that no multiple data or metadata areas are supported and `Unknown
596c6970 24996 metadata header'.
24997
7dd4a573 249982009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 24999
25000 Move loader out of the kernel
25001
25002 * kern/loader.c: moved to ...
25003 * commands/boot.c: ... moved here
25004 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
25005 * commands/boot.c (grub_cmd_boot): moved here. All users updated
25006 * include/grub/kernel.h (grub_machine_fini): export
25007 * include/grub/loader.h (grub_loader_is_loaded): update declaration
25008 (grub_loader_set): likewise
25009 (grub_loader_unset): likewise
25010 (grub_loader_boot): likewise
25011 * conf/common.rmk: new module boot.mod
25012 (pkglib_MODULES): add boot.mod
25013 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
25014 (grub_emu_SOURCES): likewise
25015 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
25016 (grub_emu_SOURCES): likewise
25017 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
25018 (grub_emu_SOURCES): likewise
25019 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
25020 (grub_emu_SOURCES): likewise
25021 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
25022 (grub_emu_SOURCES): likewise
7dd4a573 25023 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
25024 (grub_emu_SOURCES): likewise
0d5d5653 25025 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 25026 (grub_emu_SOURCES): likewise
0d5d5653 25027
7dd4a573 250282009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 25029
25030 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 25031
5999d619 25032 * kern/misc.c (grub_itoa): Removed function
25033 (grub_ltoa): likewise
25034 (grub_vsprintf): use grub_lltoa
25035
7dd4a573 250362009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 25037
25038 Restore grub-emu
25039
25040 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
25041 * conf/i386-coreboot.rmk: likewise
25042 * conf/i386-ieee1275.rmk: likewise
25043 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25044
20318222 250452009-04-15 Felix Zielcke <fzielcke@z-51.de>
25046
25047 * INSTALL: Add that `./autogen.sh' needs to be run before
25048 `./configure.'.
25049
d05f0df3 250502009-04-14 Bean <bean123ch@gmail.com>
25051
25052 * Makefile.in (pkglib_DATA): Add handler.lst.
25053 (handler.lst): New rule.
25054
25055 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25056 * conf/i386-coreboot.rmk: Likewise.
25057 * conf/i386-ieee1275.rmk: Likewise.
25058 * conf/i386-efi.rmk: Likewise.
25059 * conf/x86_64-efi.rmk: Likewise.
25060 * conf/powerpc-ieee1275.rmk: Likewise.
25061 * conf/sparc64-ieee1275.rmk: Likewise.
25062
25063 * genhandlerlist.sh: New file.
25064
25065 * genmk.rb: Add rules to generate handler.lst.
25066
25067 * include/grub/normal.h (grub_file_getline): New function definition.
25068 (read_handler_list): Likewise.
25069 (free_handler_list): Likewise.
25070
25071 * include/grub/term.h (grub_term_register_input): Add name parameter
25072 for auto generation of handler.lst.
25073 (grub_term_register_output): Likewise.
25074
25075 * normal/handler.c: New file.
25076
25077 * normal/main.c (get_line): Renamed to grub_file_getline.
25078 (read_config_file): Use the newly renamed grub_file_getline.
25079 (read_command_list): Likewise.
25080 (read_fs_list): Likewise.
25081 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25082 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25083
25084 * term/efi/console.c (grub_console_init): Add name parameter for auto
25085 generation of handler.lst.
25086 * term/gfxterm.c: Likewise.
25087 * term/i386/pc/at_keyboard.c: Likewise.
25088 * term/i386/pc/console.c: Likewise.
25089 * term/i386/pc/serial.c: Likewise.
25090 * term/i386/pc/vesafb.c: Likewise.
25091 * term/i386/pc/vga.c: Likewise.
25092 * term/i386/pc/vga_text.c: Likewise.
25093 * term/ieee1275/ofconsole.c: Likewise.
25094 * term/usb_keyboard.c: Likewise.
25095
33c846be 250962009-04-14 Bean <bean123ch@gmail.com>
25097
25098 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25099 properly with null character.
25100
4484e01e 251012009-04-14 Felix Zielcke <fzielcke@z-51.de>
25102
25103 * configure: Remove.
25104 * config.h.in: Likewise.
f93d668e 25105 * stamp-h.in: Likewise.
4484e01e 25106 * DISTLIST: Likewise.
25107 * conf/common.mk: Likewise.
25108 * conf/i386-coreboot.mk: Likewise.
25109 * conf/i386-efi.mk: Likewise.
25110 * conf/i386-ieee1275.mk: Likewise.
25111 * conf/i386.mk: Likewise.
25112 * conf/i386-pc.mk: Likewise.
25113 * conf/powerpc-ieee1275.mk: Likewise.
25114 * conf/sparc64-ieee1275.mk: Likewise.
25115 * conf/x86_64-efi.mk: Likewise.
25116
25117 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25118 develop on GRUB.
25119
7dd4a573 251202009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 25121 David S. Miller <davem@davemloft.net>
25122
25123 * util/hostdisk.c (make_device_name): Fix buffer length
25124 calculations.
25125
e25b5a8c 251262009-04-14 Felix Zielcke <fzielcke@z-51.de>
25127
25128 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25129 <sys/param.h> and <sys/sysctl.h>.
25130 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25131 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25132 opening the device and reset them afterwards.
25133
1f1f580c 251342009-04-13 Pavel Roskin <proski@gnu.org>
25135
25136 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25137 Reported by John Stanley <jpsinthemix@verizon.net>
25138
7ebc2d6b 251392009-04-13 Robert Millan <rmh@aybabtu.com>
25140
25141 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 25142 that name for menuentries when appropriate.
7ebc2d6b 25143
d8ba3667 251442009-04-13 Felix Zielcke <fzielcke@z-51.de>
25145
25146 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25147
cba416eb 251482009-04-13 Robert Millan <rmh@aybabtu.com>
25149
25150 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25151 to Linux, simply abort telling the user it's no longer supported.
25152
a547a745 251532009-04-13 Felix Zielcke <fzielcke@z-51.de>
25154
25155 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 25156 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 25157 `freebsd_loadenv' only when devices.hints exist.
25158
232a769c 251592009-04-13 Pavel Roskin <proski@gnu.org>
25160
25161 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
25162
c3012039 251632009-04-13 Felix Zielcke <fzielcke@z-51.de>
25164
25165 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
25166 partition number.
25167 (grub_drive): Likewise.
25168
234022fe 251692009-04-13 David S. Miller <davem@davemloft.net>
25170
25171 * kern/sparc64/ieee1275/ieee1275.c: New file.
25172 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25173 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25174 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25175 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25176 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25177 grub_ieee1275_alloc_physmem): Declare new exported functions.
25178
d8e1836c 25179 * include/grub/sparc64/ieee1275/loader.h: New file.
25180 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25181 * include/grub/sparc64/kernel.h: Likewise.
25182 * loader/sparc64/ieee1275/linux.c: Likewise.
25183
96bd81ec 25184 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25185 (grub_fstest_SOURCES): Likewise.
25186
6a4737e5 25187 * util/hostdisk.c (make_device_name): Do not make any assumptions
25188 about the length of drive names.
25189
1d7a72fd 25190 * kern/dl.c (grub_dl_load_file): Close file immediately when
25191 we are done using it.
25192
56bc2471 251932009-04-12 David S. Miller <davem@davemloft.net>
25194
25195 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25196 values. Noticed by Pavel Roskin.
25197
df38d0bb 25198 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25199 target compiler.
7dd4a573 25200
e382e93a 25201 * genmk.rb: Add more flexible image type specification, also
25202 pass --strip-unneeded to objcopy.
25203 * conf/i386-pc.rmk: Use *_FORMAT.
25204 * conf/i386-pc.mk: Rebuilt.
25205
f5dbbca9 25206 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25207 (OFDISK_HASH_SZ): Define.
25208 (ofdisk_hash): New hash table.
25209 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25210 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25211 instead of device phandle which is not unique.
25212
91c88b12 25213 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25214 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25215 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25216 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25217 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25218 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25219 GRUB_KERNEL_MACHINE_DATA_END): Define.
25220 (grub_kernel_image_size, grub_total_module_size): Declare.
25221
5b5d4aa5 252222009-04-12 Pavel Roskin <proski@gnu.org>
25223
7dd4a573 25224 * configure.ac: Change the logic when we check for target tools.
25225 Do it when the target is specified and it's different from the
25226 specified value of the host.
5b5d4aa5 25227
c91e1793 252282009-04-11 Felix Zielcke <fzielcke@z-51.de>
25229
25230 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25231 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25232 GNU/kFreeBSD. Check if a device is a character device. Use
25233 DIOCGMEDIASIZE to get the size.
25234 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25235 support for GNU/kFreeBSD.
25236 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25237 is a character device instead of a block device. Add support for
25238 FreeBSD device names.
25239
25240 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25241 is a character device instead of a block device.
25242
25243 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25244 is a character device instead of a block device.
25245
b1ac8644 252462009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25247
25248 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25249 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25250 FreeBSD. Check if a device is a character device. Use
25251 DIOCGMEDIASIZE to get the size.
25252 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25253 support for FreeBSD.
25254 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25255 is a character device instead of a block device. Add support for
25256 FreeBSD device names.
25257
25258 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25259 a character device instead of a block device.
25260 (grub_util_check_char_device): New function.
25261
25262 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25263 a character device instead of a block device.
25264
25265 * include/grub/util/getroot.h (grub_util_check_char_device): New
25266 prototype.
25267
a3f7515a 252682009-04-11 David S. Miller <davem@davemloft.net>
25269
25270 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25271 static libgcc.
25272 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25273 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25274 function, if present.
25275 (__bswapdi2): Likewise.
25276
0d44993d 25277 * include/grub/sparc64/ieee1275/boot.h: New file.
25278 * boot/sparc64/ieee1275/boot.S: Likewise.
25279 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25280
ed3d2bc2 25281 * kern/misc.c (grub_ltoa): New function.
25282 (grub_vsprintf): Use it to format 'long' integers.
25283
d3bfb59c 252842009-04-10 David S. Miller <davem@davemloft.net>
25285
25286 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25287 slots are of type grub_ieee1275_cell_t.
25288 (grub_nand_read): Likewise.
25289 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25290 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25291 macros are used to compare values in arg/ret block of the call.
25292 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25293 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25294 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25295 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25296 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25297 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25298 grub_ieee1275_close, grub_ieee1275_set_property,
25299 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25300 grub_ieee1275_cell_t.
25301 * kern/ieee1275/openfw.c (grub_map): Likewise.
25302 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25303 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25304
450e2238 25305 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25306 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25307 (grub_devalias_iterate): Likewise.
25308
7dd4a573 253092009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 25310
25311 UFS improvements
25312
25313 * fs/ufs.c (INODE_NBLOCKS): new definition
25314 (struct grub_ufs_dirent): added fields for non-BSD dirents
25315 (grub_ufs_get_file_block): fixed double indirect handling
25316 (grub_ufs_lookup_symlink): use more robust way to determine whether
25317 symlink is inline
25318 (grub_ufs_find_file): support for non-BSD dirents
25319 (grub_ufs_dir): support for non-BSD dirents
25320
e7e6862a 253212009-04-10 Bean <bean123ch@gnail.com>
25322
25323 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25324 attribute, otherwise the size would be wrong for i386 platform.
25325
25326 * include/grub/pci.h (grub_pci_read_word): New inline function.
25327 (grub_pci_read_byte): Likewise.
25328 (grub_pci_write): Likewise.
25329 (grub_pci_write_word): Likewise.
25330 (grub_pci_write_byte): Likewise.
25331
25332 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25333
25334 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25335 (find_framebuf): Scan pci to locate the frame buffer address.
25336
25337 * commands/efi/fixvideo.c: New file.
25338
25339 * commands/efi/loadbios.c: Likewise.
25340
25341 * commands/memrw.c: Likewise.
25342
25343 * util/grub-dumpbios.in: Likewise.
25344
25345 * conf/common.rmk (grub-dumpbios): New utility.
25346 (pkglib_MODULES): New module memrw.mod.
25347 (memrw_mod_SOURCE): New macro.
25348 (memrw_mod_CFLAGS): Likewise.
25349 (memrw_mod_LDFLAGS): Likewise.
25350
7dd4a573 25351 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25352 fixvideo.mod.
25353 (loadbios_mod_SOURCE): New macro.
25354 (loadbios_mod_CFLAGS): Likewise.
25355 (loadbios_mod_LDFLAGS): Likewise.
25356 (fixvideo_mod_SOURCE): Likewise.
25357 (fixvideo_mod_CFLAGS): Likewise.
25358 (fixvideo_mod_LDFLAGS): Likewise.
25359
7dd4a573 25360 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25361 fixvideo.mod.
25362 (loadbios_mod_SOURCE): New macro.
25363 (loadbios_mod_CFLAGS): Likewise.
25364 (loadbios_mod_LDFLAGS): Likewise.
25365 (fixvideo_mod_SOURCE): Likewise.
25366 (fixvideo_mod_CFLAGS): Likewise.
25367 (fixvideo_mod_LDFLAGS): Likewise.
25368
af63ada2 253692009-04-08 Felix Zielcke <fzielcke@z-51.de>
25370
25371 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25372
c2cdde70 253732009-04-07 David S. Miller <davem@davemloft.net>
25374
25375 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25376 support for R_SPARC_OLO10 relocations. Fix compile warning for
25377 R_SPARC_WDISP30 case.
ea3f72cf 25378 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 25379
761319cf 253802009-04-06 Pavel Roskin <proski@gnu.org>
25381
1007d1f5 25382 * include/grub/misc.h (ARRAY_SIZE): New macro.
25383 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25384 New macro.
25385 * loader/i386/linux.c (allocate_pages): Use free_pages().
25386 (grub_linux_unload): Don't use free_pages().
25387 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25388 wrong index. Treat all other modes as text modes.
25389 (grub_cmd_linux): Initialize vid_mode unconditionally to
25390 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25391
761319cf 25392 * commands/help.c (print_command_help): Use cmd->prio, not
25393 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25394
ea761d40 253952009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 25396
ea761d40 25397 Parttool
25398
25399 * parttool/pcpart.c: new file
25400 * commands/parttool.c: likewise
25401 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25402 (parttool_mod_SOURCES): new variable
25403 (parttool_mod_CFLAGS): likewise
25404 (parttool_mod_LDFLAGS): likewise
25405 (pcpart_mod_SOURCES): likewise
25406 (pcpart_mod_CFLAGS): likewise
25407 (pcpart_mod_LDFLAGS): likewise
7dd4a573 25408 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 25409 and parttool/pcpart.c
25410 * conf/i386-efi.rmk: likewise
25411 * conf/i386-ieee1275.rmk: likewise
25412 * conf/i386-pc.rmk: likewise
25413 * conf/powerpc-ieee1275.rmk: likewise
25414 * conf/sparc64-ieee1275.rmk: likewise
25415 * conf/x86_64-ieee1275.rmk: likewise
25416
05aaebfb 254172009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25418
25419 Support for mtime and further expandability of dir command
25420
25421 * include/grub/lib/datetime.h: moved to ...
7dd4a573 25422 * include/grub/datetime.h: ... moved here and added
05aaebfb 25423 declaration of grub_unixtime2datetime. All users updated
7dd4a573 25424 * include/grub/fs.h: new syntax for dir and mtime functions in
25425 struct grub_fs
05aaebfb 25426 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25427 and GRUB_FSHELP_FLAGS_MASK
25428 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25429 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25430 (grub_ext2_mtime): new function
25431 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25432 (grub_hfsplus_mtime): new function
25433 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25434 (GRUB_UFS_ATTR_FILE): likewise
25435 (GRUB_UFS_ATTR_LNK): likewise
25436 (struct grub_ufs_sblock): new fields mtime
25437 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25438 all users updated
25439 (grub_ufs_dir): mtime support
25440 (grub_ufs_mtime): new function
25441 * fs/affs.c (grub_affs_dir): use new dir syntax
25442 * fs/afs.c (grub_afs_dir): likewise
25443 * fs/cpio.c (grub_cpio_dir): likewise
25444 * fs/fat.c (grub_fat_find_dir): likewise
25445 * fs/hfs.c (grub_hfs_dir): likewise
25446 * fs/iso9660.c (grub_iso9660_dir): likewise
25447 * fs/jfs.c (grub_jfs_dir): likewise
25448 * fs/minix.c (grub_minix_dir): likewise
25449 * fs/ntfs.c (grub_ntfs_dir): likewise
25450 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25451 * fs/sfs.c (grub_sfs_dir): likewise
25452 * fs/xfs.c (grub_xfs_dir): likewise
25453 * util/hostfs.c (grub_hostfs_dir): likewise
25454 * lib/datetime.c: moved to ...
25455 * normal/datetime.c: ... moved here
25456 (grub_unixtime2datetime): new function
25457 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 25458 * normal/completion.c (iterate_dir): use new dir syntax
25459 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 25460 last modification time of a volume
7dd4a573 25461 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 25462 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 25463 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 25464 (normal_mod_SOURCES): likewise
25465 (datetime_mod_SOURCES): Removed lib/datetime.c
25466 * conf/i386-efi.rmk: likewise
7dd4a573 25467 * conf/i386-ieee1275.rmk: likewise
05aaebfb 25468 * conf/i386-pc.rmk: likewise
25469 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25470 * conf/sparc64-ieee1275.rmk: likewise
25471 * conf/x86_64-efi.rmk: likewise
05aaebfb 25472
8a7e1a14 254732009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25474
25475 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 25476
25477 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 25478 on grub_fat_find_dir
25479 (grub_fat_find_dir): use grub_fat_iterate_dir
25480 (grub_fat_label): likewise
25481
04186a9c 254822009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25483
7dd4a573 25484 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 25485 and command.h
25486 remove extraneous kernel_elf_HEADERS
25487
da4c0bb6 254882009-04-04 Bean <bean123ch@gnail.com>
25489
25490 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25491
25492 * util/misc.c: Likewise.
25493
54ad9555 254942009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25495
25496 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25497 instead of grub_printf.
25498
7a6bf9f2 254992009-04-03 Robert Millan <rmh@aybabtu.com>
25500
25501 * loader/i386/linux.c (grub_linux_setup_video): Fill
25502 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25503 values from `mode info' structure instead of hardcoded
25504 values.
25505
3fcc2083 255062009-04-01 Pavel Roskin <proski@gnu.org>
25507
25508 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25509 unused now.
25510 * genmk.rb: Likewise.
25511 * configure.ac: Likewise.
25512
5ec9740b 255132009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25514
25515 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25516 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25517
5270cec8 255182009-04-01 David S. Miller <davem@davemloft.net>
25519
25520 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 25521 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 25522 (grub_setjmp): Mark with 'returns_twice' attribute.
25523 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25524 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25525 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25526
9c3dd854 255272009-04-01 Robert Millan <rmh@aybabtu.com>
25528
25529 Reapply fix from 2008-07-28 which was accidentally reverted; also
25530 perform the same fix to a similar check in same function.
25531
25532 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25533 with the same number are found, just use issue a warning with
25534 grub_dprintf(), as this error has been reported to be non-fatal.
25535
0d818b7e 255362009-03-31 Pavel Roskin <proski@gnu.org>
25537
25538 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25539 for cross-compilation.
25540
95646d92 255412009-03-30 Robert Millan <rmh@aybabtu.com>
25542
25543 Fix i386-ieee1275 build.
25544
25545 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25546 Remove declaration.
25547
6a003ed1 255482009-03-30 Pavel Roskin <proski@gnu.org>
25549
25550 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25551 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25552 zero-terminated, rely only on the strlen value. Fix comparison
25553 of strings differing in length.
25554
92f33540 255552009-03-30 Robert Millan <rmh@aybabtu.com>
25556
25557 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25558 checking for abi version. Improve error messages on BIOS to notify
25559 user about `linux16' command.
25560
a8c48fd5 255612009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25562
f968172e 25563 Leak fixes
a8c48fd5 25564
f968172e 25565 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25566 in case of collision
25567 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 25568
9c323f09 255692009-03-29 Robert Millan <rmh@aybabtu.com>
25570
25571 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25572 set `vid_mode' accordingly.
25573 (grub_linux_boot): Process `vid_mode' and set video mode.
25574
ae68f423 255752009-03-29 Robert Millan <rmh@aybabtu.com>
25576
25577 * util/grub.d/10_linux.in (linux_entry): New function.
25578 Factorize generation of Linux boot entries.
25579
5709cfc4 255802009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25581
25582 Make the format of Environment Block plain text. The boot loader
25583 part is not tested well yet.
7dd4a573 25584
5709cfc4 25585 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25586 (buffer): Removed.
25587 (envblk): Likewise.
25588 (usage): Remove "info" and "clear". Add "unset". Update the
25589 description of "set", as this does not delete variables any
25590 longer.
25591 (create_envblk_file): Complete rewrite.
25592 (open_envblk_file): Likewise.
25593 (cmd_info): Removed.
25594 (cmd_list): Likewise.
25595 (cmd_set): Likewise.
25596 (cmd_clear): Likewise.
25597 (list_variables): New function.
25598 (write_envblk): Likewise.
25599 (set_variables): Likewise.
25600 (unset_variables): Likewise.
25601 (main): Complete rewrite.
25602
25603 * commands/loadenv.c (buffer): Removed.
25604 (envblk): Likewise.
25605 (open_envblk_file): New function.
25606 (read_envblk_file): Complete rewrite.
25607 (grub_cmd_load_env): Likewise.
25608 (grub_cmd_list_env): Likewise.
25609 (struct blocklist): New struct.
25610 (free_blocklists): New function.
25611 (check_blocklists): Likewise.
25612 (write_blocklists): Likewise.
25613 (grub_cmd_save_env): Complete rewrite.
25614
25615 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25616 a plain text signature.
25617 (GRUB_ENVBLK_MAXLEN): Removed.
25618 (struct grub_envblk): Complete rewrite.
25619 (grub_envblk_find): Removed.
25620 (grub_envblk_insert): Likewise.
25621 (grub_envblk_open): New prototype.
25622 (grub_envblk_set): Likewise.
25623 (grub_envblk_delete): Put const to VALUE.
25624 (grub_envblk_iterate): Put const to NAME and VALUE.
25625 (grub_envblk_close): New prototype.
25626 (grub_envblk_buffer): New inline function.
25627 (grub_envblk_size): Likewise.
25628
25629 * lib/envblk.c: Include grub/mm.h.
25630 (grub_env_find): Removed.
25631 (grub_envblk_open): New function.
25632 (grub_envblk_close): Likewise.
25633 (escaped_value_len): Likewise.
25634 (find_next_line): Likewise.
25635 (grub_envblk_insert): Removed.
25636 (grub_envblk_set): New function.
25637 (grub_envblk_delete): Complete rewrite.
25638 (grub_envblk_iterate): Likewise.
25639
a9368fd3 256402009-03-28 Robert Millan <rmh@aybabtu.com>
25641
25642 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25643 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25644 variables. Use 16-bit loader.
25645 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25646 loader.
25647 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25648 (grub_linux16_boot): ... this. Update all users.
25649 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25650 (grub_linux_boot): ... this. Update all users.
25651
25652 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25653 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25654 commands to `linux16' and `initrd16'.
25655 (GRUB_MOD_FINI(linux)): Rename to ...
25656 (GRUB_MOD_FINI(linux16)): ... this.
25657
e4dd5a7e 256582009-03-24 Pavel Roskin <proski@gnu.org>
25659
25660 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25661 not just for compilation.
25662
c04d6e05 256632009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25664
25665 Move multiboot helper out of kernel
25666
25667 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25668 `loader/i386/multiboot_helper.S'.
25669 * conf/i386-coreboot.rmk: Likewise
25670 * conf/i386-ieee1275.rmk: Likewise
25671
25672 * kern/i386/loader.S: Move multiboot helpers from here...
25673 * loader/i386/multiboot_helper.S: ...moved here
25674 * include/grub/i386/loader.h: Move declarations of multiboot
25675 helpers from here...
25676 * include/grub/i386/multiboot.h: ...moved here
25677 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25678
42a5b3fc 256792009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25680
25681 * kern/env.c (grub_env_context_open): Added an argument to specify
25682 whether a new context inherits exported variables from current
25683 one. This is useful when making a sandbox to interpret a config
25684 file.
25685 All callers updated.
25686
25687 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25688
b28bbc4e 256892009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25690
25691 * kern/env.c (grub_env_context_close): Fix memory leaks.
25692
f04f02e4 256932009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25694
25695 * normal/main.c (grub_normal_execute): Added an argument
25696 BATCH to specify if an interactive interface should be provided
25697 after reading a config file.
25698 All callers updated.
25699 (read_command_list): Prevent being executed twice.
25700 (read_fs_list): Likewise.
25701
42a5b3fc 25702 * include/grub/normal.h (grub_normal_execute): Updated the
25703 prototype.
f04f02e4 25704
41473ac2 257052009-03-22 Pavel Roskin <proski@gno.org>
25706
fbc00b0c 25707 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25708 _start.
25709 * kern/i386/pc/startup.S: Likewise.
25710 * kern/i386/efi/startup.S: Likewise.
25711 * kern/i386/ieee1275/startup.S: Likewise.
25712 * kern/i386/coreboot/startup.S: Likewise.
25713 * kern/x86_64/efi/startup.S: Likewise.
25714
41473ac2 25715 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25716 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25717 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25718
2274cc8f 257192009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25722
25723 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25724 limit detection.
25725 Use vaddr of correct segment for entry_point.
25726
b1b797cb 257272009-03-21 Bean <bean123ch@gmail.com>
25728
25729 * commands/blocklist.c: Add include file <grub/command.h>, remove
25730 <grub/normal.h> and <grub/arg.h>.
25731 (grub_cmd_blocklist): Use the new command interface.
25732 (GRUB_MOD_INIT): Likewise.
25733 (GRUB_MOD_FINI): Likewise.
25734 * commands/boot.c: Likewise.
25735 * commands/cat.c: Likewise.
25736 * commands/cmp.c: Likewise.
25737 * commands/configfile.c: Likewise.
25738 * commands/crc.c: Likewise.
25739 * commands/echo.c: Likewise.
25740 * commands/halt.c: Likewise.
25741 * commands/handler.c: Likewise.
25742 * commands/hdparm.c: Likewise.
25743 * commands/help.c: Likewise.
25744 * commands/hexdump.c: Likewise.
25745 * commands/loadenv.c: Likewise.
25746 * commands/ls.c: Likewise.
25747 * commands/lsmmap.c: Likewise.
25748 * commands/lspci.c: Likewise.
25749 * commands/loadenv.c: Likewise.
25750 * commands/read.c: Likewise.
25751 * commands/reboot.c: Likewise.
25752 * commands/search.c: Likewise.
25753 * commands/sleep.c: Likewise.
25754 * commands/test.c: Likewise.
25755 * commands/usbtest.c: Likewise.
25756 * commands/videotest.c: Likewise.
25757 * commands/i386/cpuid.c: Likewise.
25758 * commands/i386/pc/halt.c: Likewise.
25759 * commands/i386/pc/play.c: Likewise.
25760 * commands/i386/pc/pxecmd.c: Likewise.
25761 * commands/i386/pc/vbeinfo.c: Likewise.
25762 * commands/i386/pc/vbetest.c: Likewise.
25763 * commands/ieee1275/suspend.c: Likewise.
25764 * disk/loopback.c: Likewise.
25765 * font/font_cmd.c: Likewise.
25766 * hello/hello.c: Likewise.
25767 * loader/efi/appleloader.c: Likewise.
25768 * loader/efi/chainloader.c: Likewise.
25769 * loader/i386/bsd.c: Likewise.
25770 * loader/i386/efi/linux.c: Likewise.
25771 * loader/i386/ieee1275/linux.c: Likewise.
25772 * loader/i386/linux.c: Likewise.
25773 * loader/i386/pc/chainloader.c: Likewise.
25774 * loader/i386/pc/linux.c: Likewise.
25775 * loader/powerpc/ieee1275/linux.c: Likewise.
25776 * loader/multiboot_loader.c: Likewise.
25777 * term/gfxterm.c: Likewise.
25778 * term/i386/pc/serial.c: Likewise.
25779 * term/terminfo.c: Likewise.
25780
25781 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25782 * term/i386/pc/vga.c: Likewise.
25783 * video/readers/jpeg.c: Likewise.
25784 * video/readers/png.c: Likewise.
25785 * video/readers/tga.c: Likewise.
25786
25787 * util/grub-fstest (cmd_loopback): Removed.
25788 (cmd_blocklist): Likewise.
25789 (cmd_ls): Likewise.
25790 (grub_register_command): Likewise.
25791 (grub_unregister_command): Likewise.
25792 (execute_command): Use grub_command_find to locate command and execute
25793 it.
25794
25795 * include/grub/efi/chainloader.h: Removed.
25796 * loader/efi/chainloader_normal.c: Likewise.
25797 * loader/i386/bsd_normal.c: Likewise.
25798 * loader/i386/pc/chainloader_normal.c: Likewise.
25799 * loader/i386/pc/multiboot_normal.c: Likewise.
25800 * loader/linux_normal.c: Likewise.
25801 * loader/multiboot_loader_normal.c: Likewise.
25802 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25803
25804 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25805 and grub_register_command_p1.
25806
25807 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25808 kern/command.c, lib/arg.c and commands/extcmd.c.
25809 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25810 (minicmd_mod_SOURCES): New variable.
25811 (minicmd_mod_CFLAGS): Likewise.
25812 (minicmd_mod_LDFLAGS): Likewise.
25813 (extcmd_mod_SOURCES): Likewise.
25814 (extcmd_mod_CFLAGS): Likewise.
25815 (extcmd_mod_LDFLAGS): Likewise.
25816 (boot_mod_SOURCES): Removed.
25817 (boot_mod_CFLAGS): Likewise.
25818 (boot_mod_LDFLAGS): Likewise.
25819
25820 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25821 kern/corecmd.c.
25822 (kernel_img_HEADERS): Add command.h.
25823 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25824 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25825 and lib/arg.c.
25826 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25827 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25828 remove the corresponding normal mode command.
25829 (normal_mod_SOURCES): Remove normal/arg.c.
25830 * conf/i386-coreboot.rmk: Likewise.
25831 * conf/i386-efi.rmk: Likewise.
25832 * conf/i386-ieee1275.rmk: Likewise.
25833 * conf/powerpc-ieee1275.rmk: Likewise.
25834 * conf/x86_64-efi.rmk: Likewise.
25835
25836 * include/grub/arg.h: Move from here ...
25837 * include/grub/lib/arg.h: ... to here.
25838
25839 * normal/arg.c: Move from here ...
25840 * lib/arg.c: ... to here.
25841
25842 * commands/extcmd.c: New file.
25843 * commands/minicmd.c: Likewise.
25844 * include/grub/command.h: Likewise.
25845 * include/grub/extcmd.h: Likewise.
25846 * kern/command.c: Likewise.
25847 * kern/corecmd.c: Likewise.
25848
25849 * kern/list.c (grub_list_iterate): Return int instead of void.
25850 (grub_list_insert): New function.
25851 (grub_prio_list_insert): Likewise.
25852
25853 * kern/rescue.c (grub_rescue_command): Removed.
25854 (grub_rescue_command_list): Likewise.
25855 (grub_rescue_register_command): Likewise.
25856 (grub_rescue_unregister_command): Likewise.
25857 (grub_rescue_cmd_boot): Move to minicmd.c
25858 (grub_rescue_cmd_help): Likewise.
25859 (grub_rescue_cmd_info): Likewise.
25860 (grub_rescue_cmd_boot): Likewise.
25861 (grub_rescue_cmd_testload): Likewise.
25862 (grub_rescue_cmd_dump): Likewise.
25863 (grub_rescue_cmd_rmmod): Likewise.
25864 (grub_rescue_cmd_lsmod): Likewise.
25865 (grub_rescue_cmd_exit): Likewise.
25866 (grub_rescue_print_devices): Moved to corecmd.c.
25867 (grub_rescue_print_files): Likewise.
25868 (grub_rescue_cmd_ls): Likewise.
25869 (grub_rescue_cmd_insmod): Likewise.
25870 (grub_rescue_cmd_set): Likewise.
25871 (grub_rescue_cmd_unset): Likewise.
7d074e3c 25872 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 25873 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 25874 commands, remove grub_rescue_register_command calls.
b1b797cb 25875
7d074e3c 25876 * normal/command.c (grub_register_command): Removed.
b1b797cb 25877 (grub_unregister_command): Likewise.
25878 (grub_command_find): Likewise.
25879 (grub_iterate_commands): Likewise.
25880 (rescue_command): Likewise.
25881 (export_command): Moved to corecmd.c.
25882 (set_command): Removed.
25883 (unset_command): Likewise.
25884 (insmod_command): Likewise.
25885 (rmmod_command): Likewise.
25886 (lsmod_command): Likewise.
25887 (grub_command_init): Likewise.
25888
25889 * normal/completion.c (iterate_command): Use cmd->prio to check for
25890 active command.
25891 (complete_arguments): Use grub_extcmd_t structure to find options.
25892 (grub_normal_do_completion): Change function grub_iterate_commands to
25893 grub_command_iterate.
25894
25895 * normal/execute.c (grub_script_execute_cmd): No need to parse
25896 argument here.
25897
25898 * normal/main.c (grub_dyncmd_dispatcher): New function.
25899 (read_command_list): Register unload commands as dyncmd.
25900 (grub_cmd_normal): Use new command interface, register rescue,
25901 unregister normal at entry, register normal, unregister rescue at exit.
25902
25903 * include/grub/list.h (grub_list_test_t): New type.
25904 (grub_list_iterate): Return int instead of void.
25905 (grub_list_insert): New function.
25906 (GRUB_AS_NAMED_LIST_P): New macro.
25907 (GRUB_AS_PRIO_LIST): Likewise.
25908 (GRUB_AS_PRIO_LIST_P): Likewise.
25909 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25910 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25911 (grub_prio_list): New structure.
25912 (grub_prio_list_insert): New function.
25913 (grub_prio_list_remove): New inline function.
25914
25915 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25916 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25917 (GRUB_COMMAND_FLAG_MENU): Likewise.
25918 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25919 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25920 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25921 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25922 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25923 (grub_command): Likewise.
25924 (grub_register_command): Likewise.
25925 (grub_command_find): Likewise.
25926 (grub_iterate_commands): Likewise.
25927 (grub_command_init): Likewise.
25928 (grub_arg_parse): Likewise.
25929 (grub_arg_show_help): Likewise.
25930
25931 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25932 (grub_rescue_unregister_command): Likewise.
25933
25934 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25935 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25936 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25937
25938 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25939 grub_rescue_cmd_initrd.
25940 * include/grub/i386/loader.h: Likewise.
25941 * include/grub/x86_64/loader.h: Likewise.
25942
25943 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25944
1f4147aa 259452009-03-21 Bean <bean123ch@gmail.com>
25946
25947 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25948 instead of stat in mingw environment.
25949
25950 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25951
25952 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25953
25954 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25955 AC_CONFIG_LINKS.
25956
2156d5ba 259572009-03-21 Bean <bean123ch@gmail.com>
25958
25959 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25960 out of range error.
25961
177b82ca 259622009-03-18 Michel Dänzer <michel@daenzer.net>
25963
25964 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25965 checking inode flags for EXT4_EXTENTS_FLAG.
25966
14aad807 259672009-03-18 Robert Millan <rmh@aybabtu.com>
25968
25969 * loader/i386/linux.c: Include `<grub/video.h>' and
25970 `<grub/i386/pc/vbe.h>'..
25971 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25972 (grub_linux32_boot): Attempt to configure video settings with
25973 grub_linux_setup_video().
25974 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25975 to avoid grub_console_fini() which would step out of graphical mode
25976 unconditionally.
25977
8cf83a27 259782009-03-14 Robert Millan <rmh@aybabtu.com>
25979
25980 Fix build on powerpc.
25981 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25982
40164e75 259832009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25984
25985 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25986 background image command.
25987
c58bc32a 259882009-03-12 Colin D Bennett <colin@gibibit.com>
25989
25990 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25991 (grub_gfxterm_putchar): Extract pairs of identical calls to
25992 draw_cursor out of conditional blocks.
25993
5415144a 259942009-03-11 Pavel Roskin <proski@gnu.org>
25995
25996 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25997 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25998
6394042e 259992009-03-11 Robert Millan <rmh@aybabtu.com>
26000
26001 * loader/i386/multiboot_elfxx.c
26002 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
26003
b7b50e5f 260042009-03-11 Felix Zielcke <fzielcke@z-51.de>
26005
26006 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
26007 `kern/handler.c'.
26008
1ca7fc96 260092009-03-11 Robert Millan <rmh@aybabtu.com>
26010
26011 * loader/i386/multiboot.c (code_size): New variable.
26012 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 26013 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 26014 4-byte alignment to MBI and others by increasing
7d074e3c 26015 `boot_loader_name_length' appropriately.
1ca7fc96 26016
26017 * loader/i386/multiboot_elfxx.c
26018 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
26019
a83ea1d2 260202009-03-09 Felix Zielcke <fzielcke@z-51.de>
26021
26022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
26023 `fs/ext2.c'.
26024
aa9f3bff 260252009-03-08 Robert Millan <rmh@aybabtu.com>
26026
26027 Make loader/i386/linux.c usable on i386-pc again.
26028
26029 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
26030 memory to heap.
26031 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
26032 `#error' stanza.
26033
d8b3b60e 260342009-03-07 Bean <bean123ch@gmail.com>
26035
26036 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
26037 allocation.
26038
b362c9e9 260392009-03-06 Robert Millan <rmh@aybabtu.com>
26040
26041 Fix display issue on terminals with screen size other than 80x25
26042 (e.g. gfxterm with resolution higher than 640x480).
26043
26044 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 26045 position relative to the center of the terminal instead of relying
b362c9e9 26046 on a hardcoded offset.
26047
9304eef1 260482009-03-04 Robert Millan <rmh@aybabtu.com>
26049
26050 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26051 installed.
26052
26053 * Makefile.in (host_kernel): New variable.
26054 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26055 scripts instead of just the windows one.
26056 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26057
eabc95fb 260582009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 26059
26060 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26061 `kern/handler.c'.
26062 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26063 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26064 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26066 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26067 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26068
ceb1223c 260692009-03-04 Felix Zielcke <fzielcke@z-51.de>
26070
26071 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26072 or if there's no space for the disk label and print the partition number on a
26073 invalid magic.
26074
4910684a 260752009-03-04 Felix Zielcke <fzielcke@z-51.de>
26076
26077 * util/misc.c: Include <time.h>.
26078 (grub_millisleep): New function.
26079
7e9ca17a 260802009-03-04 Bean <bean123ch@gmail.com>
26081
26082 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26083 another option -mno-red-zone.
26084
26085 * commands/handler.c: Change module description.
26086
26087 * kern/handler.c: Add missing space at the end of description line.
26088
26089 * kern/list.c: Likewise.
26090
f501677c 260912009-03-03 Robert Millan <rmh@aybabtu.com>
26092
26093 Move more components to the relocation area, and fix mbi pointer
26094 handling to use the destination rather than the origin (thanks to
26095 Vladimir Serbinenko for spotting).
26096
26097 * loader/i386/multiboot.c (mbi_dest): New variable.
26098 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26099 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26100 relocation area.
26101
9902d047 261022009-03-01 Bean <bean123ch@gmail.com>
26103
50fb7002 26104 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 26105 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26106 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26107 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26108
26109 * loader/i386/efi/linux.c (acpi_guid): New variable.
26110 (acpi_guid): Likewise.
26111 (EBDA_SEG_ADDR): New constant.
26112 (LOW_MEM_ADDR): Likewise.
26113 (FAKE_EBDA_SEG): Likewise.
26114 (fake_bios_data): New function.
26115 (grub_linux_boot): Call fake_bios_data.
26116
71b9f361 261172009-03-01 Bean <bean123ch@gmail.com>
26118
26119 * commands/terminal.c: Removed.
26120
26121 * commands/handler.c: New file.
26122
26123 * include/grub/list.h: Likewise.
26124
26125 * include/grub/handler.h: Likewise.
26126
26127 * kern/list.c: Likewise.
26128
26129 * kern/handler.c: Likewise.
26130
26131 * kern/term.h: Include header file <grub/handler.h>.
26132 (grub_term_input): Move next field to the beginning.
26133 (grub_term_output): Likewise.
26134 (grub_term_input_class): New variable.
26135 (grub_term_output_class): Likewise.
26136 (grub_term_register_input): Changed to inline function.
26137 (grub_term_register_output): Likewise.
26138 (grub_term_unregister_input): Likewise.
26139 (grub_term_unregister_output): Likewise.
26140 (grub_term_set_current_input): Likewise.
26141 (grub_term_set_current_output): Likewise.
26142 (grub_term_get_current_input): Likewise.
26143 (grub_term_get_current_output): Likewise.
26144 (grub_term_iterate_input): Removed.
26145 (grub_term_iterate_output): Likewise.
26146
26147 * kern/term.c (grub_term_list_input): Removed.
26148 (grub_term_list_output): Likewise.
26149 (grub_term_input_class): New variable.
26150 (grub_term_output_class): Likewise.
50fb7002 26151 (grub_cur_term_input): Change variable as macro.
71b9f361 26152 (grub_cur_term_output): Likewise.
26153 (grub_term_register_input): Removed.
26154 (grub_term_register_output): Likewise.
26155 (grub_term_unregister_input): Likewise.
26156 (grub_term_unregister_output): Likewise.
26157 (grub_term_set_current_input): Likewise.
26158 (grub_term_set_current_output): Likewise.
26159 (grub_term_iterate_input): Likewise.
26160 (grub_term_iterate_output): Likewise.
26161 (grub_term_get_current_input): Likewise.
26162 (grub_term_get_current_output): Likewise.
26163
26164 * util/grub-editenv.c: Include header file <grub/handler.h>.
26165 (grub_term_get_current_input): Removed.
26166 (grub_term_get_current_output): Likewise.
26167 (grub_term_input_class): New variable.
50fb7002 26168 (grub_term_output_class): Likewise.
71b9f361 26169
26170 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26171 (grub_term_get_current_output): Likewise.
26172 (grub_term_input_class): New variable.
50fb7002 26173 (grub_term_output_class): Likewise.
71b9f361 26174
26175 * util/grub-probe.c (grub_term_get_current_input): Removed.
26176 (grub_term_get_current_output): Likewise.
26177 (grub_term_input_class): New variable.
50fb7002 26178 (grub_term_output_class): Likewise.
71b9f361 26179
26180 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26181 (grub_term_get_current_output): Likewise.
26182 (grub_term_input_class): New variable.
50fb7002 26183 (grub_term_output_class): Likewise.
71b9f361 26184
26185 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26186 (terminal_mod_SOURCES): Likewise.
26187 (terminal_mod_CFLAGS): Likewise.
26188 (terminal_mod_LDFLAGS): Likewise.
26189
26190 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26191 handler.c.
26192 (kernel_img_SOURCES): Add list.c and handler.c.
26193 (kernel_img_HEADERS): Add list.h and handler.h.
26194
26195 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26196 handler.c.
26197 (kernel_mod_SOURCES): Add list.c and handler.c.
26198 (kernel_mod_HEADERS): Add list.h and handler.h.
26199
26200 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26201 handler.c.
26202 (kernel_elf_SOURCES): Add list.c and handler.c.
26203 (kernel_elf_HEADERS): Add list.h and handler.h.
26204
26205 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26206 handler.c.
26207 (kernel_elf_SOURCES): Add list.c and handler.c.
26208 (kernel_elf_HEADERS): Add list.h and handler.h.
26209
26210 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26211 handler.c.
26212 (kernel_mod_SOURCES): Add list.c and handler.c.
26213 (kernel_mod_HEADERS): Add list.h and handler.h.
26214
26215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26216 handler.c.
26217 (kernel_elf_SOURCES): Add list.c and handler.c.
26218 (kernel_elf_HEADERS): Add list.h and handler.h.
26219
8a31787f 262202009-02-27 Robert Millan <rmh@aybabtu.com>
26221
26222 Factorize elf32 / elf64 code in Multiboot loader. This will
26223 prevent it from getting out of sync again.
26224
26225 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26226 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26227 grub_multiboot_load_elf64): Move from here ...
26228 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26229 grub_multiboot_load_elf): ... to here (new file).
26230
51cd3dfc 262312009-02-27 Robert Millan <rmh@aybabtu.com>
26232
26233 * util/grub.d/10_linux.in: Rename "single-user mode" to
26234 "recovery mode".
26235
6e8c9c3a 262362009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26237
26238 Don't leak in SCSI code.
26239 * disk/scsi.c (grub_scsi_close): free `scsi'.
26240
4b6bf4f9 262412009-02-27 Robert Millan <rmh@aybabtu.com>
26242
26243 * loader/i386/pc/multiboot.c: Move from here ...
26244 * loader/i386/multiboot.c: ... to here. Update all users.
26245
b9413424 262462009-02-27 Robert Millan <rmh@aybabtu.com>
26247
26248 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26249 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26250
50fb7002 262512009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 26252
26253 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26254 b-tree.
26255
8cc50345 262562009-02-27 Robert Millan <rmh@aybabtu.com>
26257
26258 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26259 `0x' qualifier as 0 when base is specified as parameter).
26260
6e09b8b7 262612009-02-24 Bean <bean123ch@gmail.com>
26262
26263 * configure.ac: Check for -mcmodel=large in x86_64 target.
26264
26265 * include/grub/efi/api.h (efi_call_10): New macro.
26266 (efi_wrap_10): New function.
26267
26268 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26269 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26270 (GRUB_PE32_REL_BASED_LOW): Likewise.
26271 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26272 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26273 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26274 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26275 (GRUB_PE32_REL_BASED_REL): Likewise.
26276 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26277 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26278 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26279
26280 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26281 issue.
26282
26283 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26284 (efi_wrap_10): New function.
26285
26286 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26287
26288 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26289 MB/MBP model (NV chipset).
26290 (devdata_devs): Add devpath_5 to the list.
26291
26292 * load/i386/efi/linux.c (video_base): Remove variable.
26293 (RGB_MASK): New macro.
26294 (RGB_MAGIC): Likewise.
26295 (LINE_MIN): Likewise.
26296 (LINE_MAX): Likewise.
26297 (FBTEST_STEP): Likewise.
26298 (FBTEST_COUNT): Likewise.
26299 (fb_list): New variable.
26300 (grub_find_video_card): Remove function.
26301 (find_framebuf): New function.
26302 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26303 line length.
26304
26305 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26306 problem for x86_64.
26307
74b21bee 263082009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26309
26310 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26311
26312 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26313 coding tool name.
26314
a455f472 263152009-02-22 Robert Millan <rmh@aybabtu.com>
26316
26317 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26318 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26319 in our relocation, instead of using it directly from heap. Also
26320 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26321
6374daf3 263222009-02-21 Robert Millan <rmh@aybabtu.com>
26323
26324 Implement USB keyboard support (based on patch by Marco Gerards)
26325
26326 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26327 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26328 (usb_keyboard_mod_LDFLAGS): New variables.
26329
26330 * term/usb_keyboard.c: New file.
26331
8fa4ea70 263322009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26333
26334 Corrected wrong declaration
26335
26336 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26337
353976ac 263382009-02-14 Christian Franke <franke@computer.org>
26339
26340 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26341 (grub_lspci_iter): Print class code and programming interface byte.
26342
6aa1169b 263432009-02-14 Christian Franke <franke@computer.org>
26344
26345 * gendistlist.sh: Ignore `.svn' directories.
26346
265372ca 263472009-02-14 Felix Zielcke <fzielcke@z-51.de>
26348
26349 * fs/fat.c: Add 2009 to Copyright line.
26350
9ff516f3 263512009-02-14 Christian Franke <franke@computer.org>
26352
26353 * commands/hdparm.c: New file. Provides `hdparm' command
26354 which sends ATA commands via grub_disk_ata_pass_through ().
26355
26356 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26357
26358 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26359 and <grub/cpu/io.h> to include/grub/ata.h.
26360 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26361 (GRUB_CDROM_SECTOR_SIZE): Remove.
26362 (GRUB_ATA_*): Move to include/grub/ata.h.
26363 (GRUB_ATAPI_*): Likewise.
26364 (enum grub_ata_commands): Likewise.
26365 (enum grub_ata_timeout_milliseconds): Likewise.
26366 (struct grub_ata_device): Likewise.
26367 (grub_ata_regset): Likewise.
26368 (grub_ata_regget): Likewise.
26369 (grub_ata_regset2): Likewise.
26370 (grub_ata_regget2): Likewise.
26371 (grub_ata_check_ready): Likewise.
26372 (grub_ata_wait_not_busy): Remove static, exported in
26373 include/grub/ata.h.
26374 (grub_ata_wait_drq): Likewise.
26375 (grub_ata_pio_read): Likewise.
26376
26377 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26378 function for hdparm.mod.
26379
26380 * include/grub/ata.h: New file, contains declarations from
26381 disk/ata.c.
26382 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26383
26384 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26385 (grub_disk_ata_pass_through): New exported variable.
26386
26387 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26388
772e23da 263892009-02-13 Colin D Bennett <colin@gibibit.com>
26390
26391 Support multiple fallback entries, and provide an API to support
26392 executing default+fallback menu entries. Renamed the `terminal' menu
26393 viewer to `text'.
26394
26395 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26396 variable declaration.
26397 (grub_menu_execute_callback): New structure declaration.
26398 (grub_menu_execute_callback_t): New typedef.
26399 (grub_menu_execute_with_fallback): New function declaration.
26400 (grub_menu_get_entry): Likewise.
26401 (grub_menu_get_timeout): Likewise.
26402 (grub_menu_set_timeout): Likewise.
26403
26404 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26405
26406 * normal/menu.c (grub_wait_after_message): Moved to
26407 `normal/menu_text.c'.
26408 (draw_border): Likewise.
26409 (print_message): Likewise.
26410 (print_entry): Likewise.
26411 (print_entries): Likewise.
26412 (grub_menu_init_page): Likewise.
26413 (get_entry_number): Likewise.
26414 (print_timeout): Likewise.
26415 (run_menu): Likewise.
26416 (grub_menu_execute_entry): Likewise.
26417 (show_text_menu): Likewise.
26418 (get_and_remove_first_entry_number): New function.
26419 (grub_menu_execute_with_fallback): Likewise.
26420 (get_entry): Renamed to ...
26421 (grub_menu_get_entry): .. this and made it global.
26422 (get_timeout): Renamed to ...
26423 (grub_menu_get_timeout): ... this and made it global.
26424 (set_timeout): Renamed to ...
26425 (grub_menu_set_timeout): ... this and made it global.
26426 (grub_normal_terminal_menu_viewer): Renamed to ...
26427 (grub_normal_text_menu_viewer): ... this.
26428
26429 * normal/menu_text.c: New file. Extracted text-menu-specific code
26430 from normal/menu.c.
26431
26432 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26433 (normal_mod_SOURCES): Likewise.
26434
26435 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26436 (normal_mod_SOURCES): Likewise.
26437
26438 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26439 (normal_mod_SOURCES): Likewise.
26440
26441 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26442 (normal_mod_SOURCES): Likewise.
26443
26444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26445 (normal_mod_SOURCES): Likewise.
26446
26447 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26448 (normal_mod_SOURCES): Likewise.
26449
26450 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26451 (normal_mod_SOURCES): Likewise.
26452
16ac430e 264532009-02-11 Robert Millan <rmh@aybabtu.com>
26454
26455 * util/grub.d/00_header.in: Update old reference to `font' command.
26456
06ff20fc 264572009-02-10 Felix Zielcke <fzielcke@z-51.de>
26458
26459 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26460
26461 Based on patch from Javier Martín.
26462
96da9407 264632009-02-09 Felix Zielcke <fzielcke@z-51.de>
26464
26465 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 26466 to avoid false positives with FAT.
96da9407 26467 (grub_fstest_SOURCES): Likewise.
26468 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26469 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26471 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26472 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26473 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26474
6dca6fe4 264752009-02-09 Felix Zielcke <fzielcke@z-51.de>
26476
06ff20fc 26477 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 26478 bpb.version_specific.fat12_or_fat16.fstype and
26479 bpb.version_specific.fat32.fstype.
26480
2550c62f 264812009-02-08 Robert Millan <rmh@aybabtu.com>
26482
be110b30 26483 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 26484
56978920 264852009-02-08 Robert Millan <rmh@aybabtu.com>
26486
26487 * Makefile.in (host_os, host_cpu): New variables.
26488 (target_os): Remove. Update all users.
26489
d64399b5 264902009-02-08 Marco Gerards <marco@gnu.org>
26491
26492 * Makefile.in (enable_grub_emu_usb): New variable.
26493 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26494 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26495 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26496 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26497 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26498 `usbtest.mod' and `usbms.mod'.
26499 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26500 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26501 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26502 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26503 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26504 variables.
26505
26506 * disk/usbms.c: New file.
26507
26508 * include/grub/usb.h: Likewise.
26509
26510 * include/grub/usbtrans.h: Likewise.
26511
26512 * include/grub/usbdesc.h: Likewise.
26513
26514 * bus/usb/usbtrans.c: Likewise.
26515
26516 * bus/usb/ohci.c: Likewise.
26517
26518 * bus/usb/uhci.c: Likewise.
26519
26520 * bus/usb/usbhub.c: Likewise.
26521
26522 * bus/usb/usb.c: Likewise.
26523
26524 * commands/usbtest.c: Likewise.
26525
26526 * util/usb.c: Likewise.
50fb7002 26527
d64399b5 26528 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26529
26530 * configure.ac: Test for libusb presence.
50fb7002 26531
d64399b5 26532 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26533
2b40d6bb 265342009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26535
26536 * kern/mm.c: Add more comments.
26537
73a4ce81 265382009-02-08 Robert Millan <rmh@aybabtu.com>
26539
26540 Patch from Javier Martín.
26541 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26542 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26543
f821ce59 265442009-02-08 Robert Millan <rmh@aybabtu.com>
26545
26546 * fs/cpio.c: Split tar functionality to ...
26547 * fs/tar.c: ... here (new file). Update all users.
26548
aebfc4b0 265492009-02-07 Robert Millan <rmh@aybabtu.com>
26550
26551 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26552 backward-incompatible features.
26553
26554 Based on patch from Javier Martín, with some adjustments.
26555
50fb7002 265562009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 26557
26558 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26559
0bb5115e 265602009-02-07 Robert Millan <rmh@aybabtu.com>
26561
26562 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26563 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26564 after the RAID stuff.
26565
38a0f8e7 265662009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26567
50fb7002 26568 Fixes problem when running vbetest command as reported by
38a0f8e7 26569 Vladimir Serbinenko <phcoder@gmail.com>.
26570
26571 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26572
3143cc1c 265732009-02-04 Felix Zielcke <fzielcke@z-51.de>
26574
26575 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26576 /dev/md/NpN style mdraid devices.
26577
9cba6fce 265782009-02-03 Felix Zielcke <fzielcke@z-51.de>
26579
26580 * util/unifont2pff.rb: Remove.
26581
e507a2c1 265822009-02-03 Felix Zielcke <fzielcke@z-51.de>
26583
26584 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26585 `#'.
26586
d2c2b4cd 265872009-02-03 Felix Zielcke <fzielcke@z-51.de>
26588
26589 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26590 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26591 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26592 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26594 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26595 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26596
b4315fb0 265972009-02-02 Christian Franke <franke@computer.org>
26598
26599 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26600
de3aa260 266012009-02-01 Felix Zielcke <fzielcke@z-51.de>
26602
7c3ff286 26603 * INSTALL: Note that we now require at least autoconf 2.59 and
26604 that LZO is optional.
de3aa260 26605
825a182b 266062009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26607
26608 Base on patch on bug #24154 created by Tomas Tintera
26609 <trosos@seznam.cz>.
26610
26611 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26612
a69ef770 266132009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26614
7c3ff286 26615 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 26616 <bero@arklinux.org>.
26617
26618 * normal/parser.y (script_init): Add missing semicolon.
26619
6fa42fa6 266202009-01-31 Colin D Bennett <colin@gibibit.com>
26621
7c3ff286 26622 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 26623 (free_menu_entry_classes): Added.
26624 (grub_normal_menu_addentry): Added class property handling.
26625 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26626 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26627
26628 * normal/menu_viewer.c: New file.
26629
26630 * normal/menu.c (run_menu_entry): Renamed to ...
26631 (grub_menu_execute_entry): ... this and made it as global.
26632 (grub_menu_run): Renamed to ...
26633 (show_text_menu): ... this and made it local.
26634 (show_text_menu): Adapt to new function names.
26635 (grub_normal_terminal_menu_viewer): New global variable.
26636
26637 * include/grub/menu.h: New file.
26638
26639 * include/grub/menu_viewer.h: New file.
26640
26641 * include/grub/normal.h: Added include to grub/menu.h.
26642 (grub_menu_entry): Moved to include/grub/menu.h.
26643 (grub_menu_entry_t): Likewise.
26644 (grub_menu): Likewise.
26645 (grub_menu_t): Likewise.
26646 (grub_normal_terminal_menu_viewer): Added.
26647 (grub_menu_execute_entry): Likewise.
26648 (grub_menu_run): Removed.
26649
26650 * DISTLIST: Added include/grub/menu.h.
26651 Added include/grub/menu_viewer.h.
26652 Added normal/menu_viewer.c.
26653
266542009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26655
26656 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26657 arglist for menutitle arguments.
26658
26659 * normal/main.c (grub_normal_menu_addentry): Likewise.
26660
26661 * normal/parser.y (menuentry): Likewise.
26662
26663 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26664
26665 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26666 (grub_script_create_cmdmenu): Likewise.
26667
26668 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26669
26670 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26671 changes.
26672
26673 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26674
26675 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26676
26677 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26678
26679 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26680
26681 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26682
26683 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26684
56192c23 266852009-01-30 Christian Franke <franke@computer.org>
26686
26687 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26688 in option help text.
26689
d72521b3 266902009-01-27 Pavel Roskin <proski@gnu.org>
26691
26692 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26693
994b5e84 266942009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26695
26696 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26697
26698 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26699
26700 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26701 unregister function.
26702
6a7eab2c 267032009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26704
26705 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26706
26707 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26708
26709 * util/grub-mkfont.c (usage): Fix typo.
26710
26711 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26712
1806b56e 267132009-01-26 Daniel Mierswa <impulze@impulze.org>
26714
3fb18f09 26715 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26716
336e1fb9 26717 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26718
1806b56e 26719 * kern/misc.c (grub_strcasecmp): New function.
26720 (grub_strcasecmp): Use grub_size_t instead of int for length.
26721 Fix return value.
26722 * include/grub/misc.h: Update function prototypes.
26723
580b2a0f 267242009-01-26 Robert Millan <rmh@aybabtu.com>
26725
26726 * configure.ac: Fix cross-compilation check.
ef257b36 26727
d31c24f1 267282009-01-22 Christian Franke <franke@computer.org>
26729
26730 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26731 (precision) digit string. Allow `.format2' without `format1' (width).
26732 Limit input chars for `%s' output to `format2' if specified. This is
26733 compatible with standard printf ().
26734
3138b44c 267352009-01-22 Christian Franke <franke@computer.org>
26736
26737 * disk/ata.c (grub_ata_wait_status): Replace by ...
26738 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26739 other status bits may be invalid while BSY is asserted.
26740 (grub_ata_check_ready): New function.
26741 (grub_ata_cmd): Removed.
26742 (grub_ata_wait_drq): New function.
26743 (grub_ata_strncpy): Remove inline.
26744 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26745 and error check now done by grub_ata_wait_drq ().
26746 (grub_ata_pio_write): Likewise.
26747 (grub_atapi_identify): Set DEV before check for !BSY. Use
26748 grub_ata_wait_drq () to wait for data.
26749 (grub_ata_device_initialize): Add status register check to
26750 detect missing SATA slave devices. Add debug messages.
26751 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26752 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26753 transfer loop by grub_ata_pio_write ().
26754 (grub_ata_identify): Set DEV before check for !BSY. Use
26755 grub_ata_wait_drq () to wait for data.
ef257b36 26756 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 26757 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26758 read/write in one loop. Fix invalid command on write. Fix incomplete
26759 command on (size % batch) == 0. Add missing error check after write of
26760 last block. Add debug messages.
26761 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26762
59a64ef6 267632009-01-19 Christian Franke <franke@computer.org>
26764
26765 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26766 (GRUB_ATAPI_IREASON_*): Likewise.
26767 (grub_ata_pio_write): Fix timeout error return.
26768 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26769 (grub_atapi_wait_drq): New function.
26770 (grub_atapi_packet): New parameter `size'.
26771 Use grub_atapi_wait_drq () and direct write instead of
26772 grub_ata_pio_write ().
26773 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26774 reads the number of bytes requested by the device for each DRQ
26775 assertion.
26776 (grub_atapi_write): Remove old implementation, return not
26777 implemented instead.
26778
1cfe20b3 267792009-01-19 Christian Franke <franke@computer.org>
26780
26781 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26782 of 512 to calculate data size.
26783 (grub_scsi_read12): Likewise.
26784 (grub_scsi_write10): Likewise.
26785 (grub_scsi_write12): Likewise.
26786 (grub_scsi_read): Adjust size according to blocksize.
26787 Add checks for invalid blocksize and unaligned transfer.
26788
bee5fe5d 267892009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26790
26791 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26792
ef257b36 26793 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 26794 width glyphs.
26795
3e643f8c 267962009-01-19 Robert Millan <rmh@aybabtu.com>
26797
26798 * config.guess: Update to latest version from config git.
26799 * config.sub: Likewise.
26800
4fa80998 268012009-01-17 Felix Zielcke <fzielcke@z-51.de>
26802
26803 * Makefile.in: Change font compilation to use new grub-mkfont instead
26804 of java version.
26805
26806 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26807 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26808 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26809 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26810 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26811 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26812 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26813 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26814 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26815
7086085b 268162009-01-16 Christian Franke <franke@computer.org>
26817
26818 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26819 (enum grub_ata_timeout_milliseconds): New enum.
26820 (grub_ata_wait_status): Add parameter milliseconds.
26821 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26822 recovery from timed-out commands.
26823 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26824 return grub_errno instead of REG_ERROR.
26825 (grub_ata_pio_write): Add parameter milliseconds.
26826 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26827 Pass milliseconds to grub_ata_wait_status () and
26828 grub_ata_pio_read ().
26829 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26830 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26831 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26832 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26833 It is not suitable for device detection, because DEV bit is ignored,
26834 the command may run too long, and not all devices set the signature
26835 properly.
26836 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26837 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26838 Fix device selection, DEV bit must be set first to address the registers
26839 of the correct device.
26840 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26841 grub_ata_pio_read/write ().
26842 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26843 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26844
4a412913 268452009-01-13 Carles Pina i Estany <carles@pina.cat>
26846
26847 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26848
7795c55e 268492009-01-13 Bean <bean123ch@gmail.com>
d913988c 26850
26851 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26852
7795c55e 268532009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 26854
26855 * Makefile.in: (enable_grub_mkfont): New variable.
26856 (freetype_cflags): Likewise.
26857 (freetype_libs): Likewise.
26858
26859 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26860 (grub_mkfont_SOURCES): New variable.
26861 (grub_mkfont_CFLAGS): Likewise.
26862 (grub_mkfont_LDFLAGS): Likewise.
26863
26864 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26865 library if `--enable-grub-mkfont' is requested.
26866 (enable_grub_mkfont): New variable.
26867 (freetype_cflags): Likewise.
26868 (freetype_libs): Likewise.
26869
26870 * util/grub-mkfont.c: New file.
26871
093af1fe 268722009-01-12 Christian Franke <franke@computer.org>
26873
26874 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26875 mode check. Fix setting of compat_use[].
26876
f36cc108 268772009-01-10 Robert Millan <rmh@aybabtu.com>
26878
26879 Update a few copyright years which we forgot to do in 2008 (only for
26880 files whose changes made in 2008 were copyright-significant)
26881
26882 * Makefile.in: Add 2008 to Copyright line.
26883 * disk/ieee1275/ofdisk.c: Likewise.
26884 * disk/efi/efidisk.c: Likewise.
26885 * kern/dl.c: Likewise.
26886 * kern/sparc64/ieee1275/init.c: Likewise.
26887 * kern/mm.c: Likewise.
26888 * kern/efi/mm.c: Likewise.
26889 * boot/i386/pc/boot.S: Likewise.
26890 * genfslist.sh: Likewise.
26891 * fs/iso9660.c: Likewise.
26892 * fs/hfs.c: Likewise.
26893 * fs/jfs.c: Likewise.
26894 * fs/minix.c: Likewise.
26895 * fs/ufs.c: Likewise.
26896 * gensymlist.sh.in: Likewise.
26897 * genkernsyms.sh.in: Likewise.
26898 * include/grub/misc.h: Likewise.
26899 * include/grub/types.h: Likewise.
26900 * include/grub/symbol.h: Likewise.
26901 * include/grub/elf.h: Likewise.
26902 * include/grub/kernel.h: Likewise.
26903 * include/grub/disk.h: Likewise.
26904 * include/grub/dl.h: Likewise.
26905 * include/grub/i386/linux.h: Likewise.
26906 * include/grub/i386/pc/biosdisk.h: Likewise.
26907 * include/grub/efi/api.h: Likewise.
26908 * include/grub/efi/pe32.h: Likewise.
26909 * include/grub/util/misc.h: Likewise.
26910 * normal/execute.c: Likewise.
26911 * normal/arg.c: Likewise.
26912 * normal/completion.c: Likewise.
26913 * normal/lexer.c: Likewise.
26914 * normal/parser.y: Likewise.
26915 * normal/misc.c: Likewise.
26916 * commands/i386/pc/vbeinfo.c: Likewise.
26917 * commands/hexdump.c: Likewise.
26918 * commands/terminal.c: Likewise.
26919 * commands/ls.c: Likewise.
26920 * commands/help.c: Likewise.
26921 * partmap/pc.c: Likewise.
26922 * loader/efi/chainloader.c: Likewise.
26923 * loader/multiboot_loader.c: Likewise.
26924 * loader/i386/pc/multiboot2.c: Likewise.
26925 * term/efi/console.c: Likewise.
26926 * term/i386/pc/serial.c: Likewise.
26927 * util/lvm.c: Likewise.
26928 * util/console.c: Likewise.
26929 * util/i386/efi/grub-mkimage.c: Likewise.
26930 * util/raid.c: Likewise.
26931
7f02114b 269322009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26933
26934 * commands/videotest.c: Removed include to grub/machine/memory.h.
26935
26936 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26937 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26938 (video_mod_SOURCES): Removed.
26939 (video_mod_CFLAGS): Likewise.
26940 (video_mod_LDFLAGS): Likewise.
26941 (gfxterm_mod_SOURCES): Likewise.
26942 (gfxterm_mod_CFLAGS): Likewise.
26943 (gfxterm_mod_LDFLAGS): Likewise.
26944 (videotest_mod_SOURCES): Likewise.
26945 (videotest_mod_CFLAGS): Likewise.
26946 (videotest_mod_LDFLAGS): Likewise.
26947 (bitmap_mod_SOURCES): Likewise.
26948 (bitmap_mod_CFLAGS): Likewise.
26949 (bitmap_mod_LDFLAGS): Likewise.
26950 (tga_mod_SOURCES): Likewise.
26951 (tga_mod_CFLAGS): Likewise.
26952 (tga_mod_LDFLAGS): Likewise.
26953 (jpeg_mod_SOURCES): Likewise.
26954 (jpeg_mod_CFLAGS): Likewise.
26955 (jpeg_mod_LDFLAGS): Likewise.
26956 (png_mod_SOURCES): Likewise.
26957 (png_mod_CFLAGS): Likewise.
26958 (png_mod_LDFLAGS): Likewise.
26959
26960 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26961 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26962 (video_mod_SOURCES): Added.
26963 (video_mod_CFLAGS): Likewise.
26964 (video_mod_LDFLAGS): Likewise.
26965 (videotest_mod_SOURCES): Likewise.
26966 (videotest_mod_CFLAGS): Likewise.
26967 (videotest_mod_LDFLAGS): Likewise.
26968 (bitmap_mod_SOURCES): Likewise.
26969 (bitmap_mod_CFLAGS): Likewise.
26970 (bitmap_mod_LDFLAGS): Likewise.
26971 (tga_mod_SOURCES): Likewise.
26972 (tga_mod_CFLAGS): Likewise.
26973 (tga_mod_LDFLAGS): Likewise.
26974 (jpeg_mod_SOURCES): Likewise.
26975 (jpeg_mod_CFLAGS): Likewise.
26976 (jpeg_mod_LDFLAGS): Likewise.
26977 (png_mod_SOURCES): Likewise.
26978 (png_mod_CFLAGS): Likewise.
26979 (png_mod_LDFLAGS): Likewise.
26980 (gfxterm_mod_SOURCES): Likewise.
26981 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 26982 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 26983
26984 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26985 grub/machine/console.h.
26986
644fff97 269872009-01-04 Jerone Young <jerone@gmail.com>
26988
26989 Make on screen instructions clearer
26990
26991 Based on patch created by Jidanni <jidanni@jidanni.org>
26992
26993 * normal/menu.c: print clearer instructions on the screen
26994
1e901a75 269952009-01-02 Colin D Bennett <colin@gibibit.com>
26996
26997 New font engine.
34c44600 26998
1e901a75 26999 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
27000 build system and fixed gfxterm.c to work with different sized fonts.
27001
27002 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 27003
1e901a75 27004 * configure: Re-generated.
34c44600 27005
1e901a75 27006 * DISTLIST: Removed font/manager.c.
27007 Added font/font.c.
27008 Added font/font_cmd.c.
34c44600 27009
1e901a75 27010 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
27011 compilation.
34c44600 27012
1e901a75 27013 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 27014
27015 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 27016
27017 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 27018
1e901a75 27019 * normal/menu.c: Likewise.
34c44600 27020
1e901a75 27021 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
27022 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 27023
1e901a75 27024 * include/grub/font.h: Replaced with new file.
34c44600 27025
1e901a75 27026 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
27027 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
27028 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
27029 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
27030 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 27031 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 27032 fg_red, fg_green, fg_blue, fg_alpha.
27033 (grub_video_adapter): Removed blit_glyph.
34c44600 27034 (grub_video_blit_glyph): Removed.
27035
1e901a75 27036 * font/manager.c: Removed file.
34c44600 27037
27038 * font/font.c: New file.
27039
1e901a75 27040 * font/font_cmd.c: Likewise.
34c44600 27041
1e901a75 27042 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 27043
1e901a75 27044 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
27045 (grub_video_vbe_map_rgba): Likewise.
27046 (grub_video_vbe_unmap_color_int): Likewise.
27047 (grub_video_vbe_blit_glyph): Removed.
27048 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 27049
1e901a75 27050 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27051 (get_pixel): Likewise.
34c44600 27052 (set_pixel): Likewise.
27053
1e901a75 27054 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 27055
1e901a75 27056 * term/gfxterm.c: Adapted to new font engine.
34c44600 27057
1e901a75 27058 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 27059
1e901a75 27060 * term/i386/pc/vga.c: Likewise.
34c44600 27061
1e901a75 27062 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 27063
1e901a75 27064 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 27065
1e901a75 27066 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27067
1e901a75 27068 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27069
1e901a75 27070 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 27071
1e901a75 27072 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 27073
1e901a75 27074 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 27075
1e901a75 27076 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 27077
1e901a75 27078 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27079
27080 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 27081
1e901a75 27082 * util/grub-mkconfig_lib.in: Changed font extension.
27083
278922e8 270842008-12-28 Felix Zielcke <fzielcke@z-51.de>
27085
27086 * util/getroot.c (grub_util_get_grub_dev): Add support for
27087 /dev/md/dNNpNN style partitionable mdraid devices.
27088
3ced05cf 270892008-12-12 Alex Smith <alex@alex-smith.me.uk>
27090
27091 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27092 at a time limit of the PXE TFTP API correctly.
27093 (grub_pxefs_close): Likewise.
27094
7fd0ee30 270952008-11-29 Robert Millan <rmh@aybabtu.com>
27096
34c44600 27097 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 27098 grub_ata_device_initialize() calls.
27099
34c44600 271002008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 27101
27102 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27103 iteration failed.
27104 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27105
89313780 271062008-11-28 Robert Millan <rmh@aybabtu.com>
27107
27108 Fix build on powerpc-ieee1275. Based on patch created by
27109 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27110 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27111 `kern/ieee1275/mmap.c'.
27112 * include/grub/powerpc/ieee1275/memory.h: New file.
27113
15257703 27114 Provide grub-install on coreboot.
27115 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27116 (grub_install_SOURCES): New variable.
27117 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27118 usable on coreboot.
27119
9fc5388a 271202008-11-25 Felix Zielcke <fzielcke@z-51.de>
27121
27122 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27123 to `grub_term_input_t'.
27124 (grub_term_get_current_output): Change return type to
27125 `grub_term_output_t'.
27126
bc3a2f31 271272008-11-22 Robert Millan <rmh@aybabtu.com>
27128
34c44600 27129 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 27130 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27131 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27132 grub_vga_text_cls().
27133
80fc88f2 27134 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 27135 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 27136
cbf36fd3 27137 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27138 to 0x200000 (avoids trouble with some OFW implementations, and matches
27139 with the one in Yaboot).
27140 Reported by Manoel Abranches
27141
73e8e268 271422008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 27143
27144 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27145 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27146
73e8e268 27147 * util/grub-mkconfig_lib.in (grub_warn): New function.
27148 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27149 warnings, to obtain consistent formatting.
27150 * util/grub.d/00_header.in: Likewise.
27151 * util/update-grub_lib.in: Likewise.
27152
e94045a1 27153 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 27154 Move comment text to `#error' stanza.
e94045a1 27155
79d29fd7 27156 Harmonize ieee1275's grub_available_iterate() with the generic
27157 grub_machine_mmap_iterate() interface (fixes a recently-introduced
27158 build problem on i386-ieee1275):
27159 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
27160 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
27161 parameter `type'. Update all users of this function.
27162 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27163 `kern/ieee1275/mmap.c'.
27164 * kern/ieee1275/init.c
27165 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
27166 with ...
27167 (grub_machine_mmap_iterate): ... this.
27168 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27169 return type to `grub_err_t'. Update all implementations of this
27170 function prototype.
27171 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27172 Likewise.
27173
60d6b16e 27174 Add `lsmmap' command (lists firmware-provided memory map):
27175 * commands/lsmmap.c: New file.
27176 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27177 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27178 variables.
27179 * conf/powerpc-ieee1275.rmk: Likewise.
27180 * conf/i386-coreboot.rmk: Likewise.
27181 * conf/i386-ieee1275.rmk: Likewise.
27182
ebaaf49b 271832008-11-19 Robert Millan <rmh@aybabtu.com>
27184
27185 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 27186 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27187 constraints to initrd allocation (based on code from
27188 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27189 for Linux to find it.
ebaaf49b 27190
dfab719f 271912008-11-14 Robert Millan <rmh@aybabtu.com>
27192
27193 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27194 order to cope with duplicate slashes.
27195
10fc3eb9 271962008-11-14 Robert Millan <rmh@aybabtu.com>
27197
27198 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27199 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27200 don't want to mess with lower memory, because it is used in the Linux
27201 loader.
27202
27203 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 27204 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 27205 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27206 is in our heap (probably as a result of it being corrupted during
2f2a3442 27207 decompression). Add #error instance with comment to explain why this
27208 loader isn't currently usable on PC/BIOS.
10fc3eb9 27209
e2e07847 272102008-11-14 Robert Millan <rmh@aybabtu.com>
27211
27212 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 27213 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 27214
fe8e8d69 272152008-11-12 Robert Millan <rmh@aybabtu.com>
27216
27217 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27218
27219 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27220 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27221 from here ...
27222 * include/grub/i386/pc/memory.h: ... to here.
27223
976b07d0 272242008-11-12 Robert Millan <rmh@aybabtu.com>
27225
27226 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27227 split).
27228
27229 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27230 (grub_console_cur_color, grub_console_real_putchar)
27231 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27232 (grub_console_setcolorstate, grub_console_setcolor)
27233 (grub_console_getcolor): Move from here ...
27234 * include/grub/i386/vga_common.h: ... to here (new file).
27235
27236 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27237 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27238 `<grub/i386/io.h>'.
27239 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27240 `<grub/i386/vga_common.h>'.
27241
76679cd3 272422008-11-12 Robert Millan <rmh@aybabtu.com>
27243
27244 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27245 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27246 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27247 variables.
27248 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27249 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27250
27251 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27252 grub_console_init() with call to grub_vga_text_init().
27253 (grub_machine_fini): Replace call to
27254 grub_console_fini() with call to grub_vga_text_fini() and
27255 grub_at_keyboard_fini().
27256
27257 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27258 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27259 (grub_console_setcolorstate, grub_console_setcolor)
27260 (grub_console_getcolor): New function prototypes.
27261
27262 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27263 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27264 (grub_vga_text_setcursor): Static-ize.
27265 (grub_vga_text_term): New structure.
27266 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27267
27268 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27269 (grub_console_cur_color, grub_console_standard_color)
27270 (grub_console_normal_color, grub_console_highlight_color)
27271 (map_char, grub_console_putchar, grub_console_getcharwidth)
27272 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27273 (grub_console_getcolor): Move from here ...
27274 * term/i386/vga_common.c: ... to here (same function names).
27275
95b841d3 272762008-11-12 Robert Millan <rmh@aybabtu.com>
27277
27278 Use newly-added Multiboot support in coreboot.
27279
27280 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27281 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27282
27283 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27284 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27285 (codestart): Store the MBI in `startup_multiboot_info' when we're
27286 being loaded using Multiboot.
27287
27288 * kern/i386/coreboot/init.c (grub_machine_init): Move
27289 grub_at_keyboard_init() call to beginning of function (useful for
27290 debugging). Call grub_machine_mmap_init() before attempting to use
27291 grub_machine_mmap_iterate().
27292 (grub_lower_mem, grub_upper_mem): Move from here ...
27293 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27294 here (new file).
27295
27296 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27297 function prototype.
27298
761ca975 272992008-11-12 Robert Millan <rmh@aybabtu.com>
27300
27301 Fix a regression introduced by the at_keyboard.mod split. Because
27302 some terminals are default on some platforms and non-default on
27303 others, the first terminal being registered determines which is
27304 going to be default.
27305
27306 * kern/term.c (grub_term_register_input): If this is the first
27307 terminal being registered, set it as the current one.
27308 (grub_term_register_output): Likewise.
27309
27310 * term/efi/console.c (grub_console_init): Do not call
27311 grub_term_set_current_output() or grub_term_set_current_input().
27312 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27313 * term/i386/pc/console.c (grub_console_init): Likewise.
27314 (grub_console_fini): Do not call grub_term_set_current_input()
27315 (but leave grub_term_set_current_output() to restore text mode).
27316
6c529df7 273172008-11-10 Robert Millan <rmh@aybabtu.com>
27318
27319 * util/grub.d/00_header.in: Add backward compatibility check for
27320 versions of terminal.mod that don't understand `terminal_input' or
27321 `terminal_output'.
27322
132e4113 273232008-11-09 Robert Millan <rmh@aybabtu.com>
27324
27325 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27326 `terminal_input' / `terminal_output', not `terminal'.
27327
ac293d50 273282008-11-08 Robert Millan <rmh@aybabtu.com>
27329
27330 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 27331 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 27332
0025933a 273332008-11-08 Robert Millan <rmh@aybabtu.com>
27334
27335 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 27336 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 27337 members. Update all users.
27338 * util/console.c (grub_ncurses_term): Split in ...
27339 (grub_ncurses_term_input): ... this, and ...
27340 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 27341 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 27342
37c86336 273432008-11-08 Robert Millan <rmh@aybabtu.com>
27344
27345 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27346 (PKGDATA): Add $(pkgdata_SRCDIR).
27347 (pkglib_BUILDDIR): New variable.
27348 (pkgdata_SRCDIR): New variable.
27349 (build_env.mk): New target.
27350 (include_DATA): New variable.
27351 (install-local): Install $(include_DATA) files in $(includedir).
27352
b6c15a2d 273532008-11-07 Pavel Roskin <proski@gnu.org>
27354
d99d46f1 27355 * gendistlist.sh: Use C locale for sorting to ensure consistent
27356 output on all systems.
27357
b6c15a2d 27358 * util/grub.d/00_header.in: Remove incorrect space before
27359 "serial".
27360
c32ee8c9 273612008-11-07 Robert Millan <rmh@aybabtu.com>
27362
27363 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27364 per specification.
27365 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27366 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27367 (based on find_multi_boot1_header).
27368 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27369 using find_multi_boot2_header(), and abort if neither Multiboot or
27370 Multiboot headers were found.
27371
651c29b7 273722008-11-07 Robert Millan <rmh@aybabtu.com>
27373
27374 Modularize at_keyboard.mod:
27375
27376 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27377 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27378 (at_keyboard_mod_LDFLAGS): New variables.
27379
27380 Actual terminal split:
27381
27382 * include/grub/term.h (struct grub_term): Split in ...
27383 (struct grub_term_input): ... this, and ...
27384 (struct grub_term_output): ... this. Update all users.
27385 (grub_term_set_current): Split in ...
27386 (grub_term_set_current_input): ... this, and ...
27387 (grub_term_set_current_output): ... this.
27388 (grub_term_get_current): Split in ...
27389 (grub_term_get_current_input): ... this, and ...
27390 (grub_term_get_current_output): ... this.
27391 (grub_term_register): Split in ...
27392 (grub_term_register_input): ... this, and ...
27393 (grub_term_register_output): ... this.
27394 (grub_term_unregister): Split in ...
27395 (grub_term_unregister_input): ... this, and ...
27396 (grub_term_unregister_output): ... this.
27397 (grub_term_iterate): Split in ...
27398 (grub_term_iterate_input): ... this, and ...
27399 (grub_term_iterate_output): ... this.
27400
27401 * kern/term.c (grub_term_list): Split in ...
27402 (grub_term_list_input): ... this, and ...
27403 (grub_term_list_output): ... this. Update all users.
27404 (grub_cur_term): Split in ...
27405 (grub_cur_term_input): ... this, and ...
27406 (grub_cur_term_output): ... this. Update all users.
27407 (grub_term_set_current): Split in ...
27408 (grub_term_set_current_input): ... this, and ...
27409 (grub_term_set_current_output): ... this.
27410 (grub_term_get_current): Split in ...
27411 (grub_term_get_current_input): ... this, and ...
27412 (grub_term_get_current_output): ... this.
27413 (grub_term_register): Split in ...
27414 (grub_term_register_input): ... this, and ...
27415 (grub_term_register_output): ... this.
27416 (grub_term_unregister): Split in ...
27417 (grub_term_unregister_input): ... this, and ...
27418 (grub_term_unregister_output): ... this.
27419 (grub_term_iterate): Split in ...
27420 (grub_term_iterate_input): ... this, and ...
27421 (grub_term_iterate_output): ... this.
27422
27423 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27424 a check for input and one for output (and only attempt to get keys
27425 from user when input works).
27426
27427 * util/grub-probe.c (grub_term_get_current): Split in ...
27428 (grub_term_get_current_input): ... this, and ...
27429 (grub_term_get_current_output): ... this.
27430 * util/grub-fstest.c: Likewise.
27431 * util/i386/pc/grub-setup.c: Likewise.
27432 * util/grub-editenv.c: Likewise.
27433
27434 Portability adjustments:
27435
27436 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27437 `term/i386/pc/at_keyboard.c'.
27438 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27439 grub_keyboard_controller_init() (now handled by terminal .init).
27440 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27441 grub_at_keyboard_init().
27442 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27443 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27444 at_keyboard.mod via input terminal interface).
27445 * include/grub/i386/coreboot/console.h: Convert into a stub for
27446 `<grub/i386/pc/console.h>'.
27447
27448 Migrate full terminals to new API:
27449
27450 * term/efi/console.c (grub_console_term): Split into ...
27451 (grub_console_term_input): ... this, and ...
27452 (grub_console_term_output): ... this. Update all users.
27453 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27454 (grub_ofconsole_init): Split into ...
27455 (grub_ofconsole_init_input): ... this, and ...
27456 (grub_ofconsole_init_output): ... this.
27457 (grub_ofconsole_term): Split into ...
27458 (grub_ofconsole_term_input): ... this, and ...
27459 (grub_ofconsole_term_output): ... this. Update all users.
27460 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27461 (grub_serial_term_input): ... this, and ...
27462 (grub_serial_term_output): ... this. Update all users.
27463 * term/i386/pc/console.c (grub_console_term): Split into ...
27464 (grub_console_term_input): ... this, and ...
27465 (grub_console_term_output): ... this. Update all users.
27466 (grub_console_term_input): Only enable it on PC/BIOS platform.
27467 (grub_console_init): Remove grub_keyboard_controller_init() call.
27468
27469 Migrate input terminals to new API:
27470
27471 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27472 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27473 i386-specific anyway).
27474 (grub_console_checkkey): Rename to ...
27475 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27476 users.
27477 (grub_keyboard_controller_orig): New variable.
27478 (grub_console_getkey): Rename to ...
27479 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27480 users.
27481 (grub_keyboard_controller_init): Static-ize. Save original
27482 controller value so that it can be restored ...
27483 (grub_keyboard_controller_fini): ... here (new function).
27484 (grub_at_keyboard_term): New structure.
27485 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27486 functions.
27487
27488 Migrate output terminals to new API:
27489
27490 * term/i386/pc/vga.c (grub_vga_term): Change type to
27491 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27492 members. Update all users.
27493 * term/gfxterm.c (grub_video_term): Change type to
27494 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27495 members. Update all users.
27496 * include/grub/i386/pc/console.h (grub_console_checkkey)
27497 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27498 etc).
27499
27500 Migrate `terminal' command and userland tools to new API:
27501
27502 * commands/terminal.c (grub_cmd_terminal): Split into ...
27503 (grub_cmd_terminal_input): ... this, and ...
27504 (grub_cmd_terminal_output): ... this.
27505 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27506 `terminal_input' and `terminal_output'.
27507 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27508 `terminal_input' / `terminal_output' API.
27509 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27510 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27511 provided ${GRUB_TERMINAL}, convert it).
27512
96e5d876 275132008-11-04 Robert Millan <rmh@aybabtu.com>
27514
27515 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27516 for FreeBSD.
27517 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27518
556f3775 275192008-11-03 Bean <bean123ch@gmail.com>
27520
27521 * kern/elf.c (grub_elf32_load): Revert to previous code.
27522 (grub_elf64_load): Likewise.
27523
27524 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27525
926b9823 275262008-11-01 Robert Millan <rmh@aybabtu.com>
27527
27528 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27529 (TARGET_CPPFLAGS): Likewise.
27530 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27531
1432e958 275322008-11-01 Carles Pina i Estany <carles@pina.cat>
27533
27534 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27535
dba3f844 275362008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 27537
27538 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27539 addition of objects until the code is not going to be able to fail.
27540
dba3f844 275412008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 27542
27543 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27544 (add a missing NULL check, and correct them by moving the pointer
27545 operations after the actual check).
27546
7ab28c21 275472008-10-29 Robert Millan <rmh@aybabtu.com>
27548
27549 * util/i386/pc/grub-install.in: Handle empty string as output from
27550 make_system_path_relative_to_its_root().
27551
1b7748eb 275522008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27553
27554 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27555 circular metadata worst case scenario. If the metadata is circular
27556 then copy the wrap in place.
27557 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27558 project lib/format_text/layout.h
27559 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27560
c9618ab2 275612008-10-03 Felix Zielcke <fzielcke@z-51.de>
27562
7a36edca 27563 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 27564
bf981c62 275652008-10-03 Felix Zielcke <fzielcke@z-51.de>
27566
27567 * util/update-grub_lib.in: Mention filename in warning message.
27568
6d994591 275692008-09-29 Felix Zielcke <fzielcke@z-51.de>
27570
27571 * NEWS: Update for rename of update-grub to grub-mkconfig.
27572
18ade780 275732008-09-29 Felix Zielcke <fzielcke@z-51.de>
27574
27575 * util/update-grub_lib.in: Copy to ...
27576 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 27577 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 27578 * util/update-grub.in: Rename to ...
27579 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27580 option. Add `--output' option to allow users to specify the generated
27581 configuration file. Default to stdout.
27582 (update_grub_dir): Rename to ...
27583 (grub_mkconfig_dir): ... this.
27584 (grub_cfg): Default to an empty string.
27585 * conf/common.rmk (update-grub): Rename to ...
27586 (grub-mkconfig): ... this.
27587 (update-grub_lib): Copy to ...
27588 (grub-mkconfig_lib): ... this.
27589 (update-grub_SCRIPTS): Copy to ...
27590 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27591 (update-grub_DATA): Rename to ...
27592 (grub-mkconfig_DATA): ... this.
27593
556ce6ac 275942008-09-28 Robert Millan <rmh@aybabtu.com>
27595
27596 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27597 to `modified'. Add the real `created' field.
27598 (grub_iso9660_uuid): Use `modified' rather than `created' for
27599 constructing the UUID.
27600
276012008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 27602
27603 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27604 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27605
92274e85 276062008-09-28 Bean <bean123ch@gmail.com>
27607
27608 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27609 Thanks to Christian Franke for finding this bug.
27610
add6f17a 276112008-09-25 Robert Millan <rmh@aybabtu.com>
27612
27613 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27614 instances of grub_util_get_disk_name() (see previous commit).
27615
d2a367b8 276162008-09-25 Robert Millan <rmh@aybabtu.com>
27617
27618 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27619 `util/i386/get_disk_name.c'.
27620 * conf/i386-efi.rmk: Likewise.
27621 * conf/x86_64-efi.rmk: Likewise.
27622 * conf/i386-coreboot.rmk: Likewise.
27623 * conf/i386-ieee1275.rmk: Likewise.
27624 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27625 `util/ieee1275/get_disk_name.c'.
27626 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27627 * util/ieee1275/get_disk_name.c: Remove file.
27628 * util/i386/get_disk_name.c: Remove file.
27629 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27630 "hd%d" for device.map entries, rather than using
27631 grub_util_get_disk_name().
27632
81a06771 276332008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 27634
27635 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27636 warning.
27637 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27638
5a004279 276392008-09-24 Carles Pina i Estany <carles@pina.cat>
27640
27641 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27642 Changed to 0x5100.
27643 (GRUB_TERM_PPAGE): Changed to 0x4900.
27644
397093d3 276452008-09-24 Robert Millan <rmh@aybabtu.com>
27646
27647 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27648 macros (they were i386-pc specific).
27649 * include/grub/sparc64/ieee1275/console.h: Likewise.
27650 * include/grub/efi/console.h: Likewise.
27651
a91b6c7c 276522008-09-22 Bean <bean123ch@gmail.com>
27653
27654 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27655 resident and in attribute list.
27656
27657 * include/grub/ntfs.h (BMP_LEN): Removed.
27658
c40fd116 276592008-09-22 Bean <bean123ch@gmail.com>
27660
81a06771 27661 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 27662 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27663
27664 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27665 error occurs, as grub_disk_open will call grub_disk_close, which will
27666 call p->close (scsi).
27667
81a06771 276682008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 27669
27670 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27671 (AC_PREREQ): Bumped to 2.59.
27672 (AC_TRY_COMPILE): Replace obsolete macro with ...
27673 (AC_COMPILE_IFELSE): ... this.
27674 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27675 (AC_LINK_IFELSE): ... this.
27676
5dc43410 276772008-09-21 Felix Zielcke <fzielcke@z-51.de>
27678
27679 * autogen.sh: Add a call to `gendistlist.sh'.
27680
9035dce4 276812008-09-19 Christian Franke <franke@computer.org>
27682
27683 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27684 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27685 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27686 Export __enable_execute_stack() to modules.
27687 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27688 New function.
27689
7fd75377 276902008-09-09 Felix Zielcke <fzielcke@z-51.de>
27691
040030b3 27692 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27693 Sort the list.
27694
276952008-09-09 Felix Zielcke <fzielcke@z-51.de>
27696
27697 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 27698 #include <grub/util/hostdisk.h>.
27699
89d5ffcf 277002008-09-08 Robert Millan <rmh@aybabtu.com>
27701
27702 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27703 segments when their filesz is zero (grub_file_read() interprets
81a06771 27704 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 27705 Use `lowest_segment' rather than 0 for calculating the current
27706 segment load address.
27707
40da438f 277082008-09-08 Robert Millan <rmh@aybabtu.com>
27709
27710 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27711 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27712 clobbered useful information.
27713
ddbf5556 277142008-09-08 Robert Millan <rmh@aybabtu.com>
27715
27716 * include/grub/util/biosdisk.h: Move to ...
27717 * include/grub/util/hostdisk.h: ... here. Update all users.
27718 * util/biosdisk.c: Move to ...
27719 * util/hostdisk.c: ... here. Update all users.
27720
783d0f48 277212008-09-07 Robert Millan <rmh@aybabtu.com>
27722
27723 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27724 variables.
27725 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27726 and length can be stored directly in the `mbi->mmap_addr' and
27727 `mbi->mmap_length' struct fields.
27728
548e2ea5 277292008-09-07 Robert Millan <rmh@aybabtu.com>
27730
27731 * conf/i386.rmk: New file. Provides declaration for building
27732 `cpuid.mod'.
27733 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27734 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27735 variables.
27736 Include `conf/i386.mk'.
27737 * conf/i386-efi.rmk: Likewise.
27738 * conf/x86_64-efi.rmk: Likewise.
27739 * conf/i386-coreboot.rmk: Likewise.
27740 * conf/i386-ieee1275.rmk: Likewise.
27741
0ea85a37 277422008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27743
27744 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27745 Adds optimization support for BGR based modes.
27746
27747 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27748 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27749 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27750 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27751 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27752 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27753 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27754 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27755 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27756 (grub_video_i386_vbeblit_index_index): Likewise.
27757 (grub_video_i386_vbeblit_replace_directN): Added.
27758 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27759 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27760 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27761 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27762 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27763 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 27764 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 27765 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27766 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27767 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27768 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27769 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27770 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27771
27772 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27773 (grub_video_i386_vbefill_R8G8B8): Likewise.
27774 (grub_video_i386_vbefill_index): Likewise.
27775 (grub_video_i386_vbefill_direct32): Added.
27776 (grub_video_i386_vbefill_direct24): Likewise.
27777 (grub_video_i386_vbefill_direct16): Likewise.
27778 (grub_video_i386_vbefill_direct8): Likewise.
27779
81a06771 27780 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 27781 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27782 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27783 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27784 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27785 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 27786
0ea85a37 27787 * video/video.c (grub_video_get_blit_format): Updated to use new
27788 blit formats. Added handling for 16 bit color modes.
81a06771 27789
27790 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 27791 fillers.
27792 (common_blitter): Updated to use new blitters.
27793
27794 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27795 Removed.
27796 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27797 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27798 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27799 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27800 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27801 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27802 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27803 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27804 (grub_video_i386_vbeblit_index_index): Likewise.
27805 (grub_video_i386_vbeblit_replace_directN): Added.
27806 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27807 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27808 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27809 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27810 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27811 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27812 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27813 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27814 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27815 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27816 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27817 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27818 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 27819
0ea85a37 27820 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27821 (grub_video_i386_vbefill_R8G8B8): Likewise.
27822 (grub_video_i386_vbefill_index): Likewise.
27823 (grub_video_i386_vbefill_direct32): Added.
27824 (grub_video_i386_vbefill_direct24): Likewise.
27825 (grub_video_i386_vbefill_direct16): Likewise.
27826 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 27827
0ea85a37 27828 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27829 types.
81a06771 27830
0ea85a37 27831 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27832 types.
81a06771 27833
0ea85a37 27834 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27835 blitter types.
81a06771 27836
0ea85a37 27837 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27838 types.
27839
e8a83df6 278402008-09-06 Felix Zielcke <fzielcke@z-51.de>
27841
27842 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27843 RAID level 1.
27844
6bcd8ee5 278452008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 27846
6bcd8ee5 27847 * fs/iso9660.c (grub_iso9660_date): New structure.
27848 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27849 (grub_iso9660_uuid): New function.
c375ae58 27850
59261157 278512008-09-05 Bean <bean123ch@gmail.com>
27852
27853 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27854
27855 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27856 insensitive bit for names in Win32 and Win32 & DOS namespace.
27857
27858 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27859
27860 * include/grub/types.h (LONG_MAX): Likewise.
27861
58b6645a 278622008-09-04 Felix Zielcke <fzielcke@z-51.de>
27863
4ee55921 27864 * util/getroot.c: Include <config.h>.
27865 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27866 add support for /dev/md/N devices and handle LVM double dash escaping.
27867
278682008-09-04 Felix Zielcke <fzielcke@z-51.de>
27869
27870 * config.guess: Update to latest version from config git.
27871 * config.sub: Likewise.
58b6645a 27872
9124f65d 278732008-09-03 Robert Millan <rmh@aybabtu.com>
27874
27875 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27876 `disk->total_sectors'.
27877
81a06771 278782008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 27879
27880 * include/grub/normal.h: Fixed incorrect comment for
27881 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27882
81a06771 278832008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 27884
27885 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27886 values with defines.
27887
27888 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27889 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27890 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27891 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27892 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27893 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27894 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27895 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27896 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27897 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27898 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27899 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27900 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27901 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27902 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27903 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27904 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27905 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27906 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27907
93d5cbf8 279082008-08-31 Robert Millan <rmh@aybabtu.com>
27909
27910 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27911 declaration.
27912 (grub_multiboot): Fix a few warnings.
27913
21751d50 279142008-08-31 Robert Millan <rmh@aybabtu.com>
27915
27916 * loader/i386/pc/multiboot.c: Update comment not to say that
27917 boot_device support is unimplemented.
27918
e27a75c5 279192008-08-31 Robert Millan <rmh@aybabtu.com>
27920
27921 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27922 or memory map support are unimplemented.
27923
81a06771 279242008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 27925
27926 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27927
81a06771 279282008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 27929
27930 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27931 total video memory in 'vbeinfo' output; show color format details for
27932 each video mode.
27933
7c5d8d95 279342008-08-30 Pavel Roskin <proski@gnu.org>
27935
27936 * util/genmoddep.c: Remove for real this time.
27937 * DISTLIST: Remove util/genmoddep.c.
27938
4cebd25a 279392008-08-30 Robert Millan <rmh@aybabtu.com>
27940
27941 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27942 as required by Multiboot spec (it was already 4-byte aligned, but
27943 only by chance).
27944
b497a269 279452008-08-29 Pavel Roskin <proski@gnu.org>
27946
e3925185 27947 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27948 * kern/powerpc/ieee1275/startup.S: ... this.
27949 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27950 * DISTLIST: Likewise.
27951
b497a269 27952 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27953 grub/cpu/kernel.h. Add start label for consistency with other
27954 platforms. Add grub_prefix immediately after start. Add jump
27955 to the code after grub_prefix.
27956 * include/grub/powerpc/kernel.h: Provide valid values for
27957 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27958
6e5a42fe 279592008-08-29 Bean <bean123ch@gmail.com>
27960
27961 * configure.ac: Change host_os to cygwin for mingw.
27962 (asprintf): New check for function.
27963
27964 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27965 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27966
27967 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 27968 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 27969 sync, sleep and grub_util_get_disk_size for mingw.
27970
27971 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27972 to get size in mingw.
27973 (open_device): Use flag O_BINARY if it's defined.
27974 (find_root_device): Add dummy code for mingw.
27975
27976 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27977 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27978 (get_scsi_disk_name): Return 0 for mingw.
27979
27980 * util/hostfs.c: #include <grub/util/misc.h>.
27981 (grub_hostfs_open): Use "rb" flag to open file, use
27982 grub_util_get_disk_size to get disk size for mingw.
27983
27984 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27985 (asprintf): New function if HAVE_ASPRINTF is not set.
27986 (sync): New function for mingw.
27987 (sleep): Likewise.
27988 (grub_util_get_disk_size): Likewise.
27989
ab3f2673 279902008-08-28 Pavel Roskin <proski@gnu.org>
27991
27992 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27993 kern/time.c.
27994
1c282483 279952008-08-28 Robert Millan <rmh@aybabtu.com>
27996
27997 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27998
678e849c 279992008-08-28 Robert Millan <rmh@aybabtu.com>
28000
28001 Change find_grub_drive() syntax so it doesn't prevent it from
28002 detecting NULL names as errors.
28003
28004 * util/biosdisk.c (find_grub_drive): Move free slot search code
28005 from here ...
28006 (find_free_slot): ... to here.
28007 (read_device_map): Use find_free_slot() to search for free slots.
28008
965c75ca 280092008-08-27 Marco Gerards <marco@gnu.org>
28010
28011 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
28012 (scsi_mod_SOURCES): New variable.
28013 (scsi_mod_CFLAGS): Likewise
28014 (scsi_mod_LDFLAGS): Likewise.
28015
28016 * disk/scsi.c: New file.
28017
28018 * include/grub/scsi.h: Likewise.
28019
28020 * include/grub/scsicmd.h: Likewise.
28021
28022 * disk/ata.c: Include <grub/scsi.h>.
28023 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
28024 instead.
28025 (grub_ata_iterate): Skip ATAPI devices.
28026 (grub_ata_open): Only handle ATAPI devices.
28027 (struct grub_atapi_read): Removed.
28028 (grub_atapi_readsector): Likewise.
28029 (grub_ata_read): No longer handle ATAPI devices.
28030 (grub_ata_write): Likewise.
28031 (grub_atapi_iterate): New function.
28032 (grub_atapi_read): Likewise.
28033 (grub_atapi_write): Likewise.
28034 (grub_atapi_open): Likewise.
28035 (grub_atapi_close): Likewise.
28036 (grub_atapi_dev): New variable.
28037 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
28038 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
28039
28040 * include/grub/disk.h (enum grub_disk_dev_id): Add
28041 `GRUB_DISK_DEVICE_SCSI_ID'.
28042
c07ae501 280432008-08-26 Robert Millan <rmh@aybabtu.com>
28044
28045 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
28046 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
28047 descriptive.
28048
5ed20adc 280492008-08-23 Bean <bean123ch@gmail.com>
28050
28051 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28052 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28053 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28054 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28055 dm_nv.mod.
28056 (raid5rec_mod_SOURCES): New macro.
28057 (raid5rec_mod_CFLAGS): Likewise.
28058 (raid5rec_mod_LDFLAGS): Likewise.
28059 (raid6rec_mod_SOURCES): Likewise.
28060 (raid6rec_mod_CFLAGS): Likewise.
28061 (raid6rec_mod_LDFLAGS): Likewise.
28062 (mdraid_mod_SOURCES): Likewise.
28063 (mdraid_mod_CFLAGS): Likewise.
28064 (mdraid_mod_LDFLAGS): Likewise.
28065 (dm_nv_mod_SOURCES): Likewise.
28066 (dm_nv_mod_CFLAGS): Likewise.
28067 (dm_nv_mod_LDFLAGS): Likewise.
28068
28069 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28070 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28071 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28072
28073 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28074 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28075
28076 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28077
28078 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28079
28080 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28081
28082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28083
28084 * disk/raid5_recover.c: New file.
28085
28086 * disk/raid6_recover.c: Likewise.
28087
28088 * disk/mdraid_linux.c: Likewise.
28089
28090 * disk/dmraid_nvidia.c: Likewise.
28091
28092 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28093 ULONG_MAX.
28094
28095 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28096 calculate the size of raid device.
28097 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28098 different layout of raid5.
28099 (grub_raid_scan_device): Remove code specific to mdraid.
28100 (grub_raid_list): New variable.
28101 (free_array): New function.
28102 (grub_raid_register): Likewise.
28103 (grub_raid_unregister): Likewise.
28104 (grub_raid_rescan): Likewise.
28105 (GRUB_MOD_INIT): Don't iterate device here.
28106 (GRUB_MOD_FINI): Use free_array to release resource.
28107
28108 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28109 (grub_raid5_recover_func_t): New function variable type.
28110 (grub_raid6_recover_func_t): Likewise.
28111 (grub_raid5_recover_func): New variable.
28112 (grub_raid6_recover_func): Likewise.
28113 (grub_raid_register): New function.
28114 (grub_raid_unregister): Likewise.
28115 (grub_raid_rescan): Likewise.
28116 (grub_raid_block_xor): Likewise.
28117
28118 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28119 (CMD_CRC): New macro.
28120 (part): Removed.
28121 (read_file): Handle device as well as file.
28122 (cmd_crc): New function.
28123 (fstest): Handle multiple disks.
28124 (options): Remove part, raw and long, add root and diskcount.
28125 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 28126 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 28127 add handling for the new options, support multiple disks.
28128
28129 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28130
29c18915 281312008-08-23 Bean <bean123ch@gmail.com>
28132
28133 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28134
28135 * genfslist.sh: Ignore kernel.mod.
28136
28137 * genpartmaplist.sh: Likewise.
28138
8415f261 281392008-08-23 Robert Millan <rmh@aybabtu.com>
28140
28141 * util/getroot.c (find_root_device): Skip anything that starts with
28142 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28143
d5a7dc5b 281442008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 28145
d5a7dc5b 28146 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28147 * util/grub.d/00_header.in: Allow the administrator to change default
28148 gfxmode via ${GRUB_GFXMODE}.
28149
380cfbb4 281502008-08-21 Felix Zielcke <fzielcke@z-51.de>
28151
28152 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
28153
c9baafe7 281542008-08-21 Robert Millan <rmh@aybabtu.com>
28155
28156 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
28157 loader.
28158 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
28159 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
28160
e290bef2 281612008-08-20 Carles Pina i Estany <carles@pina.cat>
28162
28163 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
28164 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
28165
f9dbfc96 281662008-08-19 Robert Millan <rmh@aybabtu.com>
28167
28168 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28169 (struct grub_virtual_screen): Remove `cursor_color'.
28170 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28171 initialization.
28172 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28173
dd6bd6ab 281742008-08-18 Robert Millan <rmh@aybabtu.com>
28175
28176 Unify (identical) linux_normal.c files.
28177 * loader/i386/efi/linux_normal.c: Move from here ...
28178 * loader/linux_normal.c: ... to here. Update all users.
28179 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28180 * loader/i386/ieee1275/linux_normal.c: Likewise.
28181
7f42f83e 281822008-08-18 Robert Millan <rmh@aybabtu.com>
28183
28184 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28185 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28186 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28187 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28188 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28189 New macros.
28190 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28191 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28192 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28193 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28194 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28195 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28196 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28197 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28198 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28199 portably using grub_getxy().
28200 Replace `-EFI' with `-bzImage' in boot message.
28201
38487ddb 282022008-08-17 Robert Millan <rmh@aybabtu.com>
28203
28204 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28205
deceb3ec 282062008-08-17 Robert Millan <rmh@aybabtu.com>
28207
28208 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28209
28210 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28211 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28212 (grub_machine_mmap_iterate): New function declaration.
28213 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28214 structure.
28215 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28216 macros.
28217
28218 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28219 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28220 Move e820 parsing from here ...
28221 * kern/i386/pc/mmap.c: New file.
28222 (grub_machine_mmap_iterate): ... to here.
28223
28224 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28225 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28226 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28227 (grub_available_iterate): Redeclare to return `void', and redeclare
28228 its hook to use grub_uint64_t as addr and size parameters, and rename
28229 to ...
28230 (grub_machine_mmap_iterate): ... this. Update all users.
28231
28232 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28233 to make it more readable. Rename to ...
28234 (grub_machine_mmap_iterate): ... this.
28235
28236 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28237 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28238 (grub_multiboot): Allocate an extra region after the payload, and fill
28239 it with a Multiboot memory map. Adjust a.out loader to calculate size
28240 with the extra space.
28241 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28242 with the extra space.
28243
f8aa0f43 282442008-08-17 Carles Pina i Estany <carles@pina.cat>
28245
9807deb9 28246 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 28247
605f5bb6 282482008-08-17 Felix Zielcke <fzielcke@z-51.de>
28249
28250 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28251 mdate-sh to the list `find' searches for.
28252 * DISTLIST: Regenerated.
28253
210db6c6 282542008-08-16 Felix Zielcke <fzielcke@z-51.de>
28255
28256 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28257 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 28258 genmoddep.awk, gensymlist.sh.in.
28259 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 28260 * DISTLIST: Regenerated.
48cdbfd4 28261 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 28262
1082b929 282632008-08-16 Robert Millan <rmh@aybabtu.com>
28264
28265 * disk/raid.c (grub_raid_init): Handle/report errors set by
28266 grub_device_iterate().
28267 * disk/lvm.c (grub_lvm_init): Likewise.
28268
42ce5170 282692008-08-15 Bean <bean123ch@gmail.com>
28270
28271 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28272 and datehook.mod.
28273 (datetime_mod_SOURCES): New macro.
28274 (datetime_mod_CFLAGS): Likewise.
28275 (datetime_mod_LDFLAGS): Likewise.
28276 (date_mod_SOURCES): Likewise.
28277 (date_mod_CFLAGS): Likewise.
28278 (date_mod_LDFLAGS): Likewise.
28279 (datehook_mod_SOURCES): Likewise.
28280 (datehook_mod_CFLAGS): Likewise.
28281 (datehook_mod_LDFLAGS): Likewise.
28282
28283 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28284 and datehook.mod.
28285 (datetime_mod_SOURCES): New macro.
28286 (datetime_mod_CFLAGS): Likewise.
28287 (datetime_mod_LDFLAGS): Likewise.
28288 (date_mod_SOURCES): Likewise.
28289 (date_mod_CFLAGS): Likewise.
28290 (date_mod_LDFLAGS): Likewise.
28291 (datehook_mod_SOURCES): Likewise.
28292 (datehook_mod_CFLAGS): Likewise.
28293 (datehook_mod_LDFLAGS): Likewise.
28294
28295 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28296 and datehook.mod.
28297 (datetime_mod_SOURCES): New macro.
28298 (datetime_mod_CFLAGS): Likewise.
28299 (datetime_mod_LDFLAGS): Likewise.
28300 (date_mod_SOURCES): Likewise.
28301 (date_mod_CFLAGS): Likewise.
28302 (date_mod_LDFLAGS): Likewise.
28303 (datehook_mod_SOURCES): Likewise.
28304 (datehook_mod_CFLAGS): Likewise.
28305 (datehook_mod_LDFLAGS): Likewise.
28306
28307 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28308 and datehook.mod.
28309 (datetime_mod_SOURCES): New macro.
28310 (datetime_mod_CFLAGS): Likewise.
28311 (datetime_mod_LDFLAGS): Likewise.
28312 (date_mod_SOURCES): Likewise.
28313 (date_mod_CFLAGS): Likewise.
28314 (date_mod_LDFLAGS): Likewise.
28315 (datehook_mod_SOURCES): Likewise.
28316 (datehook_mod_CFLAGS): Likewise.
28317 (datehook_mod_LDFLAGS): Likewise.
28318
28319 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28320 and datehook.mod.
28321 (datetime_mod_SOURCES): New macro.
28322 (datetime_mod_CFLAGS): Likewise.
28323 (datetime_mod_LDFLAGS): Likewise.
28324 (date_mod_SOURCES): Likewise.
28325 (date_mod_CFLAGS): Likewise.
28326 (date_mod_LDFLAGS): Likewise.
28327 (datehook_mod_SOURCES): Likewise.
28328 (datehook_mod_CFLAGS): Likewise.
28329 (datehook_mod_LDFLAGS): Likewise.
28330
28331 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28332
28333 * commands/date.c: New file.
28334
28335 * hook/datehook.c: Likewise.
28336
28337 * include/grub/lib/datetime.h: Likewise.
28338
28339 * include/grub/i386/cmos.h: Likewise.
28340
28341 * lib/datetime.c: Likewise.
28342
28343 * lib/i386/datetime.c: Likewise.
28344
28345 * lib/efi/datetime.c: Likewise.
28346
0e9242da 283472008-08-14 Robert Millan <rmh@aybabtu.com>
28348
28349 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28350 (grub_mkelfimage_SOURCES): New variable.
28351 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28352
28353 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28354 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28355 * conf/powerpc-ieee1275.rmk: Likewise.
28356 * conf/i386-ieee1275.rmk: Likewise.
28357
28358 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28359 * kern/i386/coreboot/init.c: Likewise.
28360
28361 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28362 with `<grub/cpu/kernel.h>'.
28363 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28364 to ...
28365 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28366 * kern/i386/coreboot/startup.S: Likewise.
28367
28368 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28369 (GRUB_MOD_GAP): Remove.
28370 * include/grub/powerpc/kernel.h: New file.
28371 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28372 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28373 * include/grub/i386/kernel.h: New file.
28374 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28375 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28376 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28377
28378 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28379 `grub-mkelfimage'.
28380 Use --directory when invoking grub_mkimage.
28381
28382 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28383 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28384 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28385 and GRUB_KERNEL_CPU_PREFIX.
28386
b86408f8 283872008-08-14 Felix Zielcke <fzielcke@z-51.de>
28388
d5e619ca 28389 * include/grub/err.h (grub_err_printf): New function prototype.
28390 * util/misc.c (grub_err_printf): New function.
28391 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28392 grub_printf.
28393 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 28394
7161f0e0 283952008-08-13 Robert Millan <rmh@aybabtu.com>
28396
28397 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28398
a1967522 283992008-08-13 Robert Millan <rmh@aybabtu.com>
28400
28401 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28402 boot entry.
28403
371458b5 284042008-08-12 Robert Millan <rmh@aybabtu.com>
28405
28406 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28407 of the relocation code from here ...
28408 (grub_multiboot): ... to here.
28409 (forward_relocator, backward_relocator): Move from here ...
28410 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28411 (grub_multiboot_backward_relocator): ... to here.
28412 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28413 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28414 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28415 (grub_multiboot_forward_relocator_end)
28416 (grub_multiboot_backward_relocator)
28417 (grub_multiboot_backward_relocator_end): New variables.
28418
05f9452b 284192008-08-12 Bean <bean123ch@gmail.com>
28420
28421 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28422
20024ab0 284232008-08-11 Robert Millan <rmh@aybabtu.com>
28424
28425 * kern/i386/linuxbios/startup.S: Move from here ...
28426 * kern/i386/coreboot/startup.S: ... to here.
28427
28428 * kern/i386/linuxbios/init.c: Move from here ...
28429 * kern/i386/coreboot/init.c: ... to here.
28430
28431 * kern/i386/linuxbios/table.c: Move from here ...
28432 * kern/i386/coreboot/mmap.c: ... to here.
28433
28434 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28435
e352e9cd 284362008-08-11 Robert Millan <rmh@aybabtu.com>
28437
28438 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28439 errors. Leave it to the upper layer to handle them.
28440
2d05bc6a 284412008-08-09 Christian Franke <franke@computer.org>
28442
28443 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28444 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28445 Install `grub.d/10_windows' only on Cygwin.
28446 * configure.ac: Add subst of `target_os'.
28447 Check `target_os' also before setting TARGET_OBJ2ELF.
28448 Add `--enable-grub-pe2elf'.
28449
042bd419 284502008-08-08 Robert Millan <rmh@aybabtu.com>
28451
28452 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28453 (grub_last_time): Change type to grub_uint64_t.
28454 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28455 (grub_disk_close): Likewise.
28456
28457 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28458 (run_menu): Migrate code from to using grub_get_time_ms().
28459
28460 * util/misc.c (grub_get_time_ms): New function.
28461
7f280db5 284622008-08-08 Marco Gerards <marco@gnu.org>
28463
28464 * disk/ata.c (grub_ata_regget): Change return type to
28465 `grub_uint8_t'.
28466 (grub_ata_regget2): Likewise.
28467 (grub_ata_wait_status): New function.
28468 (grub_ata_wait_busy): Removed function, updated all users to use
28469 `grub_ata_wait_status'.
28470 (grub_ata_wait_drq): Likewise.
28471 (grub_ata_cmd): New function.
28472 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28473 error handling.
28474 (grub_ata_pio_write): Add error handling.
28475 (grub_atapi_identify): Likewise.
28476 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28477 handling.
28478 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28479 handling. Actually use the detected registers. Reorder the
28480 detection logic such that it is easier to read.
28481 (grub_ata_pciinit): Do not assign the same ID to each controller.
28482 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28483 handling.
28484 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28485
28486 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28487
1fbc5e66 284882008-08-08 Marco Gerards <marco@gnu.org>
28489
28490 * NEWS: Update.
28491
819ce6c0 284922008-08-07 Bean <bean123ch@gmail.com>
28493
28494 * include/grub/x86_64/pci.h: New file.
28495
5c41d44d 284962008-08-07 Christian Franke <franke@computer.org>
28497
28498 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28499 (TIMER2_GATE): Likewise.
28500 (grub_pit_wait): Add enable/disable of the timer2 gate
28501 bit of port 0x61. This fixes a possible infinite loop.
28502
5ebc275d 285032008-08-07 Bean <bean123ch@gmail.com>
28504
28505 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28506 kern/i386/tsc.c and kern/i386/pit.c.
28507
28508 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28509 x86_64 platform.
28510
28511 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28512 <grub/i386/tsc.h>.
28513
28514 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28515
e383b3d0 285162008-08-07 Bean <bean123ch@gmail.com>
28517
28518 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28519
28520 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28521
28522 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28523 multiple inclusion. Add #include <grub/types.h>.
28524
1cbb58ac 285252008-08-06 Christian Franke <franke@computer.org>
28526
28527 * conf/common.rmk: Build and install `10_windows'.
28528 * util/grub.d/10_windows.in: New script.
28529
337f5a1e 285302008-08-06 Pavel Roskin <proski@gnu.org>
28531
28532 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28533
057bc4ac 285342008-08-06 Robert Millan <rmh@aybabtu.com>
28535
28536 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28537 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28538
2b99f123 285392008-08-06 Bean <bean123ch@gmail.com>
28540
28541 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28542 (grub_pxefs_fs_int): Remove dummy definition.
28543 (grub_pxefs_open): Use data->block_size to store the current block
28544 size setting.
28545 (grub_pxefs_read): Use block size stored in data->block_size. As the
28546 value of grub_pxe_blksize can be changed after the file is opened.
28547
9f0234cb 285482008-08-06 Bean <bean123ch@gmail.com>
28549
28550 * fs/i386/pc/pxe.c (curr_file): new variable.
28551 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28552 require the dummy internal file system anymore.
28553 (grub_pxefs_read): Removed.
28554 (grub_pxefs_close): Likewise.
28555 (grub_pxefs_fs_int): Likewise.
28556 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28557 connection when we switch file.
28558 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28559
a55d42e0 285602008-08-06 Robert Millan <rmh@aybabtu.com>
28561
28562 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28563 `halt.mod'.
28564 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28565 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28566
28567 * kern/i386/halt.c: New file.
28568 * kern/i386/reboot.c: Likewise.
28569 * include/grub/i386/reboot.h: Likewise.
28570 * include/grub/i386/halt.h: Likewise.
28571
28572 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28573 Include `<grub/cpu/halt.h>'.
28574 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28575 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28576
28577 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28578 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28579 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28580 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28581 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28582 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28583 from here ...
28584 * include/grub/i386/at_keyboard.h: ... to here.
28585
24371d26 285862008-08-05 Robert Millan <rmh@aybabtu.com>
28587
28588 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28589 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28590 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28591 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28592 `kern/generic/millisleep.c'.
28593
28594 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28595 instead of grub_get_rtc().
28596 (grub_tsc_init): Initialize `tsc_boot_time'.
28597
28598 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28599 (grub_machine_init): Use grub_tsc_init() rather than
28600 installing an RTC-based handler via grub_install_get_time_ms().
28601
28602 * kern/i386/pit.c: New file.
28603 * include/grub/i386/pit.h: Likewise.
28604
9e7007b3 286052008-08-05 Bean <bean123ch@gmail.com>
28606
28607 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28608
28609 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28610 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28611 (pxe_mod_SOURCES): New macro.
28612 (pxe_mod_CFLAGS): Likewise.
28613 (pxe_mod_LDFLAGS): Likewise.
28614 (pxecmd_mod_SOURCES): Likewise.
28615 (pxecmd_mod_CFLAGS): Likewise.
28616 (pxecmd_mod_LDFLAGS): Likewise.
28617
28618 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28619 (grub_pxe_call): Likewise.
28620
28621 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28622
28623 * commands/i386/pc/pxecmd.c: New file.
28624
9f0234cb 28625 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 28626
28627 * include/grub/i386/pc/pxe.h: Likewise.
28628
6977d49f 286292008-08-05 Bean <bean123ch@gmail.com>
28630
28631 * util/console.c (grub_console_cur_color): New variable.
28632 (grub_console_standard_color): Likewise.
28633 (grub_console_normal_color): Likewise.
28634 (grub_console_highlight_color): Likewise.
28635 (color_map): Likewise.
28636 (use_color): Likewise.
28637 (NUM_COLORS): New macro.
28638 (grub_ncurses_setcolorstate): Handle color properly.
28639 (grub_ncurses_setcolor): Don't change color here, just remember the
28640 settings, color will be set in grub_ncurses_setcolorstate.
28641 (grub_ncurses_getcolor): New function.
28642 (grub_ncurses_init): Initialize color pairs.
28643 (grub_ncurses_term): New member grub_ncurses_getcolor.
28644
9c2ff3ee 286452008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 28646
9c2ff3ee 28647 High resolution timer support. Implemented for x86 CPUs using TSC.
28648 Extracted generic grub_millisleep() so it's linked in only as needed.
28649 This requires a Pentium compatible CPU; if the RDTSC instruction is
28650 not supported, then it falls back on the generic grub_get_time_ms()
28651 implementation that uses the machine's RTC.
28652
28653 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28654 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28655 `kern/generic/millisleep.c'.
28656
28657 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28658 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28659
28660 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28661 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28662
28663 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28664
28665 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28666 `kern/generic/millisleep.c'.
28667
28668 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28669
28670 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28671
28672 * kern/generic/rtc_get_time_ms.c: New file.
28673
28674 * kern/generic/millisleep.c: New file.
337f5a1e 28675
9c2ff3ee 28676 * kern/misc.c: Don't include
28677 <kern/time.h> anymore.
28678 (grub_millisleep_generic): Removed.
28679
28680 * commands/sleep.c (grub_interruptible_millisleep): Uses
28681 grub_get_time_ms() instead of grub_get_rtc().
28682
28683 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28684 function.
28685 (grub_cpu_is_cpuid_supported): New inline function.
28686 (grub_cpu_is_tsc_supported): New inline function.
28687 (grub_tsc_init): New function prototype.
28688 (grub_tsc_get_time_ms): New function prototype.
28689
28690 * kern/i386/tsc.c (grub_get_time_ms): New file.
28691
28692 * include/grub/time.h: Include <grub/types.h.
28693 (grub_millisleep_generic): Removed.
28694 (grub_get_time_ms): New prototype.
28695 (grub_install_get_time_ms): New prototype.
28696 (grub_rtc_get_time_ms): New prototype.
28697
28698 * kern/time.c (grub_get_time_ms): New function.
28699 (grub_install_get_time_ms): New function.
28700
28701 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28702 <grub/time.h> anymore.
28703 (grub_millisleep): Removed.
28704 (grub_machine_init): Call grub_tsc_init.
28705
28706 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28707 get_time_ms() implementation.
28708
28709 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28710 (ieee1275_get_time_ms): New function.
28711 (grub_machine_init): Install get_time_ms() implementation.
28712
28713 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28714 (grub_machine_init): Call grub_tsc_init().
28715 (grub_millisleep): Removed.
bf06a93f 28716
9c2ff3ee 28717 * kern/ieee1275/init.c (grub_millisleep): Removed.
28718 (grub_machine_init): Install ieee1275_get_time_ms()
28719 implementation.
28720 (ieee1275_get_time_ms): New function.
28721 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28722 real work.
28723
9ec92aaf 287242008-08-05 Marco Gerards <marco@gnu.org>
28725
28726 * disk/ata.c: Include <grub/pci.h>.
28727 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28728 (grub_ata_initialize): Rewritten.
28729 (grub_ata_device_initialize): New function.
28730
8d23f507 287312008-08-04 Pavel Roskin <proski@gnu.org>
28732
28733 * kern/main.c: Include grub/mm.h.
28734
5e15ee3d 287352008-08-04 Robert Millan <rmh@aybabtu.com>
28736
28737 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28738 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28739 corruption problem).
28740
a9053f8f 287412008-08-04 Robert Millan <rmh@aybabtu.com>
28742
28743 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28744 warnings introduced in my last commit.
28745
dd19c7d7 287462008-08-03 Robert Millan <rmh@aybabtu.com>
28747
28748 Make PCI available on all i386 architectures.
28749
28750 * include/grub/i386/pc/pci.h: Move from here ...
28751 * include/grub/i386/pci.h: ... to here.
28752
28753 * include/grub/i386/pc/pci.h: Remove.
28754 * include/grub/i386/efi/pci.h: Remove.
28755 * include/grub/x86_64/efi/pci.h: Remove.
28756
28757 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28758 `<grub/cpu/pci.h>'.
28759
28760 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28761 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28762 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28763
28764 * conf/i386-ieee1275.rmk: Likewise.
28765
e14a6184 287662008-08-03 Robert Millan <rmh@aybabtu.com>
28767
28768 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28769 (grub_console_setcursor): Make it possible to set cursor off.
28770
52768e37 287712008-08-03 Robert Millan <rmh@aybabtu.com>
28772
28773 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28774 of modules instead of assuming which platform provides what.
28775 * util/update-grub.in: Likewise.
28776
2d52f57f 287772008-08-03 Robert Millan <rmh@aybabtu.com>
28778
28779 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28780 instead of `grub_install_dos_part' to determine whether a drive needs
28781 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 28782 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 28783
2a5cd121 287842008-08-02 Robert Millan <rmh@aybabtu.com>
28785
28786 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28787
93808428 287882008-08-02 Robert Millan <rmh@aybabtu.com>
28789
28790 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28791 of informational grub_dprintf() calls.
28792
3bd0a12a 287932008-08-02 Robert Millan <rmh@aybabtu.com>
28794
28795 * disk/memdisk.c (memdisk_size): Don't initialize.
28796 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28797
28798 * include/grub/i386/pc/kernel.h
28799 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28800 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28801 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28802 (grub_arch_memdisk_size): Remove.
28803
28804 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28805 field (was only used to transfer a constant). Add `type' field to
28806 support multiple module types.
28807 (grub_module_iterate): New function.
28808
28809 * kern/device.c (grub_device_open): Do not hide error messages
28810 when grub_disk_open() fails. Use grub_print_error() instead.
28811
28812 * kern/i386/pc/init.c (grub_arch_modules_addr)
28813 (grub_arch_memdisk_size): Remove functions.
28814 (grub_arch_modules_addr): Return the module address in high memory
28815 (now that it isn't copied anymore).
28816
28817 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28818 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28819 decompression routine (grub_total_module_size already includes that
28820 now). Don't copy modules back to low memory.
28821
28822 * kern/main.c: Include `<grub/mm.h>'.
28823 (grub_load_modules): Split out (and use) ...
28824 (grub_module_iterate): ... this function, which iterates through
28825 module objects and runs a hook.
28826 Comment out grub_mm_init_region() call, as it would cause non-ELF
28827 modules to be overwritten.
28828
28829 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28830 the memdisk image in its own region, make it part of the module list.
28831 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28832 (main): Parse --memdisk|-m option, and pass user-provided path as
28833 parameter to generate_image().
28834 (add_segments): Pass `memdisk_path' down to load_modules().
28835 (load_modules): Embed memdisk image in module section when requested.
28836 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28837 `header.type' instead of `header.offset'.
28838
28839 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28840 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28841 (memdisk_mod_LDFLAGS): New variables.
28842 * conf/i386-coreboot.rmk: Likewise.
28843 * conf/i386-ieee1275.rmk: Likewise.
28844
a927cc73 288452008-08-02 Robert Millan <rmh@aybabtu.com>
28846
28847 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28848 (backward_relocator): New variables. Used to allocate and relocate
28849 the payload, respectively.
28850 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 28851 address, install the appropriate relocator code in each bound of
a927cc73 28852 the payload, and set the entry point such that
28853 grub_multiboot_real_boot() will jump to one of them.
28854
28855 * kern/i386/loader.S (grub_multiboot_payload_size)
28856 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28857 (grub_multiboot_payload_entry_offset): New variables.
28858 (grub_multiboot_real_boot): Set cpu context to what the relocator
28859 expects, and jump to the relocator instead of the payload.
28860
28861 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28862 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28863 (grub_multiboot_payload_entry_offset): Export.
28864
b15d8a0c 288652008-08-01 Bean <bean123ch@gmail.com>
28866
28867 * normal/menu_entry.c (editor_getline): Don't return the original
28868 string as result, as it will be released by lexer once it has done
28869 using it.
28870
cdfb3d22 288712008-08-01 Robert Millan <rmh@aybabtu.com>
28872
28873 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28874 within menuentries, not before them.
28875 util/grub.d/10_hurd.in: Likewise.
28876
9175e93d 288772008-08-01 Bean <bean123ch@gmail.com>
28878
28879 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28880 (bufio_mod_SOURCES): New macro.
28881 (bufio_mod_CFLAGS): Likewise.
28882 (bufio_mod_LDFLAGS): Likewise.
28883
28884 * include/grub/bufio.h: New file.
28885
28886 * io/bufio.c: Likewise.
28887
28888 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28889 (grub_video_reader_png): Use grub_buffile_open to open file.
28890
28891 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28892 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28893
28894 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28895 (grub_video_reader_tga): Use grub_buffile_open to open file.
28896
28897 * font/manager.c: Include <grub/bufio.h>.
28898 (add_font): Use grub_buffile_open to open file.
28899
3d8383e7 289002008-07-31 Robert Millan <rmh@aybabtu.com>
28901
28902 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28903 ELF segments, use a macro for arbitrarily accessing any of them instead
28904 of preparing a pointer that allows access to one at a time.
28905 (grub_multiboot_load_elf64): Likewise.
28906
16e641b6 289072008-07-31 Bean <bean123ch@gmail.com>
28908
28909 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28910 GRUB_KERNEL_MACHINE_DATA_END.
28911
59198b72 289122008-07-30 Robert Millan <rmh@aybabtu.com>
28913
28914 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28915 Increase from 0x50 to 0x60.
28916 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28917 use UUIDs to identify the root drive for them. If that's not
28918 possible, abort.
28919 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28920 check, for cross-disk installs.
28921
ae88bca3 289222008-07-30 Robert Millan <rmh@aybabtu.com>
28923
28924 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28925 is non-empty, use it to set the `prefix' environment variable instead
28926 of the usual approach.
28927 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28928 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28929 environment variable instead of dummy make_install_device().
28930
28931 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28932 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 28933 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 28934
28935 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28936 New variable reference.
28937 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28938 New macro. Defines offset of `grub_prefix' within startup.S (relative
28939 to `start').
28940 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28941 section within startup.S (relative to `start').
28942 * include/grub/i386/coreboot/kernel.h: Likewise.
28943
28944 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28945 Overwrite grub_prefix with its contents, at the beginning of the
28946 first segment.
28947 (main): Understand -p|--prefix.
28948
14f41dd1 289492008-07-30 Robert Millan <rmh@aybabtu.com>
28950
28951 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28952
4ca049a3 289532008-07-30 Robert Millan <rmh@aybabtu.com>
28954
28955 * term/i386/pc/vga_text.c (grub_console_cls): Use
28956 grub_console_gotoxy() to go back to beginning of the screen.
28957 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28958
2921d337 289592008-07-29 Christian Franke <franke@computer.org>
28960
28961 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28962 Add conversion of emulated mount points on Cygwin.
28963
b609876d 289642008-07-29 Christian Franke <franke@computer.org>
28965
28966 * util/update-grub.in: Add a check for admin
28967 group on Cygwin.
28968 Remove old `grub.cfg.new' before creation.
28969 Add `-f' to `mv' to handle the different filesystem
28970 semantics of Windows.
28971
e93e4679 289722008-07-29 Bean <bean123ch@gmail.com>
28973
28974 * normal/main.c (get_line): Fix buffer overflow bug.
28975
41694fd0 289762008-07-28 Robert Millan <rmh@aybabtu.com>
28977
28978 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28979 (struct grub_apple_header): New struct. Describes the layout of
28980 the partmap header.
28981 (apple_partition_map_iterate): Check the header magic as well as the
28982 partition magic (which was already being checked).
28983
cfd0b4e6 289842008-07-28 Pavel Roskin <proski@gnu.org>
28985
28986 * genmk.rb: Add a warning to the beginning of the output that
28987 it's a generated file and should not be edited.
28988
93cce016 289892008-07-28 Robert Millan <rmh@aybabtu.com>
28990
28991 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28992 with the same number are found, just use issue a warning with
28993 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 28994
cd1df915 289952008-07-27 Robert Millan <rmh@aybabtu.com>
28996
28997 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28998 information.
28999
b70a8427 290002008-07-27 Bean <bean123ch@gmail.com>
29001
29002 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
29003 (grub_fat_find_dir): Ignore case when comparing filename.
29004
8f5e379f 290052008-07-27 Bean <bean123ch@gmail.com>
29006
29007 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
29008 smallino, as it's more descriptive, and i8count can be confused with
29009 the other field count.
29010 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
29011 inode type.
29012
a85cd5a0 290132008-07-27 Bean <bean123ch@gmail.com>
29014
29015 * commands/crc.c: New file.
29016
29017 * lib/crc.c: Likewise.
29018
29019 * include/grub/lib/crc.h: Likewise.
29020
29021 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
29022
29023 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
29024 (hexdump): Move this function to ...
29025
29026 * lib/hexdump.c: ... here.
29027
29028 * include/grub/hexdump.h: Renamed to ...
29029
29030 * include/grub/lib/hexdump.h: ... this.
29031
29032 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
29033
29034 * util/grub-editenv.c: Likewise.
29035
29036 * include/envblk.h: Renamed to ...
29037
29038 * include/lib/envblk.h: ... this.
29039
29040 * util/envblk.c: Renamed to ...
29041
29042 * lib/envblk.c: ... this.
29043
29044 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
29045 lib/hexdump.c.
29046 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
29047 (pkglib_MODULES): Add crc.mod.
29048 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29049 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29050 (crc_mod_SOURCES): New macro.
29051 (crc_mod_CFLAGS): Likewise.
29052 (crc_mod_LDFLAGS): Likewise.
29053
29054 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29055
29056 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29057
29058 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29059
29060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29061
29062 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29063
c298def0 290642008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 29065
29066 * commands/help.c: Include <grub/term.h>.
29067 (TERM_WIDTH): Removed. Updated all users.
29068
cc349fb3 290692008-07-27 Pavel Roskin <proski@gnu.org>
29070
29071 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29072 spurious warnings about a comment within a comment.
29073
9051607e 290742008-07-25 Robert Millan <rmh@aybabtu.com>
29075
29076 * util/getroot.c (find_root_device): Skip devices that match
29077 /dev/dm-[0-9]. This lets the real device be found for any type of
29078 abstraction (LVM, EVMS, RAID..).
29079 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29080 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29081 device is found first, find_root_device() will now skip it.
29082
01453bfc 290832008-07-24 Pavel Roskin <proski@gnu.org>
29084
29085 * include/grub/types.h: Use __builtin_bswap32() and
29086 __builtin_bswap64() with gcc 4.3 and newer.
29087
6af9849f 290882008-07-24 Christian Franke <franke@computer.org>
29089
3a0fa256 29090 * util/i386/pc/grub-install.in: If `--debug' is specified,
29091 pass `--verbose' to grub-setup.
29092 Abort script if make_system_path_relative_to_its_root() fails.
29093
7810e747 290942008-07-24 Bean <bean123ch@gmail.com>
29095
29096 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29097 variable `target_platform' should be `platform'.
29098
42290e17 290992008-07-24 Bean <bean123ch@gmail.com>
29100
51cc5193 29101 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 29102 (grub_png_init_fixed_block): New function.
29103 (grub_png_decode_image_data): Handle fixed huffman code compression.
29104
2a8a80e4 291052008-07-24 Bean <bean123ch@gmail.com>
29106
29107 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29108 (grub_pe2elf_SOURCES): New macro.
29109 (CLEANFILES): Add grub-pe2elf.
29110
29111 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29112 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29113 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29114 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29115 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29116 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29117 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29118 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29119 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29120 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29121 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29122 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29123 (GRUB_PE32_DT_FUNCTION): Likewise.
29124 (GRUB_PE32_REL_I386_DIR32): Likewise.
29125 (GRUB_PE32_REL_I386_REL32): Likewise.
29126 (grub_pe32_symbol): New structure.
29127 (grub_pe32_reloc): Likewise.
29128
29129 * util/grub-pe2elf.c: New file.
29130
29131 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29132 start symbol in non pc platform.
29133
29134 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29135
29136 The following patches are from Christian Franke.
29137
29138 * include/grub/dl.h: Remove .previous, gas supports this only
29139 for ELF format.
29140
29141 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29142 Remove .type, gas supports this only for ELF format.
29143
29144 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29145 nullbytes in symbol table. This fixes an infinite loop if table is
29146 zero filled.
29147
29148 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29149 TARGET_IMG_LDFLAGS and EXEEXT.
29150
29151 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
29152 TARGET_IMG_LDFLAGS_AC.
29153 (grub_CHECK_STACK_ARG_PROBE): New function.
29154
29155 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
29156
29157 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
29158
29159 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
29160 to set TARGET_IMG_LD* accordingly.
29161 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
29162 Add call to grub_CHECK_STACK_ARG_PROBE.
29163 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
29164
29165 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
29166
29167 * genmk.rb: Add EXEEXT to CLEANFILES.
29168
12ccdb75 291692008-07-23 Robert Millan <rmh@aybabtu.com>
29170
29171 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29172 define the codes for arrows and lines used for the menu).
29173 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29174 as well.
29175
29176 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29177 fonts, because the latter are too slow.
29178
18eeaf04 291792008-07-21 Bean <bean123ch@gmail.com>
29180
29181 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29182 a20. Run keyboard test last, as it will cause macbook to halt.
29183
b095e2ad 291842008-07-18 Pavel Roskin <proski@gnu.org>
29185
29186 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29187 load foreign architecture modules correctly anyway. Keep
29188 support for loading host architecture modules, whether we
29189 compile them or not.
29190
737feb35 291912008-07-17 Pavel Roskin <proski@gnu.org>
29192
3f4ce737 29193 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29194 change target_cpu. The compiler default can mismatch target_cpu
29195 in any case.
29196
4ad2d049 29197 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29198 * kern/efi/efi.c: Likewise.
29199
f6130a12 29200 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29201 target compiler is functional.
29202 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29203 are set up.
29204
58393a2d 29205 * configure.ac: Default to efi platform for x86_64-apple. Allow
29206 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29207 adjustments from the rest, only do them if target is not
29208 explicitly given. Merge other adjustments with the final sanity
29209 check. Remove an extraneous check for supported CPU. Be
29210 specific which CPU and which platform is not supported.
29211
737feb35 29212 * configure.ac: Default to pc platform for x86_64.
29213
546f966a 292142008-07-17 Robert Millan <rmh@aybabtu.com>
29215
29216 Partial LinuxBIOS -> Coreboot rename.
29217
29218 * conf/i386-linuxbios.rmk: Renamed to ...
29219 * conf/i386-coreboot.rmk: ... this.
29220 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29221 * configure.ac: Accept "coreboot" as input platform (but maintain
29222 compatibility with "linuxbios").
29223 * include/grub/i386/linuxbios: Renamed to ...
29224 * include/grub/i386/coreboot: ... this.
29225
20011694 292262008-07-17 Bean <bean123ch@gmail.com>
29227
29228 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 29229 (appleldr_mod_SOURCE): New variable.
20011694 29230 (appleldr_mod_CFLAGS): Likewise.
29231 (appleldr_mod_LDFLAGS): Likewise.
29232 (pci_mod_SOURCES): Likewise.
29233 (pci_mod_CFLAGS): Likewise.
29234 (pci_mod_LDFLAGS): Likewise.
29235 (lspci_mod_SOURCES): Likewise.
29236 (lspci_mod_CFLAGS): Likewise.
29237 (lspci_mod_LDFLAGS): Likewise.
29238
29239 * conf/x86_64-efi.rmk: New file.
29240
29241 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29242 macro.
29243 (grub_efidisk_write): Likewise.
29244
29245 * include/efi/api.h (efi_call_0): New macro.
29246 (efi_call_1): Likewise.
29247 (efi_call_2): Likewise.
29248 (efi_call_3): Likewise.
29249 (efi_call_4): Likewise.
29250 (efi_call_5): Likewise.
29251 (efi_call_6): Likewise.
29252
29253 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29254 grub_rescue_cmd_chainloader.
29255
29256 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29257 (grub_pe32_optional_header): Change some fields based on i386 or
29258 x86_64 platform.
29259 (GRUB_PE32_PE32_MAGIC): Likewise.
29260
29261 * include/grub/efi/uga_draw.h: New file.
29262
29263 * include/grub/elf.h (STN_ABS): New constant.
29264 (R_X86_64_NONE): Relocation constant for x86_64.
29265 (R_X86_64_64): Likewise.
29266 (R_X86_64_PC32): Likewise.
29267 (R_X86_64_GOT32): Likewise.
29268 (R_X86_64_PLT32): Likewise.
29269 (R_X86_64_COPY): Likewise.
29270 (R_X86_64_GLOB_DAT): Likewise.
29271 (R_X86_64_JUMP_SLOT): Likewise.
29272 (R_X86_64_RELATIVE): Likewise.
29273 (R_X86_64_GOTPCREL): Likewise.
29274 (R_X86_64_32): Likewise.
29275 (R_X86_64_32S): Likewise.
29276 (R_X86_64_16): Likewise.
29277 (R_X86_64_PC16): Likewise.
29278 (R_X86_64_8): Likewise.
29279 (R_X86_64_PC8): Likewise.
29280
29281 * include/grub/i386/efi/pci.h: New file.
29282
29283 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29284 Change it value based on platform.
29285 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29286 (GRUB_E820_RAM): Likewise.
29287 (GRUB_E820_RESERVED): Likewise.
29288 (GRUB_E820_ACPI): Likewise.
29289 (GRUB_E820_NVS): Likewise.
29290 (GRUB_E820_EXEC_CODE): Likewise.
29291 (GRUB_E820_MAX_ENTRY): Likewise.
29292 (grub_e820_mmap): New structure.
29293 (linux_kernel_header): Change the efi field according to different
29294 kernel version, also field from linux_kernel_header.
29295
29296 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29297
29298 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29299 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29300 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29301 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29302 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29303 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29304 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29305 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29306 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29307 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29308
29309 * include/grub/x86_64/efi/kernel.h: New file.
29310
29311 * include/grub/x86_64/efi/loader.h: Likewise.
29312
29313 * include/grub/x86_64/efi/machine.h: Likewise.
29314
29315 * include/grub/x86_64/efi/pci.h: Likewise.
29316
29317 * include/grub/x86_64/efi/time.h: Likewise.
29318
29319 * include/grub/x86_64/linux.h: Likewise.
29320
29321 * include/grub/x86_64/setjmp.h: Likewise.
29322
29323 * include/grub/x86_64/time.h: Likewise.
29324
29325 * include/grub/x86_64/types.h: Likewise.
29326
29327 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29328 GRUB_TARGET_SIZEOF_VOID_P.
29329
29330 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29331 (grub_efi_locate_handle): Likewise.
29332 (grub_efi_open_protocol): Likewise.
29333 (grub_efi_set_text_mode): Likewise.
29334 (grub_efi_stall): Likewise.
29335 (grub_exit): Likewise.
29336 (grub_reboot): Likewise.
29337 (grub_halt): Likewise.
29338 (grub_efi_exit_boot_services): Likewise.
29339 (grub_get_rtc): Likewise.
29340
29341 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29342 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29343 (grub_efi_allocate_pages): Wrap efi calls.
29344 (grub_efi_free_pages): Wrap efi calls.
29345 (grub_efi_get_memory_map): Wrap efi calls.
29346
29347 * kern/x86_64/dl.c: New file.
29348
29349 * kern/x86_64/efi/callwrap.S: Likewise.
29350
29351 * kern/x86_64/efi/startup.S: Likewise.
29352
29353 * loader/efi/appleloader.c: Likewise.
29354
29355 * loader/efi/chainloader.c (cmdline): New variable.
29356 (grub_chainloader_unload): Wrap efi calls.
29357 (grub_chainloader_boot): Likewise.
29358 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29359 command line.
29360
29361 * loader/efi/chainloader_normal.c (chainloader_command):
29362 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29363 command line.
29364
29365 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29366 method.
29367 (grub_e820_add_region): New function.
29368 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29369 booting.
29370 (grub_find_video_card): New function.
29371 (grub_linux_setup_video): New function.
29372 (grub_rescue_cmd_linux): Probe for video information.
29373
29374 * normal/x86_64/setjmp.S: New file.
29375
29376 * term/efi/console.c (map_char): New function.
29377 (grub_console_putchar): Map unicode char.
29378 (grub_console_checkkey): Wrap efi calls.
29379 (grub_console_getkey): Likewise.
29380 (grub_console_getwh): Likewise.
29381 (grub_console_gotoxy): Likewise.
29382 (grub_console_cls): Likewise.
29383 (grub_console_setcolorstate): Likewise.
29384 (grub_console_setcursor): Likewise.
29385
29386 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29387
59652a20 293882008-07-16 Pavel Roskin <proski@gnu.org>
29389
ef294055 29390 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29391 format strings.
29392
59652a20 29393 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29394 pointer, not an integer. This fixes a warning and prevents
29395 precision loss on 64-bit systems.
29396 (relocate_addresses): Remove unneeded cast.
29397
afc3b5d7 293982008-07-15 Pavel Roskin <proski@gnu.org>
29399
506b2b3e 29400 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29401
62ead89c 29402 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29403
c4cd51d7 29404 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29405 Fix comparison between signed and unsigned.
29406
0d3d8f28 29407 * include/grub/i386/ieee1275/console.h: Declare
29408 grub_console_init() and grub_console_fini().
29409
8804b286 29410 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29411 It's empty and unused.
29412
ee01cf35 29413 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29414 beginning to avoid warnings with some compilers.
29415
afc3b5d7 29416 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29417 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29418
e4e8eaa5 294192008-07-14 Pavel Roskin <proski@gnu.org>
29420
407aceb4 29421 * kern/env.c (grub_register_variable_hook): Don't copy empty
29422 string, it leaks memory. Pass "" to grub_env_set(), it should
29423 handle constant strings.
29424
e4e8eaa5 29425 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29426 * commands/cmp.c (grub_cmd_cmp): Likewise.
29427 * kern/dl.c (grub_dl_flush_cache): Likewise.
29428 (grub_dl_load_core): Likewise.
29429 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29430 (grub_elf64_load_phdrs): Likewise.
29431
d4e2dad3 294322008-07-13 Pavel Roskin <proski@gnu.org>
29433
29434 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29435 between signed and unsigned.
29436 (LzmaEnc_Finish): Fix warning about an unused parameter.
29437
aa24b516 294382008-07-13 Bean <bean123ch@gmail.com>
29439
29440 * Makefile.in (enable_lzo): New rule.
29441
29442 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29443
29444 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29445
29446 * boot/i386/pc/lnxboot.S: #include <config.h>.
29447
29448 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 29449 its value according to the compression algorithm used, lzo or lzma.
aa24b516 29450
29451 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29452 compression algorithm according to configure macro.
29453
29454 * kern/i386/pc/startup.S (codestart): Likewise.
29455
29456 * kern/i386/pc/lzma_decode.S: New file.
29457
29458 * include/grub/lib/LzFind.h: Likewise.
29459
29460 * include/grub/lib/LzHash.h: Likewise.
29461
29462 * include/grub/lib/LzmaDec.h: Likewise.
29463
29464 * include/grub/lib/LzmaEnc.h: Likewise.
29465
29466 * include/grub/lib/LzmaTypes.h: Likewise.
29467
29468 * lib/LzFind.c: Likewise.
29469
29470 * lib/LzmaDec.c: Likewise.
29471
29472 * lib/LzmaEnc.c: Likewise.
29473
4ae821ac 294742008-07-13 Bean <bean123ch@gmail.com>
29475
29476 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29477 (grub_ext4_extent_header): New structure.
29478 (grub_ext4_extent): Likewise.
29479 (grub_ext4_extent_idx): Likewise.
29480 (grub_ext4_find_leaf): New function.
29481 (grub_ext2_read_block): Handle extents.
29482
9a745147 294832008-07-12 Robert Millan <rmh@aybabtu.com>
29484
29485 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29486
d49a4cf6 294872008-07-11 Robert Millan <rmh@aybabtu.com>
29488
29489 * util/grub.d/40_custom.in: New file. Example on how to add custom
29490 entries to /etc/grub.d.
29491 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29492 40_custom (implicitly, by merging all the grub.d rules).
29493
947414b4 294942008-07-11 Pavel Roskin <proski@gnu.org>
29495
0059cf6f 29496 * commands/read.c (grub_getline): Fix invalid memory access.
29497 Don't add newline to the variable value.
29498
947414b4 29499 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29500 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29501 (serial_hw_get_port): Check validity of the port number.
29502 (grub_cmd_serial): Check return value of serial_hw_get_port().
29503
62a02d00 295042008-07-07 Pavel Roskin <proski@gnu.org>
29505
29506 * boot/i386/pc/diskboot.S (notification_string): Replace
29507 "Loading kernel" with just "loading". This is shorter, less
29508 confusing and saves a few bytes for possible future changes.
29509
3e5581b0 295102008-07-05 Pavel Roskin <proski@gnu.org>
29511
ea387a48 29512 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29513 size for ATAPI devices, they are undefined. Output sector
29514 number in decimal form.
29515
3e5581b0 29516 * disk/ata.c: Use named constants for status bits.
29517
fdecb8fd 295182008-07-04 Pavel Roskin <proski@gnu.org>
29519
bcd35b90 29520 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29521 grub_addr_t before casting it to the void pointer to fix a
29522 warning. Non-addressable regions are discarded earlier.
29523 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29524 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29525 (check_signature): Don't shadow table_header.
29526 (grub_linuxbios_table_iterate): Cast numeric constants to
29527 grub_linuxbios_table_header_t.
29528 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29529 grub_stop().
29530
af58ab3d 29531 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29532 prevent warnings.
29533
1759aa57 29534 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29535 pointer, which can cause warnings. Support 64-bit addresses.
29536
fdecb8fd 29537 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29538 of sizeof(long). This fixes PowerPC image generation on x86_64.
29539
8516d2a8 295402008-07-04 Robert Millan <rmh@aybabtu.com>
29541
29542 This fixes a performance issue when pc & gpt partmap iterators
29543 didn't abort iteration even after our hook found what it was
fe987087 29544 looking for (often causing expensive probes of non-existent drives).
8516d2a8 29545
29546 Some callers relied on previous buggy behaviour, since they would
34c44600 29547 raise an error when their own hooks caused early abortion of its
8516d2a8 29548 iteration.
29549
29550 * kern/device.c (grub_device_open): Improve error message.
29551 * disk/lvm.c (grub_lvm_open): Likewise.
29552 * disk/raid.c (grub_raid_open): Likewise.
29553
29554 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29555 when hook requests it, independently of grub_errno.
29556 (pc_partition_map_probe): Do not fail when find_func() caused
29557 early abortion of pc_partition_map_iterate().
29558
29559 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29560 when hook requests it, independently of grub_errno.
29561 (gpt_partition_map_probe): Do not fail when find_func() caused
29562 early abortion of gpt_partition_map_iterate().
29563
29564 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29565 when hook requests it, independently of grub_errno. Do not fail when
29566 part_map_iterate_hook() caused early abortion of p->iterate().
29567
29568 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29569 when grub_partition_iterate() returned with non-zero.
29570
277d0de9 295712008-07-03 Pavel Roskin <proski@gnu.org>
29572
29573 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29574 like we do in grub_ata_pio_read().
29575 (grub_ata_readwrite): Always write individual sectors. Fix the
29576 sector count for the remainder.
29577 (grub_ata_write): Enable writing to ATA devices. Correctly
29578 report error for ATAPI devices.
29579
d4c9b428 295802008-07-02 Pavel Roskin <proski@gnu.org>
29581
e43fc690 29582 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29583 warning.
29584
f707af42 29585 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29586 for every read sector, we already increment it for the whole
29587 batch. This fixes reading more than 256 sectors at once.
29588
11e16b15 29589 * util/grub-editenv.c (cmd_info): Cast argument to long
29590 explicitly. ptrdiff_t reduces to int on i386.
29591
cbabfdd4 29592 * util/grub-editenv.c (main): Be specific which parameter is
29593 missing.
29594
b8fbce0a 29595 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29596 (memdisk): Make memdisk_orig_addr a pointer.
29597
c9c8e606 29598 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29599 for file offsets, use grub_off_t instead. Fix printf format
29600 warnings.
29601
ca62e598 29602 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29603 there. Real unexpected warnings should not drown in the noise
29604 about known problems.
29605
ce8d1766 29606 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29607 grub_disk_addr_t for memory addresses.
29608
00c7a56a 29609 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29610 explicitly to fix a warning.
29611
08d3ef09 29612 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29613
cb71ba20 29614 * Makefile.in (MODULE_LDFLAGS): New variable.
29615 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29616 the linker accepts --build-id=none.
29617 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29618 MODULE_LDFLAGS.
29619 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29620
d4c9b428 29621 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29622 those in Linux XFS code. Provide a way to access 64-bit parent
29623 inode.
29624 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29625 the end of struct grub_xfs_dir_header.
29626
d4156eee 296272008-07-02 Bean <bean123ch@gmail.com>
29628
29629 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29630 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29631 and GRUB_IEEE1275_FLAG_NO_ANSI.
29632
29633 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29634 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29635 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29636
29637 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29638 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29639
29640 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29641 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29642
29643 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29644 esc sequence on non ANSI terminal.
29645 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29646
29647 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29648 beginning of file.
29649
2270f77b 296502008-07-02 Bean <bean123ch@gmail.com>
29651
29652 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29653 (grub_editenv_SOURCES): New variable.
29654 (pkglib_MODULES): Add loadenv.mod.
29655 (loadenv_mod_SOURCES): New variable.
29656 (loadenv_mod_CFLAGS): Likewise.
29657 (loadenv_mod_LDFLAGS): Likewise.
29658
29659 * include/grub/envblk.h: New file.
29660
29661 * util/envblk.c: New file.
29662
29663 * util/grub-editenv.c: New file.
29664
29665 * commands/loadenv.c: New file.
29666
0e9e51ec 296672008-07-01 Pavel Roskin <proski@gnu.org>
29668
d89b7634 29669 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29670 not unsigned char. This fixes warnings and is consistent with
29671 other tags.
29672
bf1835b1 29673 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29674
8222a04b 29675 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29676
6a42d99d 29677 * term/tparm.c (analyze): Always set *popcount.
29678
10b159d1 29679 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29680 cast to fix a warning.
29681
b8789f6c 29682 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29683 cast to suppress a warning.
29684
29d7e38a 29685 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29686 grub_fshelp_read_file() expects.
29687
f341f669 29688 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29689 write uuid as a 32-bit value in CPU byte order, so declare and
29690 use it as such.
29691
0e9e51ec 29692 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29693 long if the format specifier expects it.
29694 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29695 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29696 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29697 long to fix a warning.
29698 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29699 grub_dprintf() arguments to fix warnings.
29700
3aefa857 297012008-06-30 Pavel Roskin <proski@gnu.org>
29702
56c7668b 29703 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29704 install_bsd_part immediately before core.img is embedded or
29705 modified on disk. This fixes core.img verification if core.img
29706 cannot be embedded.
29707
3aefa857 29708 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29709 core_path to calculate the blocklist.
29710 Patch from Javier Martín <lordhabbit@gmail.com>
29711
5444088d 297122008-06-29 Robert Millan <rmh@aybabtu.com>
29713
29714 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29715 block to disk block.
29716 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29717 Patch from Niels Böhm <bitbucket@arcor.de>
29718
674835c8 297192008-06-29 Robert Millan <rmh@aybabtu.com>
29720
29721 * util/update-grub_lib.in (font_path): Search for fonts in
29722 /boot/grub first, which is more likely to be readable (we aren't
29723 deciding where fonts live, just looking for them).
29724
f527dbc8 297252008-06-26 Pavel Roskin <proski@gnu.org>
29726
6c2d8df6 29727 * util/biosdisk.c (read_device_map): Don't leave dead map
29728 entries for devices failing stat() check.
29729
f527dbc8 29730 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29731 core_path_dev for the core.img path on the target device.
29732
aebe3d13 297332008-06-26 Robert Millan <rmh@aybabtu.com>
29734
29735 * disk/fs_uuid.c: New file.
29736 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29737 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29738 (fs_uuid_mod_LDFLAGS): New variables.
29739 * include/grub/disk.h (grub_disk_dev_id): Add
29740 `GRUB_DISK_DEVICE_UUID_ID'.
29741 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29742 implement iterate().
29743
37aaf354 297442008-06-26 Robert Millan <rmh@aybabtu.com>
29745
29746 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29747 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29748 Linux image includes no initrd.
29749
25ff262a 297502008-06-21 Javier Martín <lordhabbit@gmail.com>
29751
29752 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29753 call to resolve the core image location that effectively appended the
29754 name twice.
29755
76a2bd44 297562008-06-21 Robert Millan <rmh@aybabtu.com>
29757
29758 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29759 call from here ...
29760
29761 * util/grub.d/10_hurd.in: ... to here ...
29762 * util/grub.d/10_linux.in: ... and here.
29763
650e1c79 297642008-06-19 Robert Millan <rmh@aybabtu.com>
29765
fe987087 29766 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 29767 after it has been set by grub_machine_set_prefix().
29768
6ce63911 297692008-06-19 Robert Millan <rmh@aybabtu.com>
29770
29771 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29772 search result when not saving to variable, not the other way around.
29773 When saving to variable, abort iteration as soon as a match is found.
29774
73940cec 297752008-06-19 Robert Millan <rmh@aybabtu.com>
29776
29777 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29778 check for partition that provides /boot/grub. Its logic is flawed,
29779 as it prevents prepare_grub_to_access_device() from being called
29780 multiple times.
29781
3c62a39d 297822008-06-19 Robert Millan <rmh@aybabtu.com>
29783
29784 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29785 "insmod" command directly when abstraction modules are needed,
fe987087 29786 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 29787 since it had already been processed).
29788
47395a42 297892008-06-19 Pavel Roskin <proski@gnu.org>
29790
29791 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29792 changed. This is needed in case GRUB_LIBDIR changes.
29793 * conf/i386-ieee1275.rmk: Likewise.
29794 * conf/i386-linuxbios.rmk: Likewise.
29795 * conf/i386-pc.rmk: Likewise.
29796 * conf/powerpc-ieee1275.rmk: Likewise.
29797
a145ac2d 297982008-06-18 Pavel Roskin <proski@gnu.org>
29799
29800 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29801 kernel_elf_symlist.c to symlist.c for consistency with other
29802 architectures. Update all users.
29803 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29804
7847c51e 298052008-06-18 Robert Millan <rmh@aybabtu.com>
29806
29807 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29808 it in prefix.
29809
29810 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29811 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29812 a RAID device, run setup() for all members independently on whether
29813 LVM abstraction is being used.
29814 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29815 If grub-mkimage has set `*install_dos_part == -2', don't override this
29816 value.
29817 Perform *install_dos_part adjustments independently on whether
29818 we're embedding or not.
29819 Clarify error message when image is too big for embedding.
29820 Remove duplicate *install_dos_part stanza.
29821
b23e5644 298222008-06-17 Robert Millan <rmh@aybabtu.com>
29823
29824 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29825 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29826 variables.
29827 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29828 values in grub_ofconsole_normal_color and
29829 grub_ofconsole_highlight_color (they're not directly related to
29830 background and foreground).
29831 (grub_ofconsole_setcolorstate): Extract background and foreground
29832 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29833
0aac2f79 298342008-06-17 Robert Millan <rmh@aybabtu.com>
29835
29836 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29837 /boot/grub for the check in last commit, not /boot (they could be
29838 different partitions).
29839
3cca7ef3 298402008-06-16 Robert Millan <rmh@aybabtu.com>
29841
29842 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29843 asked to setup access for the same partition that provides /boot,
29844 don't bother using UUIDs since our root already has the value we
29845 want.
29846
347396d8 298472008-06-16 Robert Millan <rmh@aybabtu.com>
29848
29849 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29850 I2O devices.
29851 Patch from Sven Mueller <sven@debian.org>.
29852
991477f8 298532008-06-16 Robert Millan <rmh@aybabtu.com>
29854
29855 * util/update-grub.in: Check for $EUID instead of $UID.
29856 Reported by Vincent Zweije.
29857
d31a32a1 298582008-06-16 Bean <bean123ch@gmail.com>
29859
fe987087 29860 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 29861 (grub_ext2_read_block): Likewise.
29862 (grub_ext2_read_inode): Likewise.
29863 (grub_ext2_mount): Likewise.
29864 (grub_ext2_close): Likewise.
29865 (grub_ext3_get_journal): Removed.
29866
fe987087 29867 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 29868 (grub_reiserfs_read_symlink): Likewise.
29869 (grub_reiserfs_mount): Likewise.
29870 (grub_reiserfs_open): Likewise.
29871 (grub_reiserfs_read): Likewise.
29872 (grub_reiserfs_close): Likewise.
29873 (grub_reiserfs_get_journal): Removed.
29874
29875 * fs/fshelp.c (grub_fshelp_read): Removed.
29876 (grub_fshelp_map_block): Likewise.
29877
29878 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29879 (grub_fshelp_journal): Likewise.
29880 (grub_fshelp_read): Likewise.
29881 (grub_fshelp_map_block): Likewise.
29882
3540a760 298832008-06-16 Pavel Roskin <proski@gnu.org>
29884
29885 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29886 floating point anymore.
29887 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29888
95614c84 298892008-06-15 Pavel Roskin <proski@gnu.org>
29890
29891 * commands/ls.c (grub_ls_list_files): Use integer calculations
29892 for human readable format, avoid floating point use.
29893 * kern/misc.c (grub_ftoa): Remove.
29894 (grub_vsprintf): Remove floating point support.
29895
50465dd6 298962008-06-15 Robert Millan <rmh@aybabtu.com>
29897
fe6b695a 29898 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 29899 devices.
29900 Reported by Max Vozeler.
29901
a9207284 299022008-06-15 Robert Millan <rmh@aybabtu.com>
29903
29904 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29905 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29906 skipped later.
29907 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29908 the beginning of the prefix.
29909
29910 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29911 It is assumed that if we have a memdisk, grub-mkimage has set
29912 grub_prefix to include the "(memdisk)" drive in it.
29913
a7cbd45a 299142008-06-15 Robert Millan <rmh@aybabtu.com>
29915
29916 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29917 Initialize keyboard controller after registering the terminal, so that
29918 grub_printf() can be called from grub_keyboard_controller_init().
29919
21cf716a 299202008-06-15 Robert Millan <rmh@aybabtu.com>
29921
29922 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29923 extent-btree which is written as big endian on disk.
29924 Reported by Alain Greppin <al@chilibi.org>.
29925
23a64d8e 299262008-06-14 Robert Millan <rmh@aybabtu.com>
29927
29928 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29929 * util/i386/pc/grub-install.in (modules): Likewise.
29930
d687651c 299312008-06-13 Pavel Roskin <proski@gnu.org>
29932
29933 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29934
dfe9ddd4 299352008-06-13 Bean <bean123ch@gmail.com>
29936
29937 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29938
29939 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29940
29941 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29942 to indicate sparse block.
29943
16ae7781 299442008-06-12 Pavel Roskin <proski@gnu.org>
29945
e6d1a308 29946 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29947 number, grub_fshelp_read() does it for us.
29948
16ae7781 29949 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29950 linear disk read with journal translation.
29951 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29952 * include/grub/fshelp.h: Declare grub_fshelp_read().
29953
40fd3a2b 299542008-06-09 Pavel Roskin <proski@gnu.org>
29955
29956 * fs/minix.c (grub_minix_mount): Handle error reading
29957 superblock.
29958
f5679726 299592008-06-08 Robert Millan <rmh@aybabtu.com>
29960
29961 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29962 don't append the RAID prefix afterwards.
29963 Reported by Clint Adams.
29964
ce525529 299652008-06-08 Robert Millan <rmh@aybabtu.com>
29966
29967 Based on description from Pavel:
29968 * kern/disk.c (grub_disk_check_range): Rename to ...
29969 (grub_disk_adjust_range): ... this. Add a comment explaining the
29970 tasks performed by this function.
29971
ad4936a0 299722008-06-08 Robert Millan <rmh@aybabtu.com>
29973
29974 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29975 `num_serial' (for consistency with other variables).
29976 (struct grub_ntfs_data): Add `uuid' member.
29977 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29978 (grub_ntfs_uuid): New function.
29979 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29980
dc20b0f9 299812008-06-07 Pavel Roskin <proski@gnu.org>
29982
29983 * util/biosdisk.c (open_device): Revert last change to the
29984 function, it broke installation. The sector needs to be
29985 different dependent on which device is opened.
29986
c5e3cfba 299872008-06-06 Robert Millan <rmh@aybabtu.com>
29988
29989 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29990 rest of GRUB, and breakage doesn't happen if its value were modified.
29991
29992 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29993 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29994 a constant (same value).
29995 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29996 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29997
26a1f8c4 299982008-06-06 Robert Millan <rmh@aybabtu.com>
29999
30000 * util/biosdisk.c (open_device): Do not modify sector offset when
30001 accessing a partition. kern/disk.c already handles this for us.
30002
25d6b327 300032008-06-06 Robert Millan <rmh@aybabtu.com>
30004
30005 * util/grub-emu.c (grub_machine_init): Move code in this function from
30006 here ...
30007 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
30008 segfault in case grub_printf() is called).
30009
30010 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
30011 grub_probe. Update all users not to explicitly add it again.
30012 (grub_device): New variable; contains corresponding device for grubdir.
30013 (fs_module, partmap_module, devabstraction_module): Pass
30014 `--device ${grub_device}' to grub_probe to avoid traversing /dev
30015 every time.
30016
9ece62fb 300172008-06-05 Robert Millan <rmh@aybabtu.com>
30018
30019 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
30020 is found, print it (same layout as with labels).
30021
1ad36d37 300222008-06-04 Robert Millan <rmh@aybabtu.com>
30023
30024 * util/biosdisk.c (get_drive): Rename to ...
30025 (find_grub_drive): ... this. Update all users.
30026
30027 (get_os_disk): Rename to ...
30028 (convert_system_partition_to_system_disk): ... this. Update all users.
30029
30030 (find_drive): Rename to ...
30031 (find_system_device): ... this. Update all users.
30032
e6a30859 300332008-06-04 Robert Millan <rmh@aybabtu.com>
30034
30035 * util/biosdisk.c (get_os_disk): Handle IDA devices.
30036 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30037 (make_device_map): Likewise.
30038
00c108a4 300392008-06-01 Robert Millan <rmh@aybabtu.com>
30040
30041 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
30042 before dereferencing it.
30043
30044 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
30045 union with fat12/fat16-specific ones. Add some new fields, including
30046 `num_serial' for both versions.
30047 (struct grub_fat_data): Add `uuid' member.
30048 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30049 names. Initialize `data->uuid' using `num_serial'.
30050 (grub_fat_uuid): New function.
30051 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30052
30053 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30054 (grub_reiserfs_uuid): New function.
30055 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30056 member.
30057
30058 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30059 (grub_xfs_uuid): New function.
30060 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30061
1385c5bb 300622008-06-01 Robert Millan <rmh@aybabtu.com>
30063
30064 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30065 code that is backward compatible with pre-uuid search command.
30066
c682dfd7 300672008-05-31 Robert Millan <rmh@aybabtu.com>
30068
30069 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30070 floppies after everything else, to ensure floppy drive isn't accessed
30071 unnecessarily (patch from Bean).
30072
b7db5d47 300732008-05-31 Robert Millan <rmh@aybabtu.com>
30074
30075 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30076 not print device names when we were asked to set a variable.
30077
6e037aa9 300782008-05-31 Robert Millan <rmh@aybabtu.com>
30079
30080 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30081 using "cursor-on" and "cursor-off" commands (understood at least by
30082 the Open Firmware flavour on OLPC).
30083
41305bc8 300842008-05-31 Michael Gorven <michael@gorven.za.net>
30085
30086 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30087 on and off sequences.
30088
69ba137e 300892008-05-31 Robert Millan <rmh@aybabtu.com>
30090
30091 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30092 * util/update-grub.in: Likewise.
30093
520ae21b 300942008-05-30 Pavel Roskin <proski@gnu.org>
30095
30096 * util/biosdisk.c (linux_find_partition): Simplify logic and
30097 make the code more universal. Keep special processing for
30098 devfs, but use a simple rule for all other devices. If the
30099 device ends with a number, append 'p' and the partition number.
30100 Otherwise, append only the partition number.
30101
5786569b 301022008-05-30 Robert Millan <rmh@aybabtu.com>
30103
30104 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30105 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30106 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30107 the `root' parameter to Linux.
30108
51500452 301092008-05-30 Robert Millan <rmh@aybabtu.com>
30110
30111 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30112 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30113 --fs_uuid with --fs-uuid.
30114 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30115 all filesystems support them).
30116
811d3878 301172008-05-30 Robert Millan <rmh@aybabtu.com>
30118
30119 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 30120 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 30121
cab63c95 301222008-05-30 Robert Millan <rmh@aybabtu.com>
30123
30124 * util/grub.d/00_header.in: Remove obsolete comment referencing
30125 convert_system_path_to_grub_path().
30126 * util/update-grub.in: Likewise.
30127 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30128 (convert_system_path_to_grub_path): Add a warning message explaining
30129 that this function is deprecated. Rely on is_path_readable_by_grub()
30130 for the readability checks.
30131 (font_path): Use is_path_readable_by_grub() for the readability
30132 check rather than convert_system_path_to_grub_path().
30133
972e2f7a 301342008-05-30 Robert Millan <rmh@aybabtu.com>
30135
30136 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30137 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30138 converting it first.
30139 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30140 grub.cfg for access to font file, and afterwards call it again to set
30141 the root device.
30142
62191274 301432008-05-30 Robert Millan <rmh@aybabtu.com>
30144
30145 * commands/search.c (options): Add --fs_uuid option.
30146 (search_fs_uuid): New function.
30147 (grub_cmd_search): Fix --set argument passing.
30148 Use search_fs_uuid() when requested via --fs_uuid.
30149 (grub_search_init): Update help message.
30150 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30151 and redeclare it as an array of 16-bit words.
30152 (grub_ext2_uuid): New function.
30153 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
30154 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
30155 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
30156 (GRUB_DEVICE_BOOT_UUID): New variables.
30157 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
30158 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
30159 whenever possible.
30160 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
30161 just assume `root' variable has the right value.
30162 * util/grub.d/10_linux.in: Likewise.
30163 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
30164 via PRINT_FS_UUID.
30165 (main): Recognise `-t fs_uuid' argument.
30166
01b73ec8 301672008-05-30 Robert Millan <rmh@aybabtu.com>
30168
30169 * util/biosdisk.c (map): Redefine structure to hold information
30170 about GRUB drive name.
fe6b695a 30171 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 30172 drive names.
30173 (call_hook): Remove.
30174 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30175 member. Assume drive has partitions.
30176 (grub_util_biosdisk_open): Access device names via `.device' struct
30177 member.
30178 (open_device): Likewise.
30179 (find_drive): Likewise.
30180 (read_device_map): Adjust map[] usage to match the new struct
30181 definition. Don't check for duplicates (still possible, but not cheap
30182 anymore).
30183 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30184 (make_device_name): Remove assumption of BIOS-like drive names.
30185
22f16596 301862008-05-30 Pavel Roskin <proski@gnu.org>
30187
30188 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30189 compiling execute.c doesn't need grub_script.tab.h anymore.
30190 (normal/command.c_DEPENDENCIES): Likewise.
30191 (normal/function.c_DEPENDENCIES): Likewise.
30192 * conf/i386-ieee1275.rmk: Likewise.
30193 * conf/i386-linuxbios.rmk: Likewise.
30194 * conf/i386-pc.rmk: Likewise.
30195 * conf/powerpc-ieee1275.rmk: Likewise.
30196 * conf/sparc64-ieee1275.rmk: Likewise.
30197
528ad8f2 301982008-05-29 Pavel Roskin <proski@gnu.org>
30199
d1dff95d 30200 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30201 when scanning metadata for volume group name.
30202
528ad8f2 30203 * include/grub/script.h: Don't include grub_script.tab.h. It's
30204 a generated file, which may only be included from the files with
30205 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30206 use union YYSTYPE, as the later allows forward declaration.
30207 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30208
47248e08 302092008-05-29 Robert Millan <rmh@aybabtu.com>
30210
30211 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30212 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30213 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30214 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30215 scan codes.
30216
ee632529 302172008-05-29 Robert Millan <rmh@aybabtu.com>
30218
30219 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30220 control key combinations.
30221
eee96e08 302222008-05-29 Robert Millan <rmh@aybabtu.com>
30223
30224 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30225 * util/ieee1275/grub-install.in: ... to here.
30226 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30227 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30228 (grub_install_SOURCES): Likewise.
30229
da9a6a94 302302008-05-29 Robert Millan <rmh@aybabtu.com>
30231
30232 * fs/affs.c: Update copyright year.
30233 * fs/ext2.c: Likewise.
30234 * fs/fshelp.c: Likewise.
30235 * fs/hfsplus.c: Likewise.
30236 * fs/ntfs.c: Likewise.
30237 * fs/xfs.c: Likewise.
30238 * include/grub/fshelp.h: Likewise.
30239 * util/grub-mkdevicemap.c: Likewise.
30240
12e65f3a 302412008-05-28 Robert Millan <rmh@aybabtu.com>
30242
30243 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30244 might need to be fatfs to support some firmware implementations
30245 (e.g. OFW or EFI).
30246
23023641 302472008-05-28 Robert Millan <rmh@aybabtu.com>
30248
30249 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30250 devices.
30251 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30252 (make_device_map): Likewise.
30253
887d2619 302542008-05-20 Bean <bean123ch@gmail.com>
30255
30256 * fs/fshelp.c (grub_fshelp_map_block): New function.
30257 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30258 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30259
30260 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30261 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30262 (grub_fshelp_journal): New structure.
30263 (grub_fshelp_map_block): New function prototype.
30264 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30265 (grub_fshelp_map_block): Likewise.
30266
30267 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30268 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30269 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30270 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30271 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30272 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30273 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30274 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30275 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30276 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30277 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30278 (grub_ext2_sblock): New members for journal support.
30279 (grub_ext3_journal_header): New structure.
30280 (grub_ext3_journal_revoke_header): Likewise.
30281 (grub_ext3_journal_block_tag): Likewise.
30282 (grub_ext3_journal_sblock): Likewise.
30283 (grub_fshelp_node): New members logfile and journal.
30284 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30285 grub_fshelp_map_block to get real block number.
30286 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30287 number.
30288 (grub_ext2_read_inode): Likewise.
30289 (grub_ext3_get_journal): New function.
30290 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30291 (grub_ext2_close): Release memory used by journal.
30292
30293 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30294 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30295 (grub_reiserfs_transaction_header): Renamed to
30296 grub_reiserfs_description_block, replace field data with real_blocks.
30297 (grub_reiserfs_commit_block): New structure.
30298 (grub_reiserfs_data): New member journal.
30299 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30300 number.
30301 (grub_reiserfs_read_symlink): Likewise.
30302 (grub_reiserfs_iterate_dir): Likewise.
30303 (grub_reiserfs_open): Likewise.
30304 (grub_reiserfs_read): Likewise.
30305 (grub_reiserfs_get_journal): New function.
30306 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30307 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30308 using grub_reiserfs_get_journal.
30309 (grub_reiserfs_close): Release memory used by journal.
30310
30311 * fs/affs.c (grub_affs_read_block): Change block type to
30312 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30313
30314 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30315
30316 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30317
30318 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30319
30320 * fs/udf.c (grub_udf_read_block): Change block type to
30321 grub_disk_addr_t. Use type cast to avoid warning.
30322
30323 * fs/xfs.c (grub_xfs_read_block): Likewise.
30324
b7c6bed5 303252008-05-16 Christian Franke <franke@computer.org>
30326
30327 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30328 to ensure that break with ESC will always work.
30329 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30330 Remove ESC from keyboard queue.
30331
eedf167f 303322008-05-16 Christian Franke <franke@computer.org>
30333
30334 * util/biosdisk.c: [__CYGWIN__] Add includes.
30335 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30336 (get_os_disk): Move variable declarations to OS specific
30337 parts to avoid warning.
30338 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30339 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30340 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30341 Cygwin.
30342 * util/getroot.c: [__CYGWIN__] Add includes.
30343 (strip_extra_slashes): Fix "/" case.
30344 [__CYGWIN__] (get_win32_path): New function.
30345 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30346 [__CYGWIN__] (find_root_device): Disable.
30347 [__CYGWIN__] (get_bootsec_serial): New function.
30348 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30349 [__linux__] (grub_guess_root_device): Add early returns to simplify
30350 structure.
30351 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30352 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30353 check for Linux only.
30354
a079699e 303552008-05-15 Bean <bean123ch@gmail.com>
30356
30357 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30358 keyboard hang problem in apple's intel mac.
30359
1cf4059a 303602008-05-09 Robert Millan <rmh@aybabtu.com>
30361
30362 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30363 devices.
30364 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30365 (make_device_map): Likewise.
30366 Reported by Aurelien Jarno <aurel32@debian.org>
30367
ed759390 303682008-05-07 Ian Campbell <ijc@hellion.org.uk>
30369
30370 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30371 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30372 (make_device_map): Output entries for xvd type disks.
30373
b56c4eaa 303742008-05-07 Robert Millan <rmh@aybabtu.com>
30375
30376 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30377 devices.
30378 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30379 (make_device_map): Likewise.
30380 Reported by Roland Dreier <rdreier@cisco.com>
30381
7f8866ed 303822008-05-07 Robert Millan <rmh@aybabtu.com>
30383
30384 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30385 grub_strstr() call. Correct a few mistakes in failure path handling.
30386
b0346e0f 303872008-05-06 Robert Millan <rmh@aybabtu.com>
30388
30389 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30390 Do not print a trailing slash (therefore, the root directory is an
30391 empty string).
30392 (convert_system_path_to_grub_path): Do not remove trailing slash
30393 from make_system_path_relative_to_its_root() output.
30394
30395 * util/i386/pc/grub-install.in: Add trailing slash to output from
30396 make_system_path_relative_to_its_root().
30397
6cf12cbd 303982008-05-06 Robert Millan <rmh@aybabtu.com>
30399
30400 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30401 ensures that output lines aren't intermangled with those sent to
30402 stderr (via grub_util_info()).
30403 * util/grub-probe.c (grub_refresh): Likewise.
30404 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30405
0fbb3117 304062008-05-05 Christian Franke <franke@computer.org>
30407
30408 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30409 Add Cygwin device names.
30410 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30411 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30412 (check_device): Return error instead of success on empty name.
30413 (make_device_map): Move label inside linux specific code to
30414 prevent compiler warning.
30415
8124cdb7 304162008-04-30 Robert Millan <rmh@aybabtu.com>
30417
30418 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30419 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30420 first boot option.
30421 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30422
094c01d0 304232008-04-29 Robert Millan <rmh@aybabtu.com>
30424
30425 * docs/grub.cfg: New file (example GRUB configuration).
30426
f4b1fc02 304272008-04-26 Robert Millan <rmh@aybabtu.com>
30428
329ce2a5 30429 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30430 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30431 and `disk/ieee1275/nand.c'.
f4b1fc02 30432
25f16ec1 304332008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 30434
25f16ec1 30435 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30436 i386-linuxbios.
30437
30438 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30439 change the buffer size to 4096 for cdrom device.
30440
30441 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30442 and nand.mod.
30443 (_linux_mod_SOURCES): New variable.
30444 (_linux_mod_CFLAGS): Likewise.
30445 (_linux_mod_LDFLAGS): Likewise.
30446 (linux_mod_SOURCES): Likewise.
30447 (linux_mod_CFLAGS): Likewise.
30448 (linux_mod_LDFLAGS): Likewise.
30449 (nand_mod_SOURCES): Likewise.
30450 (nand_mod_CFLAGS): Likewise.
30451 (nand_mod_LDFLAGS): Likewise.
30452
30453 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30454 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30455 type property. (nand device in olpc don't have this property)
30456
30457 * include/grub/disk.h (grub_disk_dev_id): New macro
30458 GRUB_DISK_DEVICE_NAND_ID.
30459
30460 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30461 function prototype.
30462 (grub_rescue_cmd_initrd): Likewise.
30463
30464 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30465 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30466 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 30467
25f16ec1 30468 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30469 GRUB_MACHINE_IEEE1275 is defined.
30470
30471 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30472 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30473
30474 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30475 on nested function heap_init.
30476 (grub_upper_mem): New variable for i386-ieee1275.
30477 (grub_get_extended_memory): New function for i386-ieee1275.
30478 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30479
30480 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30481 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30482 property.
f19dbdb7 30483
25f16ec1 30484 * loader/i386/ieee1275/linux.c: New file.
30485
30486 * loader/i386/ieee1275/linux_normal.c: New file.
30487
30488 * disk/ieee1275/nand.c: New file.
30489
e89d61e9 304902008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30491
30492 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30493 value.
30494 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30495
602566f6 304962008-04-18 Robert Millan <rmh@aybabtu.com>
30497
30498 Restructures early code path on ieee1275 to unify grub_main() as
30499 the first C function that is executed in every platform.
30500
30501 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30502 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30503 cmain().
30504 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30505 * kern/ieee1275/cmain.c (cmain): Rename to ...
30506 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30507 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30508 at the beginning.
30509
57490c2b 305102008-04-18 Robert Millan <rmh@aybabtu.com>
30511
30512 * util/update-grub.in: Fix syntax error when setting
30513 `GRUB_PRELOAD_MODULES'.
30514 Reported by Stephane Chazelas <stephane@artesyncp.com>
30515
1977517d 305162008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30517
30518 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30519 section into account, newer toolchains generate unique build ids
30520 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 30521 we want build ids to be preserved
1977517d 30522 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30523 far from other sections don't cause the raw binary images grow
30524 size
30525
bfb1f1a2 305262008-04-15 Robert Millan <rmh@aybabtu.com>
30527
30528 * disk/lvm.c: Update copyright year.
30529 * kern/misc.c: Likewise.
30530
01979850 305312008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30532
30533 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 30534 there is no memory left for physical volume name.
01979850 30535
0a1150e2 305362008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30537
30538 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30539 volume name mapping to support bigger than 9 character names properly.
30540
82ead3fe 305412008-04-13 Robert Millan <rmh@aybabtu.com>
30542
30543 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30544 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30545
e54a72f5 305462008-04-13 Christian Franke <franke@computer.org>
30547
30548 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30549 to create a floppy emulation boot CD when non emulation mode
30550 does not work.
30551 Enable Joliet CD filesystem extension.
30552
9fe86034 305532008-04-13 Robert Millan <rmh@aybabtu.com>
30554
30555 * kern/misc.c (grub_strncat): Fix off-by-one error.
30556 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30557
30558 * kern/env.c (grub_env_context_close): Clear current context, not
30559 previous one.
30560 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30561
30562 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30563
7ceeee39 305642008-04-13 Robert Millan <rmh@aybabtu.com>
30565
30566 Improve robustness when handling LVM.
30567
30568 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 30569 (and leave `*p' unmodified).
7ceeee39 30570 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30571 through it.
30572 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30573 iterating through it.
30574 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30575 through it.
fe6b695a 30576 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 30577 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30578 Don't assume `vg->pvs != NULL' when iterating through it.
30579
58cd3d85 305802008-04-13 Robert Millan <rmh@aybabtu.com>
30581
30582 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30583 * genmk.rb (partmap): New variable.
30584 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30585 (#{partmap}): New target rule.
30586 * genpartmaplist.sh: New file.
30587 * Makefile.in (pkglib_DATA): Add partmap.lst.
30588 (partmap.lst): New target rule.
30589 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30590 modules (including all partition maps), instead of preloading them.
30591
78b51059 305922007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30593
30594 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30595 `linux-boot-prober' (if installed) to detect other operating
30596 systems which are installed on the computer and add them to
30597 the boot menu.
30598 * conf/common.rmk: Build and install 30_os-prober.
30599
a91627b4 306002008-04-12 Robert Millan <rmh@aybabtu.com>
30601
30602 * kern/powerpc/ieee1275/init.c: Move from here ...
30603 * kern/ieee1275/init.c: ... to here. Update all users.
30604
30605 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30606 * kern/ieee1275/cmain.c: ... to here. Update all users.
30607
30608 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30609 * kern/ieee1275/openfw.c: ... to here. Update all users.
30610
30611 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30612 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30613
322562ea 306142008-04-10 Pavel Roskin <proski@gnu.org>
30615
30616 * configure.ac: Always use "_cv_" in cache variables for
30617 compatibility with Autoconf 2.62.
30618
a02a73c5 306192008-04-07 Robert Millan <rmh@aybabtu.com>
30620
30621 Revert grub/machine/init.h addition by Pavel (since it breaks on
30622 i386-ieee1275 and others):
30623 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30624 * util/powerpc/ieee1275/misc.c: Likewise.
30625
25c024b1 306262008-04-07 Robert Millan <rmh@aybabtu.com>
30627
30628 * util/grub-probe.c (probe): Improve error message.
30629
3cbd2f98 306302008-04-07 Robert Millan <rmh@aybabtu.com>
30631
30632 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30633 (this prevents the presence of a bogus entry from ruining the whole
30634 thing).
30635
87a297bf 306362008-04-06 Pavel Roskin <proski@gnu.org>
30637
36747a62 30638 * util/biosdisk.c: Include grub/util/biosdisk.h.
30639 * util/grub-fstest.c (execute_command): Make static.
30640 * util/grub-mkdevicemap.c (check_device): Likewise.
30641 * util/i386/pc/misc.c: Include grub/machine/init.h.
30642 * util/powerpc/ieee1275/misc.c: Likewise.
30643 * util/lvm.c: Include grub/util/lvm.h.
30644 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30645 grub/cache.h.
30646 * util/raid.c: Include grub/util/raid.h.
30647 (grub_util_getdiskname): Make static.
30648
87a297bf 30649 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30650 grub_hostfs_fini(), as they are called from grub_init_all() and
30651 grub_fini_all() respectively. This fixes an infinite loop in
30652 grub-fstest due to double registration of hostfs.
30653 Reported by Christian Franke <Christian.Franke@t-online.de>
30654
f6ce7629 306552008-04-05 Pavel Roskin <proski@gnu.org>
30656
30657 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30658 all 8 functions. Otherwise, probe function 0 only.
30659
070e49e4 306602008-04-04 Pavel Roskin <proski@gnu.org>
30661
8b088a4c 30662 * commands/lspci.c (grub_lspci_iter): Print the bus number
30663 correctly.
30664
4f657021 30665 * commands/lspci.c (grub_pci_classes): Fix typos.
30666 (grub_lspci_iter): Don't print func twice. Print vendor ID
30667 before device ID, as it's normally done.
30668
070e49e4 30669 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30670 Fix signedness warnings.
30671 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30672 Likewise.
30673 * util/ieee1275/get_disk_name.c: Include config.h so that
30674 _GNU_SOURCE is defined and getline() is declared. Mark an
30675 unused argument as such. Fix a signedness warning.
30676
ba7328dc 306772008-04-02 Pavel Roskin <proski@gnu.org>
30678
26887f22 30679 * genkernsyms.sh.in: Use more robust assignments for CC and
30680 srcdir. Quote srcdir.
30681 * gensymlist.sh.in: Likewise. Assert at the compile time that
30682 the symbol table is not empty.
30683
ba7328dc 30684 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30685 * fs/cpio.c (grub_cpio_read): Likewise.
30686
0f582c6b 306872008-04-01 Pavel Roskin <proski@gnu.org>
30688
4b6e1995 30689 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30690 * disk/host.c (grub_host_open): Likewise.
30691 * disk/loopback.c (grub_loopback_open): Likewise.
30692 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30693 disk->id as in disk/host.c, not a multi-character constant.
30694
828a2768 30695 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30696 later is obsolete, potentially dangerous and sets a bad example.
30697 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30698 * util/misc.c (grub_util_get_image_size): Likewise.
30699
2bb4fb47 30700 * disk/loopback.c (options): Improve help for "--partitions".
30701
0f582c6b 30702 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30703 options to align them with the short options, e.g. "echo -e".
30704
a33224e0 307052008-03-31 Bean <bean123ch@gmail.com>
30706
30707 * video/reader/png.c (grub_png_data): New member is_16bit and
30708 image_data.
30709 (grub_png_decode_image_header): Detect 16 bit png image.
30710 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30711 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30712 (grub_video_reader_png): Release memory occupied by image_data.
30713
30714 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30715 4096 bytes.
30716 (grub_nfs_mount): Skip the test for sector per cluster.
30717
30718 * include/grub/ntfs.h (MAX_SPC): Removed.
30719
86cb4f54 307202008-03-31 Bean <bean123ch@gmail.com>
30721
30722 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30723 (grub_probe_SOURCES): Add fs/afs.c.
30724 (grub_fstest_SOURCES): Likewise.
30725 (afs_mod_SOURCES): New variable.
30726 (afs_mod_CFLAGS): Likewise.
30727 (afs_mod_LDFLAGS): Likewise.
30728
30729 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30730 (grub_emu_SOURCES): Likewise.
30731
30732 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30733
30734 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30735
30736 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30737
30738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30739
30740 * fs/afs.c: New file.
30741
17c74c21 307422008-03-30 Pavel Roskin <proski@gnu.org>
30743
4cb68e89 30744 * disk/host.c: Include grub/misc.h to fix a warning.
30745 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30746 warnings about implicit declarations.
30747
8790bb04 30748 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30749 variable.
30750 * include/grub/i386/loader.h: Change declaration of
30751 grub_linux_boot() to match what grub_loader_set() expects.
30752 * util/getroot.c (grub_guess_root_device): Return const char* to
30753 fix a warning.
30754 * util/grub-probe.c (probe): Fix a warning about uninitialized
30755 abstraction_name variable.
30756 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30757 second argument as unused to fix a warning.
30758
9a3f3296 30759 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30760 missing grub_error() call.
30761
0ecef90d 30762 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30763 2.60 and newer uses it to define datadir.
30764
0bf6d401 30765 * commands/sleep.c: Fix warning about implicit declaration.
30766 * disk/memdisk.c: Likewise.
30767 * loader/aout.c: Likewise.
30768 * loader/i386/bsd_normal.c: Likewise.
30769 * util/grub-probe.c: Likewise.
30770
7cdacf97 30771 * commands/i386/cpuid.c (has_longmode): Make static.
30772 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30773 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30774
17c74c21 30775 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30776 GDT. This is more robust, as %ds can change.
30777 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30778 calling real_to_prot().
30779 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30780
80a3e68b 307812008-03-28 Pavel Roskin <proski@gnu.org>
30782
30783 * kern/i386/pc/startup.S: Assert that uncompressed functions
30784 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30785 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30786 code, as they push parts of the code (error handlers) beyond
30787 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30788 code as correctness and size.
30789
77bcd272 307902008-03-28 Pavel Roskin <proski@gnu.org>
30791
30792 * kern/i386/pc/startup.S
30793 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30794 data block address to the real mode, keep offset minimal. This
30795 works around a bug in AWARD BIOS on old Athlon systems, which
30796 makes CD detection hang.
30797
c5dfd43b 307982008-03-26 Pavel Roskin <proski@gnu.org>
30799
30800 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30801 const.
30802 * include/grub/normal.h: Add grub_parse_color_name_pair()
30803 declaration.
30804
bf962df2 308052008-03-24 Bean <bean123ch@gmail.com>
30806
30807 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30808 (cd_count): Removed.
30809 (cd_drive): New variable.
30810 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30811 (grub_biosdisk_call_hook): Likewise.
30812 (grub_biosdisk_iterate): Change cdrom detection method.
30813 (grub_biosdisk_open): Replace cd_start with cd_drive.
30814 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30815 detect cdrom device.
30816
30817 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30818 Removed.
30819 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30820 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30821 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30822 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30823 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30824 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30825 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30826 (grub_biosdisk_cdrp): New structure.
30827 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30828
30829 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30830
30831 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30832 device.
30833
30834 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30835 New function.
30836
68e7fc7a 308372008-03-20 Robert Millan <rmh@aybabtu.com>
30838
30839 Remove 2 TiB limit in ata.mod.
30840 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30841 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30842 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30843 grub_uint64_t instead of grub_uint32_t.
30844
38ad2cf5 308452008-03-05 Bean <bean123ch@gmail.com>
30846
30847 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30848 (grub_multiboot): Set boot device.
30849
30850 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30851
2b89344e 308522008-03-02 Bean <bean123ch@gmail.com>
30853
30854 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30855 symlink_buffer.
30856
87a95d1f 308572008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30858
30859 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30860 texinfo.tex.
30861
30862 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30863 modified.
30864
30865 * docs/fdl.texi: New file.
f19dbdb7 30866
87a95d1f 30867 * docs/mdate-sh: New file. Copied from gnulib.
30868 * docs/texinfo.tex: Likewise.
30869
30870 * config.guess: Updated from gnulib.
30871 * install-sh: Likewise.
30872
7dc15d8e 308732008-02-28 Robert Millan <rmh@aybabtu.com>
30874
30875 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30876 (aout_mod_SOURCES): New variable.
30877 (aout_mod_CFLAGS): Likewise.
30878 (aout_mod_LDFLAGS): Likewise.
30879
30880 * conf/i386-ieee1275.rmk: Likewise.
30881
b00ab696 308822008-02-28 Robert Millan <rmh@aybabtu.com>
30883
30884 * util/update-grub.in: Reorganise terminal validity check. Accept
30885 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30886 Based on suggestion by Franklin PIAT.
30887
79ca2d78 308882008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30889
30890 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30891 function.
30892 * util/getroot.c (grub_util_check_block_device): New function that
30893 returns the given argument if it is a block device and returns NULL else.
30894 * util/grub-probe.c (argument_is_device): New variable.
30895 (probe): Promote device_name from a variable to an argument. Receive
30896 device_name from grub_util_check_block_device() if path is NULL and from
30897 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 30898 (options): Introduce new parameter '-d, --device'.
79ca2d78 30899 (main): Add description of the new parameter to the help screen.
30900 Rename path variable to argument. Set argument_is_device if the '-d'
30901 option is given. Pass argument to probe() depending on
30902 argument_is_device.
30903
0d16e571 309042008-02-24 Bean <bean123ch@gmail.com>
30905
30906 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30907 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30908 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30909 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30910 (GRUB_ISO9660_VOLDESC_END): Likewise.
30911 (grub_iso9660_primary_voldesc): New member escape.
30912 (grub_iso9660_data): New member joliet.
30913 (grub_iso9660_convert_string): New function.
30914 (grub_iso9660_mount): Detect joliet extension.
30915 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30916 (grub_iso9660_iso9660_label): Likewise.
30917
30918 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30919 (grub_setup_SOURCES): Add fs/udf.c.
30920 (grub_fstest_SOURCES): Likewise.
30921 (udf_mod_SOURCES): New variable.
30922 (udf_mod_CFLAGS): Likewise.
30923 (udf_mod_LDFLAGS): Likewise.
30924
30925 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30926 (grub_emu_SOURCES): Likewise.
30927
30928 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30929
30930 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30931
30932 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30933
30934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30935
30936 * fs/udf.c: New file.
30937
8a594a17 309382008-02-24 Robert Millan <rmh@aybabtu.com>
30939
30940 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30941 (normal/lexer.c_DEPENDENCIES): New variables.
30942 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30943 (normal/lexer.c_DEPENDENCIES): Likewise.
30944 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30945 (normal/lexer.c_DEPENDENCIES): Likewise.
30946 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30947 (normal/lexer.c_DEPENDENCIES): Likewise.
30948 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30949 (normal/lexer.c_DEPENDENCIES): Likewise.
30950 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30951 (normal/lexer.c_DEPENDENCIES): Likewise.
30952
2dc33c03 309532008-02-23 Robert Millan <rmh@aybabtu.com>
30954
30955 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30956 since they were intended to be in hex. This didn't break previously
30957 because of a bug in gpt_partition_map_iterate() (see below).
30958
30959 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30960 when checking the validity of GPT header.
30961 Remove `partno', since it always provides the same information as `i'.
30962
f6f4cfb0 309632008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30964
30965 * include/grub/efi/time.h: Fix a wrong comment.
30966
79ff665f 309672008-02-19 Pavel Roskin <proski@gnu.org>
30968
30969 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30970 message.
30971
d38e24c2 309722008-02-19 Bean <bean123ch@gmail.com>
30973
30974 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30975 (aout_mod_SOURCES): New variable.
30976 (aout_mod_CFLAGS): Likewise.
30977 (aout_mod_LDFLAGS): Likewise.
30978 (_bsd_mod_SOURCES): New variable.
30979 (_bsd_mod_CFLAGS): Likewise.
30980 (_bsd_mod_LDFLAGS): Likewise.
30981 (bsd_mod_SOURCES): New variable.
30982 (bsd_mod_CFLAGS): Likewise.
30983 (bsd_mod_LDFLAGS): Likewise.
30984
30985 * include/grub/aout.h: New file.
30986
30987 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30988
30989 * include/grub/i386/bsd.h: New file.
30990
30991 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30992 to make it public.
30993
30994 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30995 function is called, so that it's possible to change it inside the hook.
30996 (grub_elf64_load): Likewise.
30997 (grub_elf_file): Don't close the file if elf header is not found.
30998 (grub_elf_close): Close the file if grub_elf_file fails (The new
30999 grub_elf_file won't close it).
31000 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
31001 (grub_elf64_size): Likewise.
31002
31003 * kern/i386/loader.S (grub_unix_real_boot): New function.
31004
31005 * loader/aout.c: New file.
31006
31007 * loader/i386/bsd.c: New file.
31008
31009 * loader/i386/bsd_normal.c: New file.
31010
31011 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
31012
31013 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 31014 can test other formats.
d38e24c2 31015
b93bdb0f 310162008-02-19 Robert Millan <rmh@aybabtu.com>
31017
31018 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
31019 (grub_gpt_partition_type_empty): Redefine with macro from
31020 `<grub/gpt_partition.h>'.
31021 (gpt_partition_map_iterate): Adjust partition type comparison.
31022
31023 Export `entry' as partmap-specific `part.data' struct.
31024 (grub_gpt_header, grub_gpt_partentry): Move from here ...
31025
31026 * include/grub/gpt_partition.h (grub_gpt_header)
31027 (grub_gpt_partentry): ... to here (new file).
31028
31029 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
31030
31031 (grub_gpt_partition_type_bios_boot): New const variable, defined
31032 with macro from `<grub/gpt_partition.h>'.
31033
31034 (setup): Replace `first_start' with `embed_region', which keeps
31035 track of the embed region (and is partmap-agnostic).
31036
31037 Replace find_first_partition_start() with find_usable_region(),
31038 which finds a usable region for embedding using partmap-specific
31039 knowledge (supports PC/MSDOS and GPT).
31040
31041 Fix all assumptions that the embed region start at sector 1, using
31042 `embed_region.start' from now on. Similarly, use `embed_region.end'
31043 rather than `first_start' to calculate available size.
31044
31045 In grub_util_info() message, replace "into after the MBR" with an
31046 indication of the specific sector our embed region starts at.
31047
66cb40f6 310482008-02-19 Robert Millan <rmh@aybabtu.com>
31049
31050 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31051 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31052 `commands/reboot.c'.
31053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31054 (halt_mod_SOURCES): Likewise.
31055 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31056 (halt_mod_SOURCES): Likewise.
31057
b7202015 310582008-02-17 Christian Franke <franke@computer.org>
31059
31060 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31061
32b0fc49 310622008-02-17 Robert Millan <rmh@aybabtu.com>
31063
31064 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31065 set `first_start' to 0 for non-PC/MSDOS partition maps.
31066
aca63502 310672008-02-16 Robert Millan <rmh@aybabtu.com>
31068
31069 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31070 do not assume partition map is PC/MSDOS before performing checks that
31071 are specific to that layout.
31072
0de8be86 310732008-02-13 Robert Millan <rmh@aybabtu.com>
31074
31075 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31076 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31077 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31078
c3db8364 310792008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31080
31081 * configure.ac: Only a cosmetic change on the handling of
31082 -fno-stack-protector.
31083
f714229e 310842008-02-12 Alexandre Boeglin <alex@boeglin.org>
31085
c3db8364 31086 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31087 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31088 reboot.c.
f714229e 31089 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31090 (halt_mod_SOURCES): New variable.
31091 (halt_mod_CFLAGS): Likewise.
31092 (halt_mod_LDFLAGS): Likewise.
31093 (reboot_mod_SOURCES): Likewise.
31094 (reboot_mod_CFLAGS): Likewise.
31095 (reboot_mod_LDFLAGS): Likewise.
31096
c3db8364 31097 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31098 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31099 reboot.c.
f714229e 31100 (halt_mod_SOURCES): Likewise.
31101 (reboot_mod_SOURCES): Likewise.
31102
c3db8364 31103 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31104 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 31105 (reboot_mod_SOURCES): Likewise.
31106
31107 * commands/i386/pc/reboot.c: merge this file ...
31108
31109 * commands/ieee1275/reboot.c: ... and this file ...
31110
31111 * commands/reboot.c: ... to this file.
c3db8364 31112 Add some precompiler directive to include the correct header for
31113 each machine.
f714229e 31114
31115 * commands/ieee1275/halt.c: move this file ...
31116
31117 * commands/halt.c: ... to here.
c3db8364 31118 Add some precompiler directive to include the correct header for
31119 each machine.
f714229e 31120
31121 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31122 (grub_halt): Likewise.
31123
31124 * kern/efi/efi.c (grub_reboot): New function.
31125 (grub_halt): Likewise.
31126
c74493e0 311272008-02-12 Robert Millan <rmh@aybabtu.com>
31128
31129 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31130 /dev (like it is done for /dev/mapper). This doesn't provide support
31131 for EVMS, but at least it is now easy to identify the problem when it
31132 arises.
31133
d0db4b04 311342008-02-11 Robert Millan <rmh@aybabtu.com>
31135
31136 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31137 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31138 comparing it with -1, not 0.
31139
bf748642 311402008-02-10 Robert Millan <rmh@aybabtu.com>
31141
31142 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31143 `disk/lvm.c'.
31144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31145 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31146
31147 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31148 `disk/lvm.c' to the end of the list.
31149 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31150 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31151
b5db202a 311522008-02-10 Robert Millan <rmh@aybabtu.com>
31153
31154 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
31155 grub_print_error() instead. This will let user know why we're entering
31156 rescue mode.
31157 Based on suggestions from Sam Morris.
31158
83abee31 311592008-02-10 Alexandre Boeglin <alex@boeglin.org>
31160
31161 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
31162 on remaining N args, instead of "--" arg N times.
31163
78d5a08b 311642008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
31165
31166 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
31167 (fill_with_default_glyph): Changed to use unknown_glyph for fill
31168 pattern for unknown glyphs.
31169
68807e5f 311702008-02-09 Robert Millan <rmh@aybabtu.com>
31171
31172 * configure.ac: Probe for `help2man'.
31173 * Makefile.in (builddir): New variable.
31174 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31175 or otherwise add a few flags/options to it.
31176 (install-local): For every executable utility or script that is
31177 installed, invoke $(HELP2MAN) to install a manpage based on --help
31178 output.
31179
31180 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31181 that it doesn't prevent --help from working in build tree.
31182
31183 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31184 with `bug-grub@gnu.org'.
31185 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31186 * util/update-grub.in (usage): New function.
31187 Implement proper argument check, with support for --help and --version
31188 (as well as existing -y).
31189
311902008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 31191
31192 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31193 avoid overwriting previous output.
31194 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31195
c1962162 311962008-02-09 Robert Millan <rmh@aybabtu.com>
31197
31198 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31199 drawing the menu.
31200
3dac2e3f 312012008-02-09 Robert Millan <rmh@aybabtu.com>
31202
31203 * commands/sleep.c: New file.
31204 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31205 (sleep_mod_SOURCES): New variable.
31206 (sleep_mod_CFLAGS): Likewise.
31207 (sleep_mod_LDFLAGS): Likewise.
31208
7a634e08 312092008-02-09 Robert Millan <rmh@aybabtu.com>
31210
31211 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31212 situations in which we can deduce the RAID size and the superblock
31213 doesn't match it.
31214
b92f0c18 312152008-02-09 Robert Millan <rmh@aybabtu.com>
31216
31217 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31218 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31219 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31220
31221 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31222 and return a grub_diskmemberlist_t composed of physical array members.
31223 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31224
31225 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31226 prototype.
31227 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31228 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31229 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31230
31231 * util/grub-probe.c (probe): Move partmap probing code from here ...
31232 (probe_partmap): ... to here.
31233 (probe): Use probe_partmap() once for the disk we're probing, and
31234 additionally, when such disk contains a memberlist() struct member,
31235 once for each disk that is contained in the structure returned by
31236 memberlist().
31237
91a4bf68 312382008-02-09 Robert Millan <rmh@aybabtu.com>
31239
31240 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31241 environment variable to 'all' in order to obtain debug output from
31242 non-util/ code.
31243 * util/i386/pc/grub-setup.c (main): Likewise.
31244
a96f9caa 312452008-02-08 Robert Millan <rmh@aybabtu.com>
31246
31247 * disk/raid.c (grub_raid_scan_device): Check for
31248 `array->device[sb.this_disk.number]' rather than for
31249 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 31250 guaranteed to be accessible.
a96f9caa 31251
b37a9222 312522008-02-08 Robert Millan <rmh@aybabtu.com>
31253
31254 * disk/raid.c: Update copyright.
31255 * fs/cpio.c: Likewise.
31256 * include/grub/raid.h: Likewise.
31257 * loader/i386/pc/multiboot.c: Likewise.
31258 * util/hostfs.c: Likewise.
31259
5626aee1 312602008-02-08 Robert Millan <rmh@aybabtu.com>
31261
31262 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31263 to a grub_disk_t array.
31264 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31265 `device[x]'.
31266 (grub_raid_scan_device): Replace `device[x].name' accesses with
31267 `device[x]->name'. Simplify initialization of `array->device[x]'.
31268
554f0187 312692008-02-08 Robert Millan <rmh@aybabtu.com>
31270
31271 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31272 grub_dprintf() calls.
31273 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31274 error message.
31275
1ec8425d 312762008-02-07 Christian Franke <franke@computer.org>
31277
31278 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31279 instead of fseek and ftell to support large files.
31280 (grub_hostfs_read): Likewise.
31281
f2156fda 312822008-02-07 Robert Millan <rmh@aybabtu.com>
31283
31284 Patch from Jeroen Dekkers.
31285 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 31286 failure, since successfully reading all array members might not be
f2156fda 31287 required.
31288
9216e0e7 312892008-02-06 Robert Millan <rmh@aybabtu.com>
31290
31291 * util/grub-probe.c (probe): Simplify partmap probing (with the
31292 assumption that the first word up to the underscore equals to
31293 the module name).
31294
b0dfd29a 312952008-02-06 Christian Franke <franke@computer.org>
31296
31297 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31298 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31299 last block of a cpio or tar stream.
31300 Check for "TRAILER!!!" instead of any empty data
31301 block to detect last block of a cpio stream.
31302 (grub_cpio_dir): Fix constness of variable np.
31303 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31304 cpio or tar trailer is detected. This fixes a crash
31305 on open of a non existing file.
31306
c32865bf 313072008-02-05 Bean <bean123ch@gmail.com>
31308
31309 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31310 address of entry.
31311 (grub_multiboot_load_elf64): Likewise.
31312 (grub_multiboot): Initialize mbi structure.
31313
31314 * util/grub-fstest.c: Don't include unused header file script.h.
31315
fe6b695a 31316 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 31317 of file.
31318 (grub_fstest_SOURCES): Likewise.
31319
409480b7 313202008-02-05 Robert Millan <rmh@aybabtu.com>
31321
31322 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31323 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31324 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31325 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31326
31327 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31328 (translation_table): Replace hardcoded values with macros
31329 provided by `<grub/term.h>'.
31330
31331 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31332 (keyboard_map): Correct/add a few values, with macros provided
31333 by `<grub/term.h>'.
31334 (keyboard_map_shift): Zero values that don't differ from their
31335 `keyboard_map' equivalents.
31336 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31337 Discard the second scan code that is always sent by Caps lock.
31338 Only use `keyboard_map_shift' when it provides a non-zero value,
31339 otherwise fallback to `keyboard_map'.
31340
99fadbaa 313412008-02-04 Bean <bean123ch@gmail.com>
31342
31343 * Makefile.in (enable_grub_fstest): New variable.
31344
31345 * conf/common.rmk (grub_fstest_init.lst): New rule.
31346 (grub_fstest_init.h): Likewise.
31347 (grub_fstest_init.c): Likewise.
31348 (util/grub-fstest.c_DEPENDENCIES): New variable.
31349 (grub_fstest_SOURCES): Likewise.
31350
31351 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31352
31353 * util/grub-fstest.c: New file.
31354
bf567c50 313552008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31356
31357 Make grub-setup handle a separate root device.
f19dbdb7 31358
bf567c50 31359 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31360 so that the root device can be compared with the destination
31361 device.
31362 When embedding the core image, if the root and destination devices
31363 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31364 0xFF.
31365 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 31366
9be6b98b 313672008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31368
31369 Add support for having a grub directory in a different drive. This
31370 is still only the data handling part.
f19dbdb7 31371
9be6b98b 31372 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31373 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31374 (grub_root_drive): New variable.
31375
31376 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31377 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31378 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31379 as it was.
31380
31381 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31382
31383 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31384 macro.
31385 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31386
31387 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31388 is bogus, because PXE booting does not specify any drive
31389 correctly.
31390
31391 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31392 am not sure if this is really correct.
31393
31394 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31395 is always identical to the boot drive when booting from a CD.
31396
31397 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31398 longer.
31399 (root_drive): New variable.
31400 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31401 (setup_sectors): Push %dx right after popping it, because %dh will
31402 be modified later.
31403 (copy_buffer): Restore %dx.
31404
e0ca0677 314052008-02-03 Robert Millan <rmh@aybabtu.com>
31406
31407 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31408 use `cdboot.img' for cdrom images.
31409
3b3f6629 314102008-02-03 Robert Millan <rmh@aybabtu.com>
31411
31412 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31413 only setup gfxterm when `font' command has succeeded.
31414
d42b3672 314152008-02-03 Robert Millan <rmh@aybabtu.com>
31416
31417 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31418 (grub_rescue_cmd_multiboot_loader)
31419 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31420
fa370ea6 314212008-02-03 Pavel Roskin <proski@gnu.org>
31422
e0c5dacb 31423 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 31424 %edx and %esi from stack only after grub_gate_a20() is called.
31425 grub_gate_a20() clobbers %edx.
31426
f2a76e1d 314272008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31428
31429 * configure.ac (AC_INIT): Bumped to 1.96.
31430
31431 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31432 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31433 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31434 video/readers/png.c.
31435
90fd32d1 314362008-02-03 Bean <bean123ch@gmail.com>
9be665dd 31437
31438 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31439 (cdboot_img_SOURCES): New variable.
31440 (cdboot_img_ASFLAGS): New variable.
31441 (cdboot_img_LDFLAGS): New variable.
31442
31443 * boot/i386/pc/cdboot.S: New file.
31444
31445 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31446 (cd_count): Likewise.
31447 (grub_biosdisk_get_drive): Add support for cd device.
31448 (grub_biosdisk_call_hook): Likewise.
31449 (grub_biosdisk_iterate): Likewise.
31450 (grub_biosdisk_open): Likewise.
31451 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31452 (grub_biosdisk_rw): Support reading from cd device.
31453 (GRUB_MOD_INIT): Iterate cd devices.
31454
31455 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31456 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31457 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31458
31459 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31460
4020aa53 314612008-02-02 Robert Millan <rmh@aybabtu.com>
31462
31463 * commands/read.c: New file.
31464 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31465 (read_mod_SOURCES): New variable.
31466 (read_mod_CFLAGS): Likewise.
31467 (read_mod_LDFLAGS): Likewise.
31468
e03a1132 314692008-02-02 Robert Millan <rmh@aybabtu.com>
31470
31471 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31472 determining whether menu has to be displayed.
31473
58c69220 314742008-02-02 Marco Gerards <marco@gnu.org>
31475
31476 * bus/pci.c: New file.
31477
31478 * include/grub/pci.h: Likewise.
31479
31480 * include/grub/i386/pc/pci.h: Likewise.
31481
31482 * commands/lspci.c: Likewise.
31483
31484 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31485 `lspci.mod'.
31486 (pci_mod_SOURCES): New variable.
31487 (pci_mod_CFLAGS): Likewise.
31488 (pci_mod_LDFLAGS): Likewise.
31489 (lspci_mod_SOURCES): Likewise.
31490 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 31491 (lspci_mod_LDFLAGS): Likewise.
58c69220 31492
c004e1b4 314932008-02-02 Bean <bean123ch@gmail.com>
31494
31495 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31496 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31497
31498 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31499 (grub_xfs_btree_node): New structure.
31500 (grub_xfs_btree_root): New structure.
31501 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31502 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31503 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31504 (GRUB_XFS_EXTENT_SIZE): Likewise.
31505 (grub_xfs_read_block): Support btree format type.
31506 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31507 Use directory block as basic unit.
31508
31509 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31510
31511 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31512 __attribute__ ((__regparm__ (1))).
31513
f95562bf 315142008-02-01 Robert Millan <rmh@aybabtu.com>
31515
31516 Correct a mistake in previous commit.
31517
31518 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31519 top.
31520 (normal/command.c_DEPENDENCIES): New variable.
31521
7d31f41f 315222008-02-01 Robert Millan <rmh@aybabtu.com>
31523
31524 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31525 top.
31526 (normal/command.c_DEPENDENCIES): New variable.
31527 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31528 * conf/i386-ieee1275.rmk: Likewise.
31529 * conf/i386-linuxbios.rmk: Likewise.
31530 * conf/i386-pc.rmk: Likewise.
31531 * conf/sparc64-ieee1275.rmk: Likewise.
31532 * conf/powerpc-ieee1275.rmk: Likewise.
31533 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31534
31535 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31536
60b6be74 315372008-02-01 Robert Millan <rmh@aybabtu.com>
31538
31539 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31540 call at beginning of function.
31541
078522ab 315422008-01-31 Pavel Roskin <proski@gnu.org>
31543
31544 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 31545 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31546 (grub_mkrescue_SOURCES): Likewise.
078522ab 31547 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31548
ccaa8a5f 315492008-01-30 Robert Millan <rmh@aybabtu.com>
31550
31551 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31552 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31553 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31554 (grub_probe_SOURCES): ... to here.
31555
31556 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31557 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31558 * conf/i386-ieee1275.rmk: Likewise.
31559 * conf/i386-linuxbios.rmk: Likewise.
31560 * conf/powerpc-ieee1275.rmk: Likewise.
31561
ae5a9cd7 315622008-01-30 Tristan Gingold <gingold@free.fr>
31563
31564 * kern/rescue.c: Silently accept empty lines.
31565
70bc2ef2 315662008-01-29 Bean <bean123ch@gmail.com>
31567
31568 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31569 (real_code_2): Code cleanup and change comment style.
31570 (move_memory): Avoid using 32-bit address mode.
31571
6a4d50ea 315722008-01-29 Bean <bean123ch@gmail.com>
31573
31574 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31575 (png_mod_SOURCES): New variable.
31576 (png_mod_CFLAGS): Likewise.
31577 (png_mod_LDFLAGS): Likewise.
31578
31579 * video/readers/png.c: New file.
31580
11cc30ac 315812008-01-28 Robert Millan <rmh@aybabtu.com>
31582
31583 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31584 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31585 `ifndef GRUB_MOD_GAP' hack.
31586 * util/elf/grub-mkimage.c (add_segments): Likewise.
31587
3abc589f 315882008-01-27 Robert Millan <rmh@aybabtu.com>
31589
31590 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31591 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 31592 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 31593
e1907778 315942008-01-27 Robert Millan <rmh@aybabtu.com>
31595
31596 Get grub-emu to build again (including parallel builds).
31597
31598 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31599 Split into ...
31600 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31601 (normal/execute.c_DEPENDENCIES): ... this, ...
31602 (grub-emu_DEPENDENCIES): ... and this.
31603
31604 * conf/i386-efi.rmk: Likewise.
31605 * conf/i386-linuxbios.rmk: Likewise.
31606 * conf/i386-ieee1275.rmk: Likewise.
31607 * conf/powerpc-ieee1275.rmk: Likewise.
31608 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31609
2216b101 316102008-01-27 Robert Millan <rmh@aybabtu.com>
31611
31612 * NEWS: Add a few items.
31613
f75172d9 316142008-01-27 Robert Millan <rmh@aybabtu.com>
31615
31616 Fix parallel builds with grub-emu. Based on earlier commit for
31617 grub-probe and grub-setup.
31618
31619 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31620 (util/grub-emu.c_DEPENDENCIES): ... this.
31621 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31622 (util/grub-emu.c_DEPENDENCIES): ... this.
31623 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31624 (util/grub-emu.c_DEPENDENCIES): ... this.
31625 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31626 (util/grub-emu.c_DEPENDENCIES): ... this.
31627 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31628 (util/grub-emu.c_DEPENDENCIES): ... this.
31629
3f51de77 316302008-01-27 Pavel Roskin <proski@gnu.org>
31631
31632 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31633 to create a gap between _end and the modules added to the image
31634 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31635 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31636 * util/elf/grub-mkimage.c (add_segments): Likewise.
31637
2033f53e 316382008-01-26 Pavel Roskin <proski@gnu.org>
31639
31640 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31641 just return an error.
31642
22da1f6f 316432008-01-26 Bean <bean123ch@gmail.com>
31644
31645 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31646 (grub_reiserfs_get_item): Save offset of the next item.
31647 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31648
2a9525e6 316492008-01-25 Robert Millan <rmh@aybabtu.com>
31650
31651 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31652 make all filesystem sources appear together (possibly fixing omissions
31653 while at it).
31654 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31655 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31656 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31658
31659 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31660 add `kern/file.c'.
31661 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31662 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31663 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31664 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31665
31666 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31667 (probe): Add a sanity check to make sure of our ability to read
31668 requested files when probing for filesystem type.
31669
31670 * genmk.rb: Update copyright year (2007).
31671
31672 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31673 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31674 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31675 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31676 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31677 : Remove function prototypes.
31678
b95f71b5 316792008-01-25 Robert Millan <rmh@aybabtu.com>
31680
31681 Revert my previous commits (based on wrong assumption of how grub_errno
31682 works).
31683
fe6b695a 31684 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 31685 * kern/file.c (grub_file_open): Likewise.
31686
d08bbb49 316872008-01-24 Pavel Roskin <proski@gnu.org>
31688
31689 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31690 that hang if GRUB tries to setup colors.
31691 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31692 colors for firmwares that don't support it.
31693 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31694 Recognize Open Hack'Ware, set flags to work around its
31695 limitations.
31696
605e36ed 316972008-01-24 Robert Millan <rmh@aybabtu.com>
31698
31699 * kern/file.c (grub_file_open): Do not account previous failures of
31700 unrelated functions when grub_errno is checked for.
31701 Reported by Oleg Strikov.
31702
bac332a1 317032008-01-24 Bean <bean123ch@gmail.com>
31704
31705 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31706 (grub_ufs_sblock): New member volume name.
31707 (grub_ufs_find_file): Fix string copy bug.
31708 (grub_ufs_label): Implement this function properly.
31709
31710 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31711 (grub_hfs_iterate_records): Use the correct file number for extents
31712 and catalog file. Fix problem in next index calculation.
31713 (grub_hfs_find_node): Replace recursive function call with loop.
31714 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31715
15c80c09 317162008-01-23 Robert Millan <rmh@aybabtu.com>
31717
31718 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31719 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31720 (grub_multiboot2_real_boot): New function prototype.
31721
31722 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31723 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31724
31725 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31726 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31727
305338fd 317282008-01-23 Robert Millan <rmh@aybabtu.com>
31729
31730 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31731 #ifdef'ed out grub_printf().
31732
3ea52685 317332008-01-23 Robert Millan <rmh@aybabtu.com>
31734
31735 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31736 grub_dprintf calls, since they make "debug=all" mode unusable.
31737 (grub_console_checkkey): Likewise.
31738
5882ae4b 317392008-01-23 Robert Millan <rmh@aybabtu.com>
31740
31741 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31742 `term/i386/pc/at_keyboard.c'.
31743 (pkglib_MODULES): Add `serial.mod'.
31744 (serial_mod_SOURCES): New variable.
31745 (serial_mod_CFLAGS): Likewise.
31746 (serial_mod_LDFLAGS): Likewise.
31747
31748 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31749 `<grub/powerpc/ieee1275/console.h>'.
31750 (grub_keyboard_controller_init): New function prototype.
31751 (grub_console_checkkey): Likewise.
31752 (grub_console_getkey): Likewise.
31753
31754 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31755 keyboard on i386.
31756
31757 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31758 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31759
06ab5303 317602008-01-23 Robert Millan <rmh@aybabtu.com>
31761
31762 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31763 present, "(memdisk)/boot/grub" becomes the default prefix.
31764
31765 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31766 a memdisk tarball with all the modules. Add --overlay=DIR option that
31767 allows users to overlay additional files into the image.
31768
dbb475a4 317692008-01-23 Robert Millan <rmh@aybabtu.com>
31770
31771 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31772 and `machine/memory.h'.
31773 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31774 (_multiboot_mod_SOURCES): New variable.
31775 (_multiboot_mod_CFLAGS): Likewise.
31776 (_multiboot_mod_LDFLAGS): Likewise.
31777 (multiboot_mod_SOURCES): Likewise.
31778 (multiboot_mod_CFLAGS): Likewise.
31779 (multiboot_mod_LDFLAGS): Likewise.
31780
31781 * include/grub/i386/ieee1275/loader.h: New file.
31782
31783 * include/grub/i386/ieee1275/machine.h: Likewise.
31784
31785 * include/grub/i386/ieee1275/memory.h: Likewise.
31786
31787 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31788 variable declaration.
31789 (grub_os_area_size): Likewise.
31790
31791 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31792 (grub_lower_mem, grub_upper_mem): New variables.
31793 (grub_stop_floppy): New function (just to make
31794 grub_multiboot2_real_boot() happy).
31795
31796 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31797 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31798 (grub_stop): New function.
31799 Include `"../realmode.S"' and `"../loader.S"'.
31800
31801 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31802 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31803
31804 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31805 rely on grub_multiboot2_real_boot() for final boot.
31806
25638629 318072008-01-22 Robert Millan <rmh@aybabtu.com>
31808
31809 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31810 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31811 device that doesn't look like an SD card.
31812 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31813 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31814 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31815 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31816 found.
31817
9dad816d 318182008-01-22 Robert Millan <rmh@aybabtu.com>
31819
31820 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31821 avoid claiming over our own code.
31822
34842f2d 318232008-01-22 Bean <bean123ch@gmail.com>
31824
31825 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31826 (jpeg_mod_SOURCES): New variable.
31827 (jpeg_mod_CFLAGS): Likewise.
31828 (jpeg_mod_LDFLAGS): Likewise.
31829
31830 * video/readers/jpeg.c : New file.
31831
44023a28 318322008-01-22 Bean <bean123ch@gmail.com>
31833
31834 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31835 there are no more items.
31836
bc2d8ac6 318372008-01-21 Robert Millan <rmh@aybabtu.com>
31838
31839 * kern/mm.c (grub_mm_init_region): Improve debug message.
31840
261bd4bc 318412008-01-21 Robert Millan <rmh@aybabtu.com>
31842
31843 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31844 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31845 address.
31846 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31847 a C macro.
31848 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31849 Indicates start of upper memory.
31850 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31851 (generate_image): Abort when image size is big enough to corrupt
31852 upper memory.
31853
31854 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31855 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31856 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31857 instead of hardcoding 0xA0000.
31858 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31859 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31860 instead of hardcoding 0xA0000.
31861
f970b55e 318622008-01-21 Robert Millan <rmh@aybabtu.com>
31863
31864 * disk/memdisk.c (memdisk_size): New variable.
31865 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31866 `memdisk_size'.
31867 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31868 image to dynamic memory.
31869 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31870 `memdisk_size'. Free memdisk block.
31871
1a8b0526 318722008-01-21 Robert Millan <rmh@aybabtu.com>
31873
31874 Fix detection of very small filesystems (like tar).
31875
31876 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31877 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31878 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31879 a problem with this disk).
31880
6e9b4aab 318812008-01-21 Robert Millan <rmh@aybabtu.com>
31882
31883 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31884 on grub_biosdisk_rw_standard() error.
31885
0d8837b2 318862008-01-21 Robert Millan <rmh@aybabtu.com>
31887
31888 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31889 recent changes.
31890 * kern/elf.c: Likewise.
31891 * kern/ieee1275/ieee1275.c: Likewise.
31892 * kern/powerpc/ieee1275/openfw.c: Likewise.
31893 * term/ieee1275/ofconsole.c: Likewise.
31894
ffd36e34 318952008-01-21 Robert Millan <rmh@aybabtu.com>
31896
31897 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31898
3f0093d0 31899 * include/grub/kernel.h (grub_arch_memdisk_addr)
31900 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 31901
3f0093d0 31902 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31903 (grub_arch_memdisk_size): ... to here.
ffd36e34 31904
6c391b21 319052008-01-21 Robert Millan <rmh@aybabtu.com>
31906
31907 Mostly based on bugfix from Bean.
31908
31909 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31910 attribute with hook() parameter.
31911 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31912 declaration.
31913 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31914 attribute with hook() parameter.
31915 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31916 declaration.
31917
55a581dc 319182008-01-21 Robert Millan <rmh@aybabtu.com>
31919
31920 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31921 (pkglib_MODULES): Add `memdisk.mod'.
31922 (memdisk_mod_SOURCES): New variable.
31923 (memdisk_mod_CFLAGS): Likewise.
31924 (memdisk_mod_LDFLAGS): Likewise.
31925
31926 * disk/memdisk.c: New file.
31927
31928 * include/grub/disk.h (grub_disk_dev_id): Add
31929 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31930
31931 * include/grub/i386/pc/kernel.h
31932 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31933 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31934 (grub_kernel_image_size): New variable declaration.
31935 (grub_total_module_size): Likewise.
31936 (grub_memdisk_image_size): Likewise.
31937
31938 * include/grub/i386/pc/memory.h
31939 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31940
31941 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31942 (grub_arch_memdisk_addr): New variable declaration.
31943 (grub_arch_memdisk_size): Likewise.
31944
31945 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31946 (grub_arch_memdisk_size): Likewise.
31947
31948 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31949 (codestart): Replace hardcoded `0x100000' with
31950 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31951
31952 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31953 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31954 not NULL, append the contents of the file it refers to, at the end of
31955 the compressed kernel image. Initialize `grub_memdisk_image_size'
31956 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31957 (options): Add "memdisk"|'m' option.
31958 (main): Parse --memdisk|-m option, and pass user-provided path as
31959 parameter to generate_image().
31960
3d7f54c9 319612008-01-20 Robert Millan <rmh@aybabtu.com>
31962
31963 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31964 grub_dprintf() calls from here ...
31965 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31966
0bf74728 319672008-01-20 Robert Millan <rmh@aybabtu.com>
31968
31969 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31970
31971 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31972 declaration.
31973 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31974 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31975 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 31976 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 31977 property).
31978 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31979 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31980
33bf70a7 319812008-01-19 Robert Millan <rmh@aybabtu.com>
31982
fe6b695a 31983 Get rid of confusing function (superseded by
33bf70a7 31984 `grub_ieee1275_get_integer_property')
31985 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31986 prototype.
31987 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31988 function.
31989 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31990 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 31991 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 31992
e2da7d26 319932008-01-19 Robert Millan <rmh@aybabtu.com>
31994
31995 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31996 command after "shut-down", since implementations differ on which
31997 the command for halt is.
31998
59f1fd8d 319992008-01-19 Robert Millan <rmh@aybabtu.com>
32000
32001 * include/grub/i386/linuxbios/console.h: Add header protection.
32002 (grub_keyboard_controller_init): New function prototype.
32003 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
32004 (KEYBOARD_COMMAND_READ): Likewise.
32005 (KEYBOARD_COMMAND_WRITE): Likewise.
32006 (KEYBOARD_SCANCODE_SET1): Likewise.
32007 (grub_keyboard_controller_write): New function.
32008 (grub_keyboard_controller_read): Likewise.
32009 (grub_keyboard_controller_init): Likewise.
32010
32011 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
32012 (grub_console_init): On coreboot/LinuxBIOS, call
32013 grub_keyboard_controller_init().
32014
5f5a7c15 320152008-01-19 Robert Millan <rmh@aybabtu.com>
32016
32017 PowerPC changes provided by Pavel Roskin.
32018
32019 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
32020 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
32021 don't rely on cmain() doing it.
32022 * kern/i386/ieee1275/startup.S (_start): Store %eax in
32023 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
32024
1210e168 320252008-01-16 Robert Millan <rmh@aybabtu.com>
32026
32027 * include/grub/i386/linuxbios/memory.h
32028 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
32029 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
32030 receive `table_header' as argument. Instead, probe for it in the
32031 known memory ranges where it can be present.
32032 (grub_available_iterate): Do not pass a fixed `table_header' address
32033 to grub_linuxbios_table_iterate().
32034
3d04eab8 320352008-01-15 Robert Millan <rmh@aybabtu.com>
32036
32037 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
32038 * conf/i386-ieee1275.rmk: New file.
32039 * include/grub/i386/ieee1275/console.h: Likewise.
32040 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
32041 * include/grub/i386/ieee1275/kernel.h: Likewise.
32042 * include/grub/i386/ieee1275/time.h: Likewise.
32043 * kern/i386/ieee1275/init.c: Likewise.
32044 * kern/i386/ieee1275/startup.S: Likewise.
32045
d1bc1b73 320462008-01-15 Robert Millan <rmh@aybabtu.com>
32047
32048 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32049 when pointers are 32-bit (but still do set it to one when they are
32050 64-bit).
32051
66a65807 320522008-01-15 Robert Millan <rmh@aybabtu.com>
32053
32054 * include/grub/ieee1275/ieee1275.h
32055 (grub_ieee1275_get_integer_property): New function prototype.
32056
32057 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32058 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 32059 grub_ieee1275_get_property() to handle endianness.
66a65807 32060
32061 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32062 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 32063 where appropriate.
66a65807 32064 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32065 (grub_map): Likewise.
32066 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32067
a83ccafd 320682008-01-15 Bean <bean123ch@gmail.com>
32069
32070 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32071 (grub_script_execute_cmdline): Reset grub_errno.
32072
32073 * normal/main.c (read_config_file): Reset grub_errno.
32074
32075 * normal/parse.y (script_init): New.
32076 (script): Move function and menuentry here.
32077 (delimiter): New.
32078 (command): Add delimiter at the end of command.
32079 (commands): Adjust to match the new command.
32080 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 32081 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 32082 (if): Use the new commands.
32083
32084 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32085
df6ecfc6 320862008-01-15 Robert Millan <rmh@aybabtu.com>
32087
32088 * normal/menu.c (run_menu): Move timeout message from here ...
32089 (print_timeout): ... to here.
32090 (run_menu): Use print_timeout() once during initial draw to print
32091 the whole message, and again in every clock tick to update only
32092 the number of seconds.
32093
87ae25eb 320942008-01-15 Robert Millan <rmh@aybabtu.com>
32095
32096 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32097 actual size of `available' from grub_ieee1275_get_property(), and
32098 restrict parsing to that bound.
32099
47bf09a4 321002008-01-15 Christian Franke <franke@computer.org>
32101
32102 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32103 (argp_program_version): Remove variable.
32104 (argp_program_bug_address): Likewise.
32105 (options): Convert from struct argp_option to struct option.
32106 (struct arguments): Remove.
32107 (parse_opt): Remove.
32108 (usage): New function.
32109 (main): Replace struct args members by simple variables.
32110 Replace argp_parse() by getopt_long().
32111 Add switch to evaluate options.
32112 Add missing "(...)" around root_dev in prefix string.
32113
c86f1469 321142008-01-14 Robert Millan <rmh@aybabtu.com>
32115
32116 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32117 for grub_ieee1275_exit(), in order to improve portability.
32118
e622c559 321192008-01-14 Robert Millan <rmh@aybabtu.com>
32120
32121 * util/grub.d/10_linux.in (prefix): Define.
32122 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32123
44cb1ec8 321242008-01-13 Pavel Roskin <proski@gnu.org>
32125
32126 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32127 grub_errno if no errors have been detected.
32128
1eb8c802 321292008-01-12 Robert Millan <rmh@aybabtu.com>
32130
32131 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32132 (grub_util_get_dev_abstraction): New function prototype.
32133
32134 * util/getroot.c: Include `<grub/util/getroot.h>'
32135 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32136 (grub_util_get_dev_abstraction): ... here (new function).
32137
32138 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32139 `PRINT_ABSTRACTION'.
32140 (probe): Probe for abstraction type when requested.
32141 (main): Understand `--target=abstraction'.
32142
32143 * util/i386/efi/grub-install.in: Add abstraction module to core
32144 image when it is found to be necessary.
32145 * util/i386/pc/grub-install.in: Likewise.
32146 * util/powerpc/ieee1275/grub-install.in: Likewise.
32147
32148 * util/update-grub_lib.in (font_path): Return system path without
32149 converting to GRUB path.
32150 * util/update-grub.in: Convert system path returned by font_path()
32151 to a GRUB path. Use `grub-probe -t abstraction' to determine what
32152 abstraction module is needed for loading fonts (if any). Export
32153 that as `GRUB_PRELOAD_MODULES'.
32154 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
32155 insmod commands).
32156
52bd3de9 321572008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
32158
32159 Remove some unused code from reiserfs.
f19dbdb7 32160
52bd3de9 32161 * fs/reiserfs.c (struct grub_reiserfs_key)
32162 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
32163 (struct grub_reiserfs_node_body): Removed.
32164 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32165 Likewise.
32166 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32167 Likewise.
32168 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32169 Likewise.
32170 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32171 Likewise.
32172 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32173 Likewise.
32174 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32175 Likewise.
32176 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32177 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32178 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32179
2f80039d 321802008-01-10 Robert Millan <rmh@aybabtu.com>
32181
32182 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32183 Determines if a file is garbage left by packaging systems, etc.
32184 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32185 for processing /etc/grub.d scripts.
32186 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32187 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32188 as a condition for processing Linux images.
32189
87888032 321902008-01-10 Pavel Roskin <proski@gnu.org>
32191
32192 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32193 to compile reiserfs.c on PowerPC.
32194
7e54fced 321952008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 32196
32197 * kern/device.c (grub_device_iterate): Do not abort device iteration
32198 when one of the devices cannot be opened.
32199 * kern/disk.c (grub_disk_open): Do not account previous failures of
32200 unrelated functions when grub_errno is checked for.
32201
5aa541e6 322022008-01-08 Robert Millan <rmh@aybabtu.com>
32203
32204 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32205 `! grub_linux_is_bzimage', change order of address comparison to make
32206 it more intuitive, and improve "too big zImage" error message.
32207
7076340d 322082008-01-08 Robert Millan <rmh@aybabtu.com>
32209
32210 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32211 `$(update-grub_DATA)'.
32212 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32213 targets.
32214
9ca70333 322152008-01-07 Robert Millan <rmh@aybabtu.com>
32216
32217 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32218 which instruction is modified by grub-setup during installation
32219 (since it wasn't obvious by only looking at this file).
32220
38ccf575 322212008-01-07 Robert Millan <rmh@aybabtu.com>
32222
32223 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32224 listing actual TODO items.
32225
f5db4291 322262008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32227
868967cf 32228 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32229 correctly.
32230 (grub_reiserfs_get_key_offset): Likewise.
32231 (grub_reiserfs_set_key_offset): Likewise.
32232 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 32233 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 32234
32235 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32236 better to remove the bitfield version completely.
f19dbdb7 32237
868967cf 322382008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32239
f5db4291 32240 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32241 allocated from the heap, due to the fshelp implementation.
32242 (grub_reiserfs_dir): Free NODE, due to the same reason.
32243
492e6d9d 322442008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32245
32246 Mostly from Vincent Pelletier:
f19dbdb7 32247
492e6d9d 32248 * fs/reiserfs.c: New file.
f19dbdb7 32249
492e6d9d 32250 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32251 (reiserfs_mod_SOURCES): New variable.
32252 (reiserfs_mod_CFLAGS): Likewise.
32253 (reiserfs_mod_LDFLAGS): Likewise.
32254
32255 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32256 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32257 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32258 normal/color.c.
32259
9ce3e7c1 322602008-01-06 Robert Millan <rmh@aybabtu.com>
32261
32262 * normal/color.c: Remove `<grub/env.h>'.
32263
f3b58148 322642008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32265
32266 * include/grub/normal.h: Include <grub/env.h>.
32267
7ac3bcfa 322682008-01-05 Robert Millan <rmh@aybabtu.com>
32269
32270 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32271 usage example with `(hd0,1)'.
fb358190 32272 Reported by Samuel Thibault.
7ac3bcfa 32273
c8ee99d7 322742008-01-05 Robert Millan <rmh@aybabtu.com>
32275
32276 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32277 (grub_linux_boot_zimage): Rename to ...
32278 (grub_linux_boot): ... this.
32279 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32280 (grub_linux_boot_zimage): Conditionalize zImage copy.
32281
32282 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32283 (grub_linux_boot_bzimage): Remove prototype.
32284 (grub_linux_boot_zimage): Rename to ...
32285 (grub_linux_boot): ... this.
32286
32287 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32288 (grub_linux_boot): Remove function.
32289
0ece25b1 322902008-01-05 Robert Millan <rmh@aybabtu.com>
32291
32292 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32293 (grub_env_write_color_highlight): Likewise.
32294 (grub_wait_after_message): Likewise.
32295
32296 * normal/color.c: New file.
32297
32298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32299 (normal_mod_DEPENDENCIES): Likewise.
32300
32301 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32302 (normal_mod_DEPENDENCIES): Likewise.
32303
32304 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32305 (normal_mod_DEPENDENCIES): Likewise.
32306
32307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32308 (normal_mod_DEPENDENCIES): Likewise.
32309
32310 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32311 for waiting after a message is printed.
32312 * normal/main.c (read_config_file): Likewise.
32313 (grub_normal_init): Register grub_env_write_color_normal() and
32314 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32315 `color_highlight' variables as global.
32316
32317 * normal/menu.c (grub_wait_after_message): New function.
32318 (grub_color_menu_normal): New variable. Replaces ...
32319 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32320 (grub_color_menu_highlight): New variable. Replaces ...
32321 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32322 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32323 `GRUB_TERM_COLOR_STANDARD'.
32324 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32325 `normal_code' and `highlight_code' to `old_color_normal' and
32326 `old_color_highlight', respectively.
32327 (grub_menu_init_page): Update colors when drawing the menu, based on
32328 `menu_color_normal' and `menu_color_highlight' variables.
32329 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32330 a message is printed.
32331
182dd4e5 323322008-01-05 Robert Millan <rmh@aybabtu.com>
32333
32334 * kern/env.c (grub_env_context_open): Propagate hooks for global
32335 variables to new context.
32336
32337 * kern/main.c (grub_set_root_dev): Export `root' variable.
32338
ddf8f6ad 323392008-01-05 Robert Millan <rmh@aybabtu.com>
32340
32341 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 32342 discs unconditionally, since udev and others have options to provide
ddf8f6ad 32343 them.
32344
d8b43d9b 323452008-01-05 Robert Millan <rmh@aybabtu.com>
32346
32347 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32348
2bff2de3 323492008-01-04 Christian Franke <franke@computer.org>
32350
32351 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32352 of eisa_mmap.
32353
97eab917 323542008-01-03 Pavel Roskin <proski@gnu.org>
32355
32356 * kern/i386/linuxbios/init.c: Put "void" to all function
32357 declarations with no arguments.
32358 * kern/powerpc/ieee1275/init.c: Likewise.
32359 * term/i386/pc/at_keyboard.c: Likewise.
32360 * term/i386/pc/vga_text.c: Likewise.
32361 * util/grub-mkdevicemap.c: Likewise.
32362
b9416d00 323632008-01-02 Robert Millan <rmh@aybabtu.com>
32364
32365 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32366 message when loaded image is out of bounds.
32367 (grub_multiboot_load_elf64): Likewise.
32368
92695df9 323692008-01-02 Pavel Roskin <proski@gnu.org>
32370
32371 * util/grub.d/10_linux.in: Try version without ".old" when
32372 looking for initrd. It's better to use initrd from the newer
32373 kernel of the same version than no initrd at all.
32374
d98d9cad 323752008-01-01 Robert Millan <rmh@aybabtu.com>
32376
32377 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32378
dbfdce36 323792008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32380
f19dbdb7 32381 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 32382 grub_video_get_active_render_target.
32383 (grub_video_adapter): Added unmap_color and get_active_render_target.
32384
f19dbdb7 32385 * video/video.c: Added grub_video_unmap_color and
dbfdce36 32386 grub_video_get_active_render_target.
32387 (grub_video_get_info): Changed method to accept NULL pointer as an
32388 argument to allow detection of active video adapter.
32389
32390 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32391 grub_video_vbe_unmap_color_int.
32392 Added grub_video_vbe_unmap_color and
32393 grub_video_vbe_get_active_render_target.
32394 (grub_video_vbe_adapter): Added unmap_color and
32395 get_active_render_target.
32396
f19dbdb7 32397 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 32398 with grub_video_vbe_unmap_color_int.
32399
32400 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32401 (DEFAULT_NORMAL_COLOR): Likewise.
32402 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32403 (DEFAULT_FG_COLOR): Removed.
32404 (DEFAULT_BG_COLOR): Likewise.
32405 (DEFAULT_CURSOR_COLOR): Changed value.
32406 (grub_virtual_screen): Added standard_color_setting,
32407 normal_color_setting, highlight_color_setting and term_color.
32408 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32409 (bitmap_width): Added.
32410 (bitmap_height): Likewise.
32411 (bitmap): Likewise.
32412 (set_term_color): Likewise.
32413 (grub_virtual_screen_setup): Changed to use new terminal coloring
32414 settings.
32415 (grub_gfxterm_init): Added init for bitmap.
32416 (grub_gfxterm_fini): Added destroy for bitmap.
32417 (redraw_screen_rect): Updated to use background bitmap and new
32418 terminal coloring.
32419 (scroll_up): Added optimization for case when there is no bitmap.
32420 (grub_gfxterm_cls): Fixed to use correct background color.
32421 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32422 coloring.
32423 (grub_virtual_screen_setcolor): Likewise.
32424 (grub_virtual_screen_getcolor): Added.
32425 (grub_gfxterm_background_image_cmd): Likewise.
32426 (grub_video_term): Added setcolor and getcolor.
32427 (MOD_INIT): Added registration of background_image command.
32428 (MOD_TERM): Added unregistration for background_image command.
32429
c3c20931 324302007-12-30 Pavel Roskin <proski@gnu.org>
32431
32432 * loader/multiboot_loader.c: Fix multiboot command
32433 unregistration. Fix all typos in the word "multiboot".
32434
df266716 324352007-12-29 Pavel Roskin <proski@gnu.org>
94239199 32436
32437 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32438 support for initrd names used in Fedora.
32439
fc6e896c 324402007-12-26 Bean <bean123ch@gmail.com>
32441
32442 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32443 (cpio_mod_SOURCES): New variable.
32444 (cpio_mod_CFLAGS): Likewise.
32445 (cpio_mod_LDFLAGS): Likewise.
32446
32447 * fs/cpio.c: New file.
32448
32449 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32450
32451 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32452
32453 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32454
32455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32456
533110ad 324572007-12-25 Robert Millan <rmh@aybabtu.com>
32458
32459 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32460 (grub_getcolor): New function.
32461
32462 * kern/term.c (grub_getcolor): New function.
32463 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32464 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32465 (print_entry): Set normal and highlight colors to
32466 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32467 respectively, before printing and restore them to old
32468 values afterwards.
32469 (grub_menu_init_page): Likewise. Fill an additional colored space
32470 that would otherwise be left blank.
32471
32472 * term/efi/console.c (grub_console_getcolor): New function.
32473 (struct grub_console_term.getcolor): New variable.
32474 * term/i386/pc/console.c (grub_console_getcolor): New function.
32475 (struct grub_console_term.getcolor): New variable.
32476 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32477 (struct grub_console_term.getcolor): New variable.
32478
32479 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32480 (struct grub_console_term.setcolor): Remove variable.
32481 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32482 (struct grub_console_term.setcolor): Remove variable.
32483 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32484 (struct grub_console_term.setcolor): Remove variable.
32485 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32486 (struct grub_console_term.setcolor): Remove variable.
32487
4931827f 324882007-12-25 Robert Millan <rmh@aybabtu.com>
32489
32490 * configure.ac: Search for possible unifont.hex locations, and
32491 define UNIFONT_HEX if found.
32492
32493 * Makefile.in (UNIFONT_HEX): Define variable.
32494 (DATA): Rename to ...
32495 (PKGLIB): ... this. Update all users.
32496 (PKGDATA): New variable.
32497 (pkgdata_IMAGES): Rename to ...
32498 (pkglib_IMAGES): ... this. Update all users.
32499 (pkgdata_MODULES): Rename to ...
32500 (pkglib_MODULES): ... this. Update all users.
32501 (pkgdata_PROGRAMS): Rename to ...
32502 (pkglib_PROGRAMS): ... this. Update all users.
32503 (pkgdata_DATA): Rename to ...
32504 (pkglib_DATA): ... this. Update all users.
32505 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32506 (unicode.pff, ascii.pff): New rules.
32507 (all-local): Add `$(PKGDATA)' dependency.
32508 (install-local): Process `$(PKGDATA)'.
32509
32510 * util/update-grub_lib.in (font_path): Search for *.pff files in
32511 a few more locations, including `${pkgdata}'.
32512
57e57e31 325132007-12-23 Robert Millan <rmh@aybabtu.com>
32514
32515 Patch from Bean <bean123ch@gmail.com>:
32516 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32517 `size'.
32518
4bc72aa9 325192007-12-21 Bean <bean123ch@gmail.com>
32520
32521 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32522 (ntfscomp_mod_SOURCES): New variable.
32523 (ntfscomp_mod_CFLAGS): Likewise.
32524 (ntfscomp_mod_LDFLAGS): Likewise.
32525
32526 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32527 (grub_probe_SOURCES): Likewise.
32528 (grub_emu_SOURCES): Likewise.
32529
32530 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32531 (grub_emu_SOURCES): Likewise.
32532
32533 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32534 (grub_emu_SOURCES): Likewise.
32535
32536 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32537 (grub_emu_SOURCES): Likewise.
32538
32539 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32540 (read_run_list): Renamed to grub_ntfs_read_run_list.
32541 (decomp_nextvcn): Moved to ntfscomp.c.
32542 (decomp_getch): Likewise.
32543 (decomp_get16): Likewise.
32544 (decomp_block): Likewise.
32545 (read_block): Likewise.
32546 (read_data): Partially moved to ntfscomp.c.
32547 (fixup): Change unsigned to grub_uint16_t.
32548 (read_mft): Change unsigned long to grub_uint32_t.
32549 (read_attr): Likewise.
32550 (read_data): Likewise.
32551 (read_run_data): Likewise.
32552 (read_run_list): Likewise.
32553 (read_mft): Likewise.
32554
32555 * fs/ntfscomp.c: New file.
32556
32557 * include/grub/ntfs.h: New file.
32558
af680a87 325592007-12-16 Robert Millan <rmh@aybabtu.com>
32560
32561 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32562 IDE disk check, since Linux is known to support 20 IDE disks.
32563 Reported by Colin Watson.
32564
84be7599 325652007-12-15 Bean <bean123ch@gmail.com>
32566
32567 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32568 (lnxboot_img_SOURCES): New variable.
32569 (lnxboot_img_ASFLAGS): Likewise.
32570 (lnxboot_img_LDFLAGS): Likewise.
32571
32572 * boot/i386/pc/lnxboot.S: New file.
32573
6af9db01 325742007-11-24 Pavel Roskin <proski@gnu.org>
32575
32576 * configure.ac: Test if '--build-id=none' is supported by the
32577 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32578 objcopy to generate incorrect binary files (binutils
32579 2.17.50.0.18-1 as shipped by Fedora 8).
32580 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32581 linking, so that build ID doesn't break the test.
32582
7361cfe6 325832007-11-24 Pavel Roskin <proski@gnu.org>
32584
32585 * include/grub/i386/time.h: use "void" in the argument list
32586 of grub_cpu_idle().
32587 * include/grub/powerpc/time.h: Likewise.
32588 * include/grub/sparc64/time.h: Likewise.
32589
1593e10c 325902007-11-18 Christian Franke <franke@computer.org>
32591
32592 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32593 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32594 This fixes the problem that function keys did not work in grub-emu.
32595
3b8db1a8 325962007-11-18 Christian Franke <franke@computer.org>
32597
32598 * disk/host.c (grub_host_open): Remove attribute unused from
32599 name parameter. Add check for "host". This fixes the problem
32600 that grub-emu does not find partitions.
32601
2e29408d 326022007-11-18 Christian Franke <franke@computer.org>
32603
32604 * util/hostfs.c (is_dir): New function.
32605 (grub_hostfs_dir): Handle missing dirent.d_type case.
32606 (grub_hostfs_read): Add missing fseek().
32607 (grub_hostfs_label): Clear label pointer. This fixes a crash
32608 of grub-emu on "ls (host)".
32609
398cd047 326102007-11-18 Christian Franke <franke@computer.org>
32611
32612 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32613 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32614 to 64 bit boundary by default.
32615
c405c391 326162007-11-18 Bean <bean123ch@gmail.com>
32617
32618 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32619 (hexdump_mod_SOURCES): New variable.
32620 (hexdump_mod_CFLAGS): Likewise.
32621 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 32622
c405c391 32623 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32624
32625 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32626
32627 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32628
32629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32630
32631 * include/grub/hexdump.h: New file.
32632
32633 * commands/hexdump.c: New file.
32634
5cced7fd 326352007-11-10 Robert Millan <rmh@aybabtu.com>
32636
32637 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32638 in grub_outb() calls.
32639 (beep_on): Likewise.
32640
8b714eb0 326412007-11-10 Christian Franke <franke@computer.org>
32642
32643 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32644 (grub_menu_run): Likewise.
32645
ce0f1839 326462007-11-10 Robert Millan <rmh@aybabtu.com>
32647
32648 * include/grub/i386/efi/machine.h: New file.
32649 * include/grub/i386/linuxbios/machine.h: Likewise.
32650 * include/grub/i386/pc/machine.h: Likewise.
32651 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32652 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32653
32654 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32655 (serial_hw_io_addr): New variable.
32656 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32657 instead of `(unsigned short *) 0x400'.
32658
270c237d 326592007-11-10 Bean <bean123ch@gmail.com>
32660
32661 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32662
a87783bf 326632007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32664
32665 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32666 (vga_mod_SOURCES): Added.
32667 (vga_mod_CFLAGS): Likewise.
32668 (vga_mod_LDFLAGS): Likewise.
32669
32670 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32671 grub_outb() calls.
32672 (set_map_mask): Likewise.
32673 (set_read_map): Likewise.
32674 (set_read_address): Likewise.
32675 (vga_font): Removed variable.
32676 (get_vga_glyph): Removed function.
32677 (invalidate_char): Likewise.
32678 (write_char): Changed to use grub_font_get_glyph() for font
32679 information.
32680 (grub_vga_putchar): Likewise.
32681 (grub_vga_getcharwidth): Likewise.
32682
6433b448 326832007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32684
32685 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32686 flags.
32687 (pxeboot_img_LDFLAGS): Likewise.
32688 (diskboot_img_LDFLAGS): Likewise.
32689 (kernel_img_LDFLAGS): Likewise.
32690
49178511 326912007-11-06 Robert Millan <rmh@aybabtu.com>
32692
32693 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32694 in grub_outb() calls.
32695 (serial_hw_init): Likewise.
32696
53b052de 326972007-11-05 Robert Millan <rmh@aybabtu.com>
32698
32699 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32700 spaces. Skip non-regular files.
32701
5ab33bba 327022007-11-05 Robert Millan <rmh@aybabtu.com>
32703
32704 * kern/disk.c (grub_disk_firmware_fini)
32705 (grub_disk_firmware_is_tainted): New variables.
32706
32707 * include/grub/disk.h (grub_disk_firmware_fini)
32708 (grub_disk_firmware_is_tainted): Likewise.
32709
32710 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32711 (grub_disk_biosdisk_fini): ... to here.
32712 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32713 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32714 is set. Register grub_disk_biosdisk_fini() in
32715 `grub_disk_firmware_fini'.
32716
32717 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32718 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32719 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32720 to finish existing firmware disk interface.
32721
32722 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32723 (ata_mod_SOURCES): New variable.
32724 (ata_mod_CFLAGS): Likewise.
32725 (ata_mod_LDFLAGS): Likewise.
32726
0149ab7c 327272007-11-05 Robert Millan <rmh@aybabtu.com>
32728
32729 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32730 (grub_ata_wait): Reimplement using grub_millisleep().
32731
32732 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32733 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32734
be7ac41e 327352007-11-03 Marco Gerards <marco@gnu.org>
32736
32737 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32738 (CRTC_ADDR_PORT): New macro.
32739 (CRTC_DATA_PORT): Likewise.
32740 (CRTC_CURSOR): Likewise.
32741 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32742 (CRTC_CURSOR_ADDR_LOW): Likewise.
32743 (update_cursor): New function.
32744 (grub_console_real_putchar): Call `update_cursor'.
32745 (grub_console_gotoxy): Likewise.
32746 (grub_console_cls): Set the default color when clearing the
32747 screen.
32748 (grub_console_setcursor): Implemented.
32749
bb06ab2e 327502007-11-03 Marco Gerards <marco@gnu.org>
32751
32752 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32753 become activate.
32754 (grub_ata_pio_write): Likewise.
32755
32756 (grub_atapi_identify): Wait after issuing an ATA command.
32757 (grub_atapi_packet): Likewise.
32758 (grub_ata_identify): Likewise.
32759 (grub_ata_readwrite): Likewise.
32760
cf8f780b 327612007-11-03 Marco Gerards <marco@gnu.org>
32762
32763 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32764 (grub_ata_pio_write): Likewise.
32765 (grub_ata_readwrite): Use `grub_error', instead of
32766 returning `grub_errno'.
32767
ed649e54 327682007-11-03 Marco Gerards <marco@gnu.org>
32769
32770 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32771 grub_ata_pio_write once for every single sector, instead of for
32772 multiple sectors.
32773
ca25d8f0 327742007-10-31 Robert Millan <rmh@aybabtu.com>
32775
32776 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32777
32778 * conf/i386-linuxbios.rmk: New file.
32779
32780 * kern/i386/pc/hardware.c: Likewise.
32781 * term/i386/pc/at_keyboard.c: Likewise.
32782 * term/i386/pc/vga_text.c: Likewise.
32783
32784 * include/grub/i386/linuxbios/boot.h: Likewise.
32785 * include/grub/i386/linuxbios/console.h: Likewise.
32786 * include/grub/i386/linuxbios/init.h: Likewise.
32787 * include/grub/i386/linuxbios/kernel.h: Likewise.
32788 * include/grub/i386/linuxbios/loader.h: Likewise.
32789 * include/grub/i386/linuxbios/memory.h: Likewise.
32790 * include/grub/i386/linuxbios/serial.h: Likewise.
32791 * include/grub/i386/linuxbios/time.h: Likewise.
32792
32793 * kern/i386/linuxbios/init.c: Likewise.
32794 * kern/i386/linuxbios/startup.S: Likewise.
32795 * kern/i386/linuxbios/table.c: Likewise.
32796
e911ecc1 327972007-10-31 Marco Gerards <marco@gnu.org>
32798
32799 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32800 (ata_mod_SOURCES): New variable.
32801 (ata_mod_CFLAGS): Likewise.
32802 (ata_mod_LDFLAGS): Likewise.
32803
32804 * disk/ata.c: New file.
32805
32806 * include/grub/disk.h (grub_disk_dev_id): Add
32807 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 32808
7f66d0e0 328092007-10-31 Robert Millan <rmh@aybabtu.com>
32810
32811 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32812 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32813
32814 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32815 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32816
32817 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32818 `<grub/types.h>'.
32819
32820 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32821
5cd7dd46 328222007-10-27 Robert Millan <rmh@aybabtu.com>
32823
3236ca65 32824 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 32825
2ebfc90f 328262007-10-22 Robert Millan <rmh@aybabtu.com>
32827
32828 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32829 `"../realmode.S"'.
32830 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32831
73fcb0f3 328322007-10-22 Robert Millan <rmh@aybabtu.com>
32833
32834 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32835 (pkgdata_MODULES): Add `biosdisk.mod'.
32836 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32837 variables.
32838
32839 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32840 (grub_biosdisk_init): Replace with ...
32841 (GRUB_MOD_INIT(biosdisk)): ... this.
32842 (grub_biosdisk_fini): Replace with ...
32843 (GRUB_MOD_FINI(biosdisk)): ... this.
32844
32845 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32846 (grub_machine_init): Remove call to grub_biosdisk_init().
32847 (grub_machine_fini): Remove call to grub_machine_fini().
32848
32849 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32850
3381d274 328512007-10-22 Robert Millan <rmh@aybabtu.com>
32852
32853 * include/grub/time.h: New file.
32854 * include/grub/i386/time.h: Likewise.
32855 * include/grub/powerpc/time.h: Likewise.
32856 * include/grub/sparc64/time.h: Likewise.
32857
32858 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32859 instances to ...
32860 (KERNEL_MACHINE_TIME_HEADER): ... this.
32861 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32862 instances to ...
32863 (KERNEL_MACHINE_TIME_HEADER): ... this.
32864 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32865 instances to ...
32866 (KERNEL_MACHINE_TIME_HEADER): ... this.
32867
32868 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32869 (grub_millisleep): New function.
32870 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32871 (grub_millisleep): New function.
32872 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32873 Remove `grub/machine/time.h' include.
32874 (grub_millisleep): New function.
32875 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32876 Remove `grub/machine/time.h' include.
32877 (grub_millisleep): New function.
32878
32879 * include/grub/misc.h (grub_div_roundup): New function.
32880
32881 * kern/misc.c: Include `<grub/time.h>'.
32882 (grub_millisleep_generic): New function.
32883
32884 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32885 Add `time.h'.
32886 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32887 Add `time.h'.
32888 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32889 `machine/time.h'. Add `time.h'.
32890 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32891
a39a0312 328922007-10-21 Robert Millan <rmh@aybabtu.com>
32893
32894 * include/grub/misc.h (grub_max): New function.
32895
2aad70e2 328962007-10-21 Robert Millan <rmh@aybabtu.com>
32897
32898 * util/misc.c (grub_util_info): Call fflush() before returning.
32899
54b71c4b 329002007-10-20 Robert Millan <rmh@aybabtu.com>
32901
32902 * genmk.rb (Image): Copy `extra_flags' from here ...
32903 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32904
32905 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32906 to `argc' and `args' arguments.
32907
a979f513 329082007-10-17 Robert Millan <rmh@aybabtu.com>
32909
32910 * kern/i386/loader.S: New file.
32911
32912 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32913 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32914 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32915 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32916 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32917 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32918 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32919 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32920 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32921 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32922 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32923 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32924 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32925 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32926
32927 * kern/i386/realmode.S: New file.
32928
32929 * kern/i386/pc/startup.S (protstack): Moved from here ...
32930 * kern/i386/realmode.S (protstack)... to here.
32931 * kern/i386/pc/startup.S (gdt): Moved from here ...
32932 * kern/i386/realmode.S (gdt)... to here.
32933 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32934 * kern/i386/realmode.S (prot_to_real)... to here.
32935
32936 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32937 `kern/i386/realmode.S'.
32938
825fc8fd 329392007-10-17 Robert Millan <rmh@aybabtu.com>
32940
32941 * include/grub/i386/loader.h: New file.
32942
32943 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32944 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32945 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32946 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32947 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32948 * include/grub/i386/loader.h (grub_linux_prot_size)
32949 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32950 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32951 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32952 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32953
32954 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32955
e179b2f4 329562007-10-15 Robert Millan <rmh@aybabtu.com>
32957
32958 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32959 filesystem when dev->disk is unset.
32960 Do probe for filesystem even when dev->disk->has_partitions is set.
32961 In case a filesystem is found, always report it.
32962 In case it isn't, if dev->disk->has_partitions is set, report that
32963 a partition table was found instead of reporting that no filesystem
32964 could be identified.
32965
5db82af6 329662007-10-12 Robert Millan <rmh@aybabtu.com>
32967
32968 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32969 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32970
68f6ac74 32971 * include/grub/types.h (grub_host_to_target16): New macro.
32972 (grub_host_to_target32): Likewise.
32973 (grub_host_to_target64): Likewise.
32974 (grub_target_to_host16): Likewise.
32975 (grub_target_to_host32): Likewise.
32976 (grub_target_to_host64): Likewise.
5db82af6 32977
32978 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32979 Renamed from to ...
32980 (GRUB_MOD_ALIGN): ...this. Update all users.
32981
68f6ac74 32982 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32983 grub_host_to_target32.
32984 Replace grub_be_to_cpu32 with grub_target_to_host32.
32985 (load_modules): Likewise.
32986 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32987 Replace grub_be_to_cpu32 with grub_target_to_host32.
32988 Replace grub_cpu_to_be16 with grub_host_to_target16.
32989 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 32990
3cf497cc 329912007-10-12 Robert Millan <rmh@aybabtu.com>
32992
32993 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32994 * util/elf/grub-mkimage.c: ... here.
32995
32996 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32997 `util/powerpc/ieee1275/grub-mkimage.c'.
32998
c8cc3692 329992007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 33000
c8cc3692 33001 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
33002 and make it easier to figure out.
33003 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
33004 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
33005 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
33006 leave us with less than HEAP_MIN_SIZE total heap.
33007 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 33008
5c58b791 330092007-10-03 Robert Millan <rmh@aybabtu.com>
33010
33011 * include/grub/i386/io.h: New file.
33012 * commands/i386/pc/play.c (inb): Removed.
33013 (outb): Removed.
33014 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33015 with grub_outb().
afcd2ef8 33016 * term/i386/pc/serial.c (inb): Removed.
33017 (outb): Removed.
33018 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33019 with grub_outb().
33020 * term/i386/pc/vga.c (inb): Removed.
33021 (outb): Removed.
33022 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33023 with grub_outb().
5c58b791 33024
1a477ed6 330252007-10-02 Robert Millan <rmh@aybabtu.com>
33026
33027 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
33028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33029 Reported by Marcin Kurek.
33030
6b5d80fa 330312007-09-07 Robert Millan <rmh@aybabtu.com>
33032
33033 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
33034 SmartFirmware version updates (as released by Sven Luther), and avoid
33035 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
33036 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
33037 known broken.
33038
5618afbf 330392007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33040
33041 From Hitoshi Ozeki:
33042 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
33043 when merging two regions.
33044
6139dcd9 330452007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33046
508e39ee 33047 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
33048 * normal/completion.c (grub_normal_do_completion): Likewise.
33049 Reported by Hitoshi Ozeki.
33050
330512007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33052
6139dcd9 33053 Do not use devices at boot in chainloading.
f19dbdb7 33054
6139dcd9 33055 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33056 (boot_part_addr): Likewise.
33057 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33058 with BOOT_DRIVE and BOOT_PART_ADDR.
33059 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33060 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33061
38da6516 330622007-08-29 Robert Millan <rmh@aybabtu.com>
33063
33064 Patch from Simon Peter <dn.tlp@gmx.net>:
33065 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33066 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33067 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33068 util/i386/pc/grub-setup.c_DEPENDENCIES.
33069 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33070 util/grub-probe.c_DEPENDENCIES.
33071 * conf/powerpc-ieee1275.rmk: Likewise.
33072
29d0928c 330732007-08-28 Robert Millan <rmh@aybabtu.com>
33074
33075 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33076 to tell grub-mkdevicemap how to name devices.
33077 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33078 feature).
33079
33080 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33081 util/i386/get_disk_name.c.
33082 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33083 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33084 util/ieee1275/get_disk_name.c.
33085
33086 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33087
33088 * DISTLIST: Add util/i386/get_disk_name.c and
33089 util/ieee1275/get_disk_name.c.
33090
33091 * util/grub-mkdevicemap.c: Replace device naming logic with
33092 grub_util_get_disk_name() calls.
33093
5a0d3cca 330942007-08-20 Robert Millan <rmh@aybabtu.com>
33095
33096 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33097 (so that it works for both plural and singular quantities).
33098
8b72db2f 330992007-08-05 Robert Millan <rmh@aybabtu.com>
33100
33101 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33102 so that [xz] isn't taken into account when determining order.
33103
352466bf 331042007-08-02 Marco Gerards <marco@gnu.org>
33105
33106 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33107 `include/multiboot2.h', `include/grub/elfload.h',
33108 `include/multiboot.h', `include/grub/multiboot.h',
33109 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33110 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33111 `kern/elf.c', `loader/multiboot_loader.c',
33112 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33113 `loader/i386/pc/multiboot2.c',
33114 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33115 `util/i386/pc/grub-mkrescue.in'. Remove
33116 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33117 `include/grub/i386/pc/util/biosdisk.h' and
33118 `include/grub/powerpc/ieee1275/multiboot.h'.
33119
8f096014 331202007-08-02 Bean <bean123ch@gmail.com>
33121
33122 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33123 (ntfs_mod_SOURCES): New variable.
33124 (ntfs_mod_CFLAGS): Likewise.
33125 (ntfs_mod_LDFLAGS): Likewise.
33126
33127 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33128 (grub_probe_SOURCES): Likewise.
33129 (grub_emu_SOURCES): Likewise.
33130
33131 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33132 (grub_emu_SOURCES): Likewise.
33133
33134 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33135 (grub_emu_SOURCES): Likewise.
f19dbdb7 33136
8f096014 33137 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33138
33139 * fs/ntfs.c: New file.
33140
9959f7db 331412007-08-02 Bean <bean123ch@gmail.com>
33142
33143 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33144
33145 * file.h (grub_file): Likewise.
33146
33147 * fshelp.h (grub_fshelp_read_file): Likewise.
33148
33149 * util/i386/pc/grub-setup.c (setup): Likewise.
33150 (save_first_sector): Likewise.
33151 (save_blocklists): Likewise.
f19dbdb7 33152
9959f7db 33153 * fs/affs.c (grub_affs_read_file): Likewise.
33154
33155 * fs/ext2.c (grub_ext2_read_file): Likewise.
33156
33157 * fs/fat.c (grub_fat_read_data): Likewise.
33158
33159 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
33160
33161 * fs/hfs.c (grub_hfs_read_file): Likewise.
33162
33163 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33164
33165 * fs/jfs.c (grub_jfs_read_file): Likewise.
33166
33167 * fs/minix.c (grub_minix_read_file): Likewise.
33168
33169 * fs/sfs.c (grub_sfs_read_file): Likewise.
33170
33171 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 33172
9959f7db 33173 * fs/xfs.c (grub_xfs_read_file): Likewise.
33174
33175 * command/blocklist.c (read_blocklist): Likewise.
33176 (print_blocklist): Likewise.
33177
0a203f83 331782007-08-02 Marco Gerards <marco@gnu.org>
33179
33180 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33181 `util/hostfs.c'.
33182
33183 * disk/host.c: New file.
33184
33185 * util/hostfs.c: Likewise.
33186
33187 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33188 return `GRUB_ERR_BAD_FS'.
33189 * fs/sfs.c (grub_sfs_mount): Likewise.
33190 * fs/xfs.c (grub_xfs_mount): Likewise.
33191
33192 * include/grub/disk.h (enum grub_disk_dev_id): Add
33193 `GRUB_DISK_DEVICE_HOST_ID'.
33194
33195 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33196
e5dfe777 331972007-07-24 Jerone Young <jerone@gmail.com>
33198
f19dbdb7 33199 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 33200 modules for compilation.
33201 * conf/powerpc-ieee1275.rmk: Likewise.
33202
33203 * include/multiboot.h: Move multiboot definitions to one file. Rename
33204 many definitions to not get grub specific.
33205 * include/multiboot2.h: Create header with multiboot 2 definitions.
33206 * include/grub/multiboot.h: Header for grub specific function
33207 prototypes and definitions.
33208 * include/grub/multiboot2.h: Likewise.
33209 * include/grub/multiboot_loader.h: Likewise.
33210 * include/grub/i386/pc/multiboot.h: Removed.
33211 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33212
33213 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33214 and 2 to allow for one multiboot and module commands.
33215 * loader/multiboot2.c: Add multiboot2 functionality.
33216 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33217 and definition names.
33218 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33219 2 functions.
33220 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33221 ieee1275 specific multiboot2 code.
33222
33223 * kern/i386/pc/startup.S: Change headers and definition names for
33224 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33225
daf0f0ba 332262007-07-22 Robert Millan <rmh@aybabtu.com>
33227
33228 * geninitheader.sh: Process file specified in first parameter rather
33229 than hardcoding grub_modules_init.lst.
fe6b695a 33230 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 33231 than hardcoding grub_modules_init.h.
33232
33233 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33234 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33235 grub_probe_init.[ch] and grub_setup_init.[ch].
33236
33237 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33238 grub_modules_init.h with grub_emu_init.h.
33239 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33240 grub_probe_init.[ch] files.
33241 * conf/i386-efi.rmk: Likewise.
33242 * conf/i386-pc.rmk: Likewise.
33243 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33244 grub_setup_init.[ch] files.
33245
33246 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33247 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33248 to initialize modules rather than a list of hardcoded functions.
33249 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33250 grub_init_all() to initialize modules rather than a list of hardcoded
33251 functions.
33252
54cdc1cc 332532007-07-22 Robert Millan <rmh@aybabtu.com>
33254
33255 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33256 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33257
ad0686cc 332582007-07-22 Robert Millan <rmh@aybabtu.com>
33259
33260 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33261 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33262 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33263 flag when running on SmartFirmware.
33264 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33265 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33266 was set.
33267
33268 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33269 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33270 rather than decreasing it.
33271
33272 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33273 there's not enough space to do it, fail in the same way as when it
33274 can't be done because there are no partitions.
33275
33276 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33277 when nvsetenv failed.
33278
969c02ec 332792007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33280
33281 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33282 because this rule is automatically generated.
33283 (grub-mkrescue): Removed for the same reason as above.
33284
5a79f472 332852007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33286
33287 Migrate to GNU General Public License Version 3.
f19dbdb7 33288
5a79f472 33289 * COPYING: Replaced with the plain text version of GPLv3.
33290
33291 * config.guess: Updated from gnulib.
33292 * config.sub: Likewise.
33293
33294 * geninit.sh: Output a GPLv3 copyright notice.
33295 * geninitheader.sh: Likewise.
33296 * genmodsrc.sh: Likewise.
33297 * gensymlist.sh.in: Likewise.
33298
33299 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33300 * boot/i386/pc/diskboot.S: Likewise.
33301 * boot/i386/pc/pxeboot.S: Likewise.
33302 * commands/blocklist.c: Likewise.
33303 * commands/boot.c: Likewise.
33304 * commands/cat.c: Likewise.
33305 * commands/cmp.c: Likewise.
33306 * commands/configfile.c: Likewise.
33307 * commands/echo.c: Likewise.
33308 * commands/help.c: Likewise.
33309 * commands/ls.c: Likewise.
33310 * commands/search.c: Likewise.
33311 * commands/terminal.c: Likewise.
33312 * commands/test.c: Likewise.
33313 * commands/videotest.c: Likewise.
33314 * commands/i386/cpuid.c: Likewise.
33315 * commands/i386/pc/halt.c: Likewise.
33316 * commands/i386/pc/play.c: Likewise.
33317 * commands/i386/pc/reboot.c: Likewise.
33318 * commands/i386/pc/vbeinfo.c: Likewise.
33319 * commands/i386/pc/vbetest.c: Likewise.
33320 * commands/ieee1275/halt.c: Likewise.
33321 * commands/ieee1275/reboot.c: Likewise.
33322 * commands/ieee1275/suspend.c: Likewise.
33323 * disk/loopback.c: Likewise.
33324 * disk/lvm.c: Likewise.
33325 * disk/raid.c: Likewise.
33326 * disk/efi/efidisk.c: Likewise.
33327 * disk/i386/pc/biosdisk.c: Likewise.
33328 * disk/ieee1275/ofdisk.c: Likewise.
33329 * font/manager.c: Likewise.
33330 * fs/affs.c: Likewise.
33331 * fs/ext2.c: Likewise.
33332 * fs/fat.c: Likewise.
33333 * fs/fshelp.c: Likewise.
33334 * fs/hfs.c: Likewise.
33335 * fs/hfsplus.c: Likewise.
33336 * fs/iso9660.c: Likewise.
33337 * fs/jfs.c: Likewise.
33338 * fs/minix.c: Likewise.
33339 * fs/sfs.c: Likewise.
33340 * fs/ufs.c: Likewise.
33341 * fs/xfs.c: Likewise.
33342 * hello/hello.c: Likewise.
33343 * include/grub/acorn_filecore.h: Likewise.
33344 * include/grub/arg.h: Likewise.
33345 * include/grub/bitmap.h: Likewise.
33346 * include/grub/boot.h: Likewise.
33347 * include/grub/cache.h: Likewise.
33348 * include/grub/device.h: Likewise.
33349 * include/grub/disk.h: Likewise.
33350 * include/grub/dl.h: Likewise.
33351 * include/grub/elfload.h: Likewise.
33352 * include/grub/env.h: Likewise.
33353 * include/grub/err.h: Likewise.
33354 * include/grub/file.h: Likewise.
33355 * include/grub/font.h: Likewise.
33356 * include/grub/fs.h: Likewise.
33357 * include/grub/fshelp.h: Likewise.
33358 * include/grub/gzio.h: Likewise.
33359 * include/grub/hfs.h: Likewise.
33360 * include/grub/kernel.h: Likewise.
33361 * include/grub/loader.h: Likewise.
33362 * include/grub/lvm.h: Likewise.
33363 * include/grub/misc.h: Likewise.
33364 * include/grub/mm.h: Likewise.
33365 * include/grub/net.h: Likewise.
33366 * include/grub/normal.h: Likewise.
33367 * include/grub/parser.h: Likewise.
33368 * include/grub/partition.h: Likewise.
33369 * include/grub/pc_partition.h: Likewise.
33370 * include/grub/raid.h: Likewise.
33371 * include/grub/rescue.h: Likewise.
33372 * include/grub/script.h: Likewise.
33373 * include/grub/setjmp.h: Likewise.
33374 * include/grub/symbol.h: Likewise.
33375 * include/grub/term.h: Likewise.
33376 * include/grub/terminfo.h: Likewise.
33377 * include/grub/tparm.h: Likewise.
33378 * include/grub/types.h: Likewise.
33379 * include/grub/video.h: Likewise.
33380 * include/grub/efi/api.h: Likewise.
33381 * include/grub/efi/chainloader.h: Likewise.
33382 * include/grub/efi/console.h: Likewise.
33383 * include/grub/efi/console_control.h: Likewise.
33384 * include/grub/efi/disk.h: Likewise.
33385 * include/grub/efi/efi.h: Likewise.
33386 * include/grub/efi/pe32.h: Likewise.
33387 * include/grub/efi/time.h: Likewise.
33388 * include/grub/i386/linux.h: Likewise.
33389 * include/grub/i386/setjmp.h: Likewise.
33390 * include/grub/i386/types.h: Likewise.
33391 * include/grub/i386/efi/kernel.h: Likewise.
33392 * include/grub/i386/efi/loader.h: Likewise.
33393 * include/grub/i386/efi/time.h: Likewise.
33394 * include/grub/i386/pc/biosdisk.h: Likewise.
33395 * include/grub/i386/pc/boot.h: Likewise.
33396 * include/grub/i386/pc/chainloader.h: Likewise.
33397 * include/grub/i386/pc/console.h: Likewise.
33398 * include/grub/i386/pc/init.h: Likewise.
33399 * include/grub/i386/pc/kernel.h: Likewise.
33400 * include/grub/i386/pc/loader.h: Likewise.
33401 * include/grub/i386/pc/memory.h: Likewise.
33402 * include/grub/i386/pc/multiboot.h: Likewise.
33403 * include/grub/i386/pc/serial.h: Likewise.
33404 * include/grub/i386/pc/time.h: Likewise.
33405 * include/grub/i386/pc/vbe.h: Likewise.
33406 * include/grub/i386/pc/vbeblit.h: Likewise.
33407 * include/grub/i386/pc/vbefill.h: Likewise.
33408 * include/grub/i386/pc/vbeutil.h: Likewise.
33409 * include/grub/i386/pc/vga.h: Likewise.
33410 * include/grub/ieee1275/ieee1275.h: Likewise.
33411 * include/grub/ieee1275/ofdisk.h: Likewise.
33412 * include/grub/powerpc/libgcc.h: Likewise.
33413 * include/grub/powerpc/setjmp.h: Likewise.
33414 * include/grub/powerpc/types.h: Likewise.
33415 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33416 * include/grub/powerpc/ieee1275/console.h: Likewise.
33417 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33418 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33419 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33420 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33421 * include/grub/powerpc/ieee1275/time.h: Likewise.
33422 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33423 * include/grub/sparc64/libgcc.h: Likewise.
33424 * include/grub/sparc64/setjmp.h: Likewise.
33425 * include/grub/sparc64/types.h: Likewise.
33426 * include/grub/sparc64/ieee1275/console.h: Likewise.
33427 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33428 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33429 * include/grub/sparc64/ieee1275/time.h: Likewise.
33430 * include/grub/util/biosdisk.h: Likewise.
33431 * include/grub/util/getroot.h: Likewise.
33432 * include/grub/util/lvm.h: Likewise.
33433 * include/grub/util/misc.h: Likewise.
33434 * include/grub/util/raid.h: Likewise.
33435 * include/grub/util/resolve.h: Likewise.
33436 * io/gzio.c: Likewise.
33437 * kern/device.c: Likewise.
33438 * kern/disk.c: Likewise.
33439 * kern/dl.c: Likewise.
33440 * kern/elf.c: Likewise.
33441 * kern/env.c: Likewise.
33442 * kern/err.c: Likewise.
33443 * kern/file.c: Likewise.
33444 * kern/fs.c: Likewise.
33445 * kern/loader.c: Likewise.
33446 * kern/main.c: Likewise.
33447 * kern/misc.c: Likewise.
33448 * kern/mm.c: Likewise.
33449 * kern/parser.c: Likewise.
33450 * kern/partition.c: Likewise.
33451 * kern/rescue.c: Likewise.
33452 * kern/term.c: Likewise.
33453 * kern/efi/efi.c: Likewise.
33454 * kern/efi/init.c: Likewise.
33455 * kern/efi/mm.c: Likewise.
33456 * kern/i386/dl.c: Likewise.
33457 * kern/i386/efi/init.c: Likewise.
33458 * kern/i386/efi/startup.S: Likewise.
33459 * kern/i386/pc/init.c: Likewise.
33460 * kern/i386/pc/lzo1x.S: Likewise.
33461 * kern/i386/pc/startup.S: Likewise.
33462 * kern/ieee1275/ieee1275.c: Likewise.
33463 * kern/powerpc/cache.S: Likewise.
33464 * kern/powerpc/dl.c: Likewise.
33465 * kern/powerpc/ieee1275/cmain.c: Likewise.
33466 * kern/powerpc/ieee1275/crt0.S: Likewise.
33467 * kern/powerpc/ieee1275/init.c: Likewise.
33468 * kern/powerpc/ieee1275/openfw.c: Likewise.
33469 * kern/sparc64/cache.S: Likewise.
33470 * kern/sparc64/dl.c: Likewise.
33471 * kern/sparc64/ieee1275/init.c: Likewise.
33472 * kern/sparc64/ieee1275/openfw.c: Likewise.
33473 * loader/efi/chainloader.c: Likewise.
33474 * loader/efi/chainloader_normal.c: Likewise.
33475 * loader/i386/efi/linux.c: Likewise.
33476 * loader/i386/efi/linux_normal.c: Likewise.
33477 * loader/i386/pc/chainloader.c: Likewise.
33478 * loader/i386/pc/chainloader_normal.c: Likewise.
33479 * loader/i386/pc/linux.c: Likewise.
33480 * loader/i386/pc/linux_normal.c: Likewise.
33481 * loader/i386/pc/multiboot.c: Likewise.
33482 * loader/i386/pc/multiboot_normal.c: Likewise.
33483 * loader/powerpc/ieee1275/linux.c: Likewise.
33484 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33485 * normal/arg.c: Likewise.
33486 * normal/cmdline.c: Likewise.
33487 * normal/command.c: Likewise.
33488 * normal/completion.c: Likewise.
33489 * normal/execute.c: Likewise.
33490 * normal/function.c: Likewise.
33491 * normal/lexer.c: Likewise.
33492 * normal/main.c: Likewise.
33493 * normal/menu.c: Likewise.
33494 * normal/menu_entry.c: Likewise.
33495 * normal/misc.c: Likewise.
33496 * normal/parser.y: Likewise.
33497 * normal/script.c: Likewise.
33498 * normal/i386/setjmp.S: Likewise.
33499 * normal/powerpc/setjmp.S: Likewise.
33500 * normal/sparc64/setjmp.S: Likewise.
33501 * partmap/acorn.c: Likewise.
33502 * partmap/amiga.c: Likewise.
33503 * partmap/apple.c: Likewise.
33504 * partmap/gpt.c: Likewise.
33505 * partmap/pc.c: Likewise.
33506 * partmap/sun.c: Likewise.
33507 * term/gfxterm.c: Likewise.
33508 * term/terminfo.c: Likewise.
33509 * term/efi/console.c: Likewise.
33510 * term/i386/pc/console.c: Likewise.
33511 * term/i386/pc/serial.c: Likewise.
33512 * term/i386/pc/vesafb.c: Likewise.
33513 * term/i386/pc/vga.c: Likewise.
33514 * term/ieee1275/ofconsole.c: Likewise.
33515 * util/biosdisk.c: Likewise.
33516 * util/console.c: Likewise.
33517 * util/genmoddep.c: Likewise.
33518 * util/getroot.c: Likewise.
33519 * util/grub-emu.c: Likewise.
33520 * util/grub-mkdevicemap.c: Likewise.
33521 * util/grub-probe.c: Likewise.
33522 * util/lvm.c: Likewise.
33523 * util/misc.c: Likewise.
33524 * util/raid.c: Likewise.
33525 * util/resolve.c: Likewise.
33526 * util/update-grub.in: Likewise.
33527 * util/update-grub_lib.in: Likewise.
33528 * util/grub.d/00_header.in: Likewise.
33529 * util/grub.d/10_hurd.in: Likewise.
33530 * util/grub.d/10_linux.in: Likewise.
33531 * util/i386/efi/grub-install.in: Likewise.
33532 * util/i386/efi/grub-mkimage.c: Likewise.
33533 * util/i386/pc/grub-install.in: Likewise.
33534 * util/i386/pc/grub-mkimage.c: Likewise.
33535 * util/i386/pc/grub-mkrescue.in: Likewise.
33536 * util/i386/pc/grub-setup.c: Likewise.
33537 * util/i386/pc/misc.c: Likewise.
33538 * util/powerpc/ieee1275/grub-install.in: Likewise.
33539 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33540 * util/powerpc/ieee1275/misc.c: Likewise.
33541 * video/bitmap.c: Likewise.
33542 * video/video.c: Likewise.
33543 * video/i386/pc/vbe.c: Likewise.
33544 * video/i386/pc/vbeblit.c: Likewise.
33545 * video/i386/pc/vbefill.c: Likewise.
33546 * video/i386/pc/vbeutil.c: Likewise.
33547 * video/readers/tga.c: Likewise.
33548
3572d015 335492007-07-02 Robert Millan <rmh@aybabtu.com>
33550
33551 * conf/i386-efi.rmk: Replace obsolete reference to
33552 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33553 with util/getroot.c.
33554 * conf/powerpc-ieee1275.rmk: Likewise.
33555 * conf/sparc64-ieee1275.rmk: Likewise.
33556
33557 * util/grub-emu.c (main): Fix unchecked pointer handling.
33558
2c2a681b 335592007-07-02 Robert Millan <rmh@aybabtu.com>
33560
33561 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33562 invocation to fail, in order to support partition-less media.
33563
33564 * util/i386/pc/grub-install.in: Likewise.
33565
33566 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33567 which fs or partmap modules are needed (akin to its sister scripts).
33568
33569 Also use grub-probe to get rid of unportable /proc/mounts check.
33570
33571 Print the same informational message that the other scripts do, before
fe6b695a 33572 exiting.
2c2a681b 33573
6193defe 335742007-06-23 Robert Millan <rmh@aybabtu.com>
33575
fe6b695a 33576 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 33577 a font file can be found and, if so, echo the GRUB path to it.
33578
33579 * util/update-grub.in: Handle multiple terminals depending on user
33580 input, platform availability and font file presence. Propagate
33581 variables of our findings to /etc/grub.d/ children.
33582
33583 * util/grub.d/00_header.in: Handle multiple terminals, based on
33584 environment setup by update-grub.
33585
eface1dc 335862007-06-23 Robert Millan <rmh@aybabtu.com>
33587
ba50d28f 33588 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 33589
bf697e28 335902007-06-21 Robert Millan <rmh@aybabtu.com>
33591
33592 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33593 indicate end of data section in kernel image.
33594 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33595 GRUB_KERNEL_MACHINE_DATA_END.
33596
33597 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33598 space for it.
33599 * kern/i386/efi/startup.S: Likewise.
33600
33601 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33602 during image generation. Implement --prefix option to override this
33603 patch.
33604 * util/i386/efi/grub-mkimage.c: Likewise.
33605
33606 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33607 code to make path relative to its root into a separate function.
33608
33609 * util/i386/pc/grub-install.in: Use newly provided
33610 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33611 pass the result to grub-install --prefix.
33612
baa574b4 336132007-06-13 Robert Millan <rmh@aybabtu.com>
33614
33615 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33616 DEFAULT_DEVICE_MAP.
33617 * util/grub-emu.c: Use above definitions from misc.h instead of
33618 defining them.
33619 * util/grub-mkdevicemap.c: Likewise.
33620 * util/i386/pc/grub-setup.c: Likewise.
33621 * util/grub-probe.c: Likewise.
33622 (probe): Abort with grub_util_error() when either
33623 grub_guess_root_device or grub_util_get_grub_dev fails.
33624
0215dcbf 336252007-06-12 Robert Millan <rmh@aybabtu.com>
33626
33627 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33628 "pager" assignment.
33629 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33630 "pcdata".
33631 * util/grub-probe.c (probe): Likewise for "drive_name".
33632
8af2ab7b 336332007-06-11 Robert Millan <rmh@aybabtu.com>
33634
33635 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33636 not just the cdrom one.
33637
59d31694 336382007-06-11 Robert Millan <rmh@aybabtu.com>
33639
33640 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33641 Add --pkglibdir=DIR option to override pkglibdir.
33642 Mention --image-type=TYPE in help output.
33643 Fix --grub-mkimage (it was a no-op).
fe6b695a 33644 Abort gracefully when no parameter is given.
59d31694 33645
7ee367e4 336462007-06-11 Robert Millan <rmh@aybabtu.com>
33647
33648 * util/i386/pc/grub-mkrescue.in: New file.
33649 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33650 * Makefile.in: Handle bin_SCRIPTS.
33651
29b0ed46 336522007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33653
33654 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33655 list of video modes.
33656
c0f90770 336572007-06-06 Robert Millan <rmh@aybabtu.com>
33658
33659 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33660 file doesn't exist, or if it is in a filesystem grub can't read.
33661
33662 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33663 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33664 header comment to fit in 80 columns when the variables are resolved.
33665
33666 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33667 could be identified by update-grub. Remove redundant check for
fe6b695a 33668 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 33669 handles that).
33670
fb36dc26 336712007-06-04 Robert Millan <rmh@aybabtu.com>
33672
33673 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33674
33675 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33676
33677 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33678
0c68c93e 336792007-06-04 Robert Millan <rmh@aybabtu.com>
33680
33681 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33682
33683 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33684 grub_apple_partition_map_fini.
33685
33686 * util/biosdisk.c
33687 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33688 to access >2 TiB disks).
33689
33690 Print disk->total_sectors with %llu instead of %lu, since this
33691 variable is always 64-bit (prevents wrong disk size from being displayed
33692 on either >2 TiB disk or big-endian CPU).
33693
33694 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33695 into a generic case that supports all (sane) partition maps.
33696
33697 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33698 breaks big-endian.
33699
33700 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33701 and grub_apple_partition_map_fini() after that.
33702
0f23eb74 337032007-06-01 Robert Millan <rmh@aybabtu.com>
33704
33705 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33706
33707 * util/grub.d/00_header.in: Only enable gfxterm when
33708 convert_system_path_to_grub_path() succeeds.
33709
42c71976 337102007-05-20 Robert Millan <rmh@aybabtu.com>
33711
33712 * util/update-grub_lib.in: New file.
33713 * DISTLIST: Add update-grub_lib.in.
33714 * conf/common.rmk: Generate update-grub_lib and install it in
33715 $(lib_DATA).
33716 * Makefile.in: Add install routine for $(lib_DATA).
33717
33718 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33719 function provided by update-grub_lib to support arbitrary paths of
33720 unifont.pff.
33721 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33722 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33723
5beb2291 337242007-05-19 Robert Millan <rmh@aybabtu.com>
33725
33726 * commands/i386/cpuid.c: New module.
33727 * DISTLIST: Add it.
33728 * conf/i386-efi.rmk: Enable cpuid.mod.
33729 * conf/i386-pc.rmk: Likewise.
33730
7262eca1 337312007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33732
33733 * kern/disk.c (grub_disk_read): Check return value of
33734 grub_realloc().
33735
260ba823 337362007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33737
33738 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33739 arrays.
33740 * disk/raid.c (grub_raid_open): Likewise.
33741
1ecb6cf2 337422007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33743
33744 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33745 stack instead of on the heap.
33746
33747 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33748 before doing a read on it.
33749
33750 * configure.ac: Only use -fno-stack-protector for the target
33751 environment.
f19dbdb7 33752
21c8cbb1 337532007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33754
33755 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33756 __attribute_ ((unused)) to mode_type argument.
33757
33758 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 33759
21c8cbb1 33760 * kern/misc.c (memcmp): Fix prototype.
33761
33762 * include/grub/partition.h [GRUB_UTIL]
33763 (grub_gpt_partition_map_init): Add prototype.
33764 (grub_gpt_partition_map_fini): Likewise.
33765
33766 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33767 at the right place.
33768
33769 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33770 (grub_fat_read_data): Likewise.
33771 (grub_fat_find_dir): Likewise.
33772
33773 * font/manager.c (find_glyph): Make table a const.
33774 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 33775
849d55d3 337762007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33777
33778 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33779 code, first search for device in /dev/mapper, then in /dev.
33780 (grub_util_get_grub_dev): New function.
33781 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33782 prototype.
33783 * util/grub-probe.c (probe): Remove check for RAID, call
33784 grub_util_get_grub_dev() instead of
33785 grub_util_biosdisk_get_grub_dev().
33786 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33787 grub_util_biosdisk_get_grub_dev().
33788 * util/i386/pc/grub-setup.c (main): Likewise.
33789
8fff7c2f 337902007-05-16 Robert Millan <rmh@aybabtu.com>
33791
33792 * DISTLIST: Update for the latest changes.
33793 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33794 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33795 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33796 grub/util/biosdisk.h.
33797 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33798 grub/util/biosdisk.h.
33799
48e12b52 338002007-05-16 Robert Millan <rmh@aybabtu.com>
33801
33802 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33803
46b9d128 338042007-05-16 Robert Millan <rmh@aybabtu.com>
33805
33806 * util/i386/efi/grub-install.in: New.
33807 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33808 newly added grub-install.
33809 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33810 include.
33811 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33812 grub/util/biosdisk.h.
33813 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33814 grub/util/biosdisk.h.
33815
2d1a40a9 338162007-05-16 Robert Millan <rmh@aybabtu.com>
33817
33818 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33819 * include/grub/util/biosdisk.h: ... here.
33820 * util/i386/pc/biosdisk.c: Moved to ...
33821 * util/biosdisk.c: ... here.
33822 * util/i386/pc/getroot.c: Moved to ...
33823 * util/getroot.c: ... here.
33824 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33825 * util/grub-mkdevicemap.c: ... here.
33826 * util/i386/pc/grub-probe.c: Moved to ...
33827 * util/grub-probe.c: ... here.
33828
9e26e3bc 338292007-05-15 Robert Millan <rmh@aybabtu.com>
33830
33831 * util/update-grub.in: Remove duplicated line in grub.cfg header
33832 message.
33833
57f96397 338342007-05-13 Robert Millan <rmh@aybabtu.com>
33835
33836 * util/update-grub.in: Fix a few assumptions about the devices holding
33837 /, /boot and /boot/grub being the same.
33838 * util/grub.d/00_header.in: Likewise.
33839 * util/grub.d/10_hurd.in: Likewise.
33840 * util/grub.d/10_linux.in: Likewise.
33841
33842 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33843 patterns. Use that to define the `.old' suffix as older than `'.
33844
33845 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33846
33847 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33848 the grub.cfg header message.
33849
2e610d62 338502007-05-11 Robert Millan <rmh@aybabtu.com>
33851
33852 * util/update-grub.in: Create device.map if it doesn't already exist,
33853 before attempting to run grub-probe.
33854 Check for grub-probe and grub-mkdevicemap with the same code
33855 grub-install is using.
33856 Remove test mode.
33857
3f6a10ef 338582007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33859
33860 * Makefile.in: Add the datarootdir autoconf variable.
33861
02e7b75e 338622007-05-09 Robert Millan <rmh@aybabtu.com>
33863
33864 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 33865 fail gracefully if dev->disk->partition == NULL.
02e7b75e 33866
75f396cc 338672007-05-07 Robert Millan <rmh@aybabtu.com>
33868
33869 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33870 determine partition map module.
33871 * util/i386/pc/grub-install.in: Use this feature to decide which
33872 partition module to load, instead of hardcoding pc and gpt.
33873
da65cb36 338742007-05-07 Robert Millan <rmh@aybabtu.com>
33875
33876 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33877 source directory differs from build directory.
33878
b57d6a91 338792007-05-05 Robert Millan <rmh@aybabtu.com>
33880
33881 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33882 initialisation.
33883
509d00f1 338842007-05-05 Robert Millan <rmh@aybabtu.com>
33885
33886 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33887
c48f23ef 338882007-05-05 Robert Millan <rmh@aybabtu.com>
33889
33890 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33891 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33892
20b97658 338932007-05-05 Robert Millan <rmh@aybabtu.com>
33894
33895 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33896 (grub_probe_SOURCES): Likewise.
33897 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33898 GPT and initialize dos_part and bsd_part accordingly.
33899 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33900 install_bsd_part.
33901 (main): Activate gpt module for use during partition identification,
33902 and deactivate it afterwards.
33903 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33904 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33905 partition identification, and deactivate it afterwards.
33906
99123174 339072007-05-05 Robert Millan <rmh@aybabtu.com>
33908
33909 * term/i386/pc/console.c (grub_console_fini): Call
33910 grub_term_set_current() before grub_term_unregister().
33911
ebd97f6e 339122007-05-04 Robert Millan <rmh@aybabtu.com>
33913
33914 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33915 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33916 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33917 and update-grub_DATA.
33918 * conf/common.rmk: Build and install update-grub components.
33919 * conf/common.mk: Regenerate.
33920 * util/update-grub.in: New. Core of update-grub.
33921 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33922 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33923 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33924 * util/grub.d/README: New. Document grub.d directory layout.
33925
b06a264d 339262007-05-01 Robert Millan <rmh@aybabtu.com>
33927
33928 * util/grub-emu.c: Move initialization functions
33929 grub_util_biosdisk_init() and grub_init_all() before
33930 grub_util_biosdisk_get_grub_dev(), which relies on them.
33931
41f0050e 339322007-04-19 Robert Millan <rmh@aybabtu.com>
33933
33934 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33935 it is used later.
33936
04582bb3 339372007-04-18 Jerone Young <jerone@gmail.com>
33938
f19dbdb7 33939 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 33940 stanza.
33941
08db4632 339422007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 33943
08db4632 33944 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33945 continue on and look for device node with real device name.
33946
801b76be 339472007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 33948
fe6b695a 33949 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 33950 ability.
33951 * Makefile.in: Add autoconf package transformation code.
33952 * util/i386/pc/grub-install.in: Likewise.
33953 * util/powerpc/ieee1275/grub-install.in: Likewise.
33954
6795c4e1 339552007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33956
33957 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33958 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33959 (EXT2_REVISION): Likewise.
33960 (EXT2_INODE_SIZE): Likewise.
33961 (struct grub_ext2_block_group): Added a missing member
33962 "used_dirs".
33963 (grub_ext2_read_inode): Divide by the inode size in a superblock
33964 instead of 128 to obtain INODES_PER_BLOCK.
33965 Use the macro EXT2_INODE_SIZE instead of directly using
33966 SBLOCK->INODE_SIZE.
33967
d70af616 339682007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33969
33970 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33971 superblock instead of the structure size to compute an
33972 offset. This fixes the problem that GRUB could not read a
33973 filesystem when inode size is different from 128-byte.
33974
3b801603 339752007-03-05 Marco Gerards <marco@gnu.org>
33976
33977 * normal/main.c (read_config_file): When "menu" is not set, create
33978 an initial context.
33979
4785bfe4 339802007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33981
33982 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33983 (HEAP_LIMIT): New macro.
33984 (grub_claim_heap): Claim memory up to `heaplimit'.
33985
a0cbb023 339862007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33987
33988 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33989 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33990 (_start): Likewise.
33991 (grub_arch_modules_addr): Return address after `_end'.
33992 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33993 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33994 (add_segments): Calculate `_end' from phdr size and location.
33995 (ALIGN_UP): Moved to ...
33996 * include/grub/misc.h: here.
33997 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33998 New macro.
33999 (GRUB_IEEE1275_MODULE_BASE): Removed.
34000
fd7d8eba 340012007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34002
34003 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
34004 loop boundary.
34005
9b09e6fc 340062007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34007
34008 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
34009 All users updated.
34010 (grub_elf64_load_hook_t): Likewise.
34011 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
34012 debug output.
34013
3ce27299 340142007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34015
34016 * kern/mm.c: Update copyright.
34017 (grub_mm_debug): Correct syntax error.
34018 (grub_mm_dump_free): New function.
34019 (grub_debug_free): Call `grub_free'.
34020 * include/grub/mm.h: Update copyright.
34021 (grub_mm_dump_free): Add declaration.
34022
077d5fee 340232007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34024
34025 * include/grub/ieee1275/ieee1275.h: Update copyright.
34026 * kern/powerpc/ieee1275/init.c: Likewise.
34027 * kern/powerpc/ieee1275/openfw.c: Likewise.
34028
34029 * loader/powerpc/ieee1275/linux.c: Likewise.
34030 * include/grub/elfload.h: Likewise.
34031 * kern/elf.c: Likewise.
34032 (grub_elf32_load): Pass `base' and `size' parameters. Update all
34033 callers.
34034 (grub_elf64_load): Likewise.
34035 (grub_elf32_load_segment): Move to a nested function.
34036 (grub_elf64_load_segment): Likewise.
34037
dc946850 340382007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34039
34040 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
34041 prototype.
34042 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
34043 (grub_heap_len): Likewise.
34044 (HEAP_SIZE): New macro.
34045 (grub_claim_heap): New function.
34046 (grub_machine_init): Don't claim heap directly. Call
34047 `grub_claim_heap'.
34048 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34049 (grub_available_iterate): New function.
34050
baa2a121 340512007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34052
34053 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34054 * configure.ac: Use it for testing the HOST and TARGET compilers.
34055
4fe9862e 340562006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34057
34058 * Makefile.in (enable_grub_emu): New variable.
34059 * configure.ac (--enable-grub-emu): New option.
34060 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34061 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34062 * conf/i386-pc.rmk: Likewise.
34063 * conf/powerpc-ieee1275.rmk: Likewise.
34064 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34065
a8aa5762 340662006-12-12 Marco Gerards <marco@gnu.org>
34067
34068 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34069
34070 * kern/env.c (grub_env_unset): Don't free the member `value' when
34071 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34072 pointer.
34073
34074 * normal/main.c (current_menu): Removed.
34075 (free_menu): Unset the `menu' environment variable.
34076 (grub_normal_menu_addentry): Make use of the environment variable
34077 `menu', instead of using the global `current_menu'. Allocate
34078 memory for the sourcecode of this entry.
34079 (read_config_file): New argument `nested', changed all callers.
34080 Only in the case of a new context, initialize a new menu. Set the
34081 `menu' environment variable.
34082 (grub_normal_execute): Don't set and unset the environment
34083 variable `menu' here anymore. Only free the menu when leaving the
34084 context.
34085
34086 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34087 leak.
34088
957b3a3e 340892006-12-11 Marco Gerards <marco@gnu.org>
34090
34091 * normal/menu_entry.c (run): Fix off by one bug so the last line
34092 is executed. Move the loader check to outside the loop.
34093
ef875714 340942006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34095
34096 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34097
4e739985 340982006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34099
34100 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34101 the number of sectors. Reported by Andrey Shuvikov
34102 <mr_hyro@yahoo.com>.
f19dbdb7 34103
790707f2 341042006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34105
34106 * kern/disk.c (grub_disk_read): When there is a read error, always
34107 try to read only the necessary data.
f19dbdb7 34108
790707f2 34109 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34110 disk/raid.c.
34111 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34112 prototype.
34113 [GRUB_UTIL] (grub_raid_fini): Likewise.
34114 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 34115 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 34116 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34117 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34118 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34119 and grub_raid_fini().
f19dbdb7 34120
03e58196 341212006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34122
34123 * include/grub/types.h (__unused): Rename to UNUSED.
34124 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34125 (grub_elf64_size): Likewise.
f19dbdb7 34126
ae4f23bf 341272006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34128
34129 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34130 grub_error_push and grub_error_pop in the error-handling path.
34131 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34132 length.
34133
2166cc83 341342006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34135
34136 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34137 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34139 (kernel_elf_SOURCES): Likewise.
34140 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34141 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34142 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34143 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34144 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34145 (elf_mod_SOURCES): New variable.
34146 (elf_mod_CFLAGS): Likewise.
34147 (elf_mod_LDFLAGS): Likewise.
34148 * include/grub/types.h (__unused): New macro.
34149 * include/grub/elfload.h: New file.
34150 * kern/elf.c: Likewise.
34151 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
34152 (ELF32_LOADMASK): New macro.
34153 (ELF64_LOADMASK): Likewise.
34154 (vmlinux): Removed.
34155 (grub_linux_load32): New function.
34156 (grub_linux_load64): Likewise.
34157 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
34158 Use grub_elf_t instead of grub_file_t.
34159
a09d5aa5 341602006-11-02 Hollis Blanchard <hollis@penguinppc.org>
34161
34162 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
34163 `catch_result' to struct set_color_args.
34164
d976fc51 341652006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34166
34167 * normal/menu.c: Include grub/script.h.
34168 * normal/menu_entry.c: Likewise.
34169 * include/grub/normal.h: Do not include grub/script.h.
34170
67507549 341712006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34172
34173 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34174
69203a99 341752006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34176
34177 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34178 disk.
34179 (grub_disk_close): Print debug messages when closing a disk.
34180 (grub_disk_read): Print debug messages when disk read fails.
34181 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34182 filesystem type.
34183 * kern/partition.c: Include misc.h.
34184 (grub_partition_iterate): Print debug messages when detecting
34185 partition type.
34186
e2b8278c 341872006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34188
34189 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34190 is negative.
34191 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34192
97b2f2ff 341932006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34194
34195 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34196 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34197
6555d655 341982006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34199
34200 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34201 instead of sizeof(lv). Patch by Michael Guntsche.
34202
4d42b77f 342032006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34204
34205 * disk/lvm.c: Rename VGS to VG_LIST.
34206 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34207 (grub_lvm_open): Likewise.
34208 Thanks to Michael Guntsche for finding this bug.
34209
5d74d927 342102006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34211
34212 * configure.ac (AC_INIT): Bumped to 1.95.
34213
a1bb27e4 342142006-10-14 Robert Millan <rmh@aybabtu.com>
34215
34216 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34217 with "/dev/.static/dev/md".
34218
e0994b8b 342192006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34220
34221 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34222 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34223 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34224 DRIVE_NAME are always freed.
34225
34226 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34227 DOS_PART, as a DOS partition is counted from one instead of zero
34228 now. Reported by Robert Millan.
34229
ddd5cee9 342302006-10-14 Robert Millan <rmh@aybabtu.com>
34231
34232 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34233 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34234 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34235 string returned by grub_guess_root_device.
34236 * util/i386/pc/grub-setup.c: Likewise.
34237 * util/i386/pc/grub-probefs.c: Likewise.
34238
34239 * util/i386/pc/grub-probefs.c: Rename to ...
34240 * util/i386/pc/grub-probe.c: ... this.
34241 * DISTLIST: Remove grub-probefs, add grub-probe.
34242 * conf/i386-efi.rmk: Likewise.
34243 * conf/i386-pc.rmk: Likewise.
34244 * util/i386/pc/grub-install.in: Likewise.
34245
34246 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34247 choose which information we want to print.
34248
2b002173 342492006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34250
34251 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34252 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34253 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34254 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34255 video/readers/tga.c and video/i386/pc/vbeutil.c.
34256
342572006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34258
34259 Added support for RAID and LVM.
f19dbdb7 34260
2b002173 34261 * disk/lvm.c: New file.
34262 * disk/raid.c: Likewise.
34263 * include/grub/lvm.h: Likewise.
f19dbdb7 34264 * include/grub/raid.h: Likewise.
2b002173 34265 * include/grub/util/lvm.h: Likewise.
34266 * include/grub/util/raid.h: Likewise.
34267 * util/lvm.c: Likewise.
34268 * util/raid.c: Likewise.
34269
34270 * include/grub/disk.h (grub_disk_dev_id): Add
34271 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34272 (grub_disk_get_size): New prototype.
34273 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34274 returns a partition.
34275 (grub_disk_get_size): New function.
f19dbdb7 34276
2b002173 34277 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34278 verbatim if grub_install_dos_part is -2.
34279
34280 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34281 and LVM devices.
34282
34283 * util/i386/pc/grub-setup.c (setup): New argument
34284 MUST_EMBED. Force embedding of GRUB when the argument is
34285 true. Close FILE before returning.
34286 (main): Add support for RAID and LVM.
f19dbdb7 34287
2b002173 34288 * conf/common.rmk: Add RAID and LVM modules.
34289 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34290 util/lvm.c.
34291 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34292
34293 * kern/misc.c (grub_strstr): New function.
34294 * include/grub/misc.h (grub_strstr): New prototype.
34295
050548d0 342962006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34297
34298 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34299
da849d2d 343002006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34301
34302 * kern/misc.c (grub_strtoull): Guess the base only if not
34303 specified.
34304
97b2f2ff 343052006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 34306
34307 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34308 PowerMac support.
34309
97b2f2ff 343102006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 34311
34312 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34313
34314 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34315 Remove `flags' argument. All callers changed.
34316 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34317 (IEEE1275_IHANDLE_INVALID): New variable.
34318 (IEEE1275_CELL_INVALID): New variable.
34319 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34320 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34321 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34322 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34323 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34324 codes from Open Firmware. All callers updated.
34325 (grub_ieee1275_next_property): Directly return Open Firmware return
34326 code.
34327 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34328 Standardize error checking from `grub_ieee1275_get_property'.
34329 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34330 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34331
97b2f2ff 343322006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 34333
34334 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34335 `instance_to_package_args' to `instance_to_path_args'.
34336
34337 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34338 `grub_ieee1275_chosen'.
34339
34340 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34341 `grub_ieee1275_interpret'.
34342
97b2f2ff 343432006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 34344
34345 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34346
97b2f2ff 343472006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 34348
34349 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34350 (__cmpdi): Likewise.
34351
34352 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34353 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34354 `grub_ssize_t'.
34355
02bb8acc 34356 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 34357
34358 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34359 to type `grub_ssize_t'.
34360 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34361
7f9a8531 343622006-09-22 Marco Gerards <marco@gnu.org>
34363
34364 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34365 newlines.
34366
b5ef1102 343672006-09-22 Marco Gerards <marco@gnu.org>
34368
34369 * commands/echo.c: New file.
34370
34371 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34372
34373 * conf/common.rmk (echo_mod_SOURCES): New variable.
34374 (echo_mod_CFLAGS): Likewise.
34375 (echo_mod_LDFLAGS): Likewise.
34376
2cff3677 343772006-09-22 Marco Gerards <marco@gnu.org>
34378
34379 * normal/main.c (get_line): Malloc memory instead of using
34380 preallocated memory. Removed the arguments `cmdline' and
34381 `max_len'. Updated all callers.
34382
6ba4688b 343832006-09-22 Marco Gerards <marco@gnu.org>
34384
34385 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34386 (normal_mod_DEPENDENCIES): Likewise.
34387
34388 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34389 (normal_mod_DEPENDENCIES): Likewise.
34390
34391 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34392
e02ac02c 343932006-09-22 Johan Rydberg <jrydberg@gnu.org>
34394
34395 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34396 programs.
34397 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34398 (normal_mod_DEPENDENCIES): Likewise.
34399 * conf/i386-pc.mk: Regenerate.
34400 * conf/i386-efi.mk: Likewise
34401 * conf/common.mk: Likewise.
34402 * conf/powerpc-ieee1275.mk: Likewise.
34403 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34404
8d252e44 344052006-09-22 Robert Millan <rmh@aybabtu.com>
34406
34407 Sync with i386 version.
34408 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34409 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34410
209bf7ac 344112006-09-21 Robert Millan <rmh@aybabtu.com>
34412
34413 Import from GRUB Legacy (lib/device.c):
34414 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34415 (init_device_map) [__linux__]: Add support for I2O devices.
34416
6b146090 344172006-09-14 Marco Gerards <marco@gnu.org>
34418
34419 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34420 `-melf_i386'.
34421
e38600a8 344222006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 34423
34424 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34425 /boot/grub/*.lst.
78fa1790 34426
2952da5d 34427 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 34428
2952da5d 34429 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34430 before adding it to device.map.
34431
01b82a64 344322006-08-15 Johan Rydberg <jrydberg@gnu.org>
34433
fe6b695a 34434 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 34435 compiles a file; using the -MD option.
34436 * conf/common.mk: Regenerate.
34437 * conf/i386-pc.mk: Likewise.
34438 * conf/i386-efi.mk: Likewise.
34439 * conf/powerpc-ieee1275.mk: Likewise.
34440 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34441
1064790d 344422006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34443
34444 Move the prototypes of grub_setjmp and grub_longjmp to
34445 cpu/setjmp.h, so that each architecture may specify different
34446 attributes.
f19dbdb7 34447
1064790d 34448 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34449 (grub_longjmp): Likewise.
34450 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34451 (grub_longjmp): Likewise.
34452 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34453 (grub_longjmp): Likewise.
34454
34455 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34456 [!GRUB_UTIL] (grub_longjmp): Removed.
34457
29dda3ed 344582006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34459
34460 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34461 "color!" method does not return any value.
34462
ad2a06ed 344632006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34464
34465 * include/grub/bitmap.h: New file.
34466
34467 * include/grub/i386/pc/vbeutil.h: Likewise.
34468
34469 * video/bitmap.c: Likewise.
34470
34471 * video/readers/tga.c: Likewise.
34472
34473 * video/i386/pc/vbeutil.c: Likewise.
34474
34475 * commands/videotest.c: Code cleanup and updated to reflect to new
34476 video API.
34477
34478 * term/gfxterm.c: Likewise.
34479
34480 * video/video.c: Likewise.
34481
34482 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34483 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34484 (bitmap_mod_SOURCES): New entry.
34485 (bitmap_mod_CFLAGS): Likewise.
34486 (bitmap_mod_LDFLAGS): Likewise.
34487 (tga_mod_SOURCES): Likewise.
34488 (tga_mod_CFLAGS): Likewise.
34489 (tga_mod_LDFLAGS): Likewise.
34490
34491 * include/grub/video.h (grub_video_blit_operators): New enum type.
34492 (grub_video_render_target): Changed as forward declaration and moved
34493 actual definition to be video driver specific.
34494 (grub_video_adapter.blit_bitmap): Added blitting operator.
34495 (grub_video_adapter.blit_render_target): Likewise.
34496 (grub_video_blit_bitmap): Likewise.
34497 (grub_video_blit_render_target): Likewise.
34498
34499 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34500 driver specific render target definition.
34501 (grub_video_vbe_map_rgba): Added driver internal helper.
34502 (grub_video_vbe_unmap_color): Updated to use
34503 grub_video_i386_vbeblit_info.
34504 (grub_video_vbe_get_video_ptr): Likewise.
34505
34506 * include/grub/i386/pc/vbeblit.h
34507 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34508 grub_video_i386_vbeblit_info.
34509 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34510 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34511 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34512 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34513 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34514 (grub_video_i386_vbeblit_index_index): Likewise.
34515 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34516 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34517 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34518 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34519 operator.
34520 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34521 operator.
34522
34523 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34524 include/grub/i386/pc/vbeblit.h.
34525
34526 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34527 Updated to use grub_video_i386_vbeblit_info.
34528 (grub_video_i386_vbefill_R8G8B8): Likewise.
34529 (grub_video_i386_vbefill_index): Likewise.
34530 (grub_video_i386_vbefill): Added generic filler.
34531
34532 * video/i386/pc/vbefill.c: Updated to reflect changes on
34533 include/grub/i386/pc/vbefill.h.
34534
34535 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34536 grub_video_i386_vbeblit_info.
34537 (grub_video_vbe_unmap_color): Likewise.
34538 (grub_video_vbe_blit_glyph): Likewise.
34539 (grub_video_vbe_scroll): Likewise.
34540 (grub_video_vbe_draw_pixel): Removed function.
34541 (grub_video_vbe_get_pixel): Likewise.
34542 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34543 updated code to use it.
34544 (common_blitter): Added common blitter for render target and bitmap.
34545 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34546 (grub_video_vbe_blit_render_target): Likewise.
34547
bc8c036d 345482006-07-30 Johan Rydberg <jrydberg@gnu.org>
34549
34550 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34551 is in text mode if there is no console control protocol instance
34552 available.
34553
684a8eff 345542006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34555
34556 * include/grub/video.h: Code cleanup.
34557
34558 * include/grub/i386/pc/vbe.h: Likewise.
34559
34560 * video/i386/pc/vbe.c: Likewise.
34561
34562 * video/i386/pc/vbeblit.c: Likewise.
34563
34564 * video/i386/pc/vbefill.c: Likewise.
34565
34566 * video/video.c: Likewise. Also added more comments.
34567
5915059b 345682006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34569
34570 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34571 (struct grub_biosdisk_dap): Likewise.
34572
34573 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34574 linkage settings for all functions.
34575
90ce5d56 345762006-07-12 Marco Gerards <marco@gnu.org>
34577
34578 * configure.ac (--enable-mm-debug): Fix typo.
34579
34580 * genkernsyms.sh.in: Use proper quoting for `CC'.
34581
43e7f879 345822006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34583
34584 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34585 (normal_mod_ASFLAGS): Remove "-m32".
34586
4889bdec 345872006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34588
34589 * util/misc.c: Include config.h.
34590 [!HAVE_MEMALIGN]: Do not include malloc.h.
34591 (grub_memalign): Use posix_memalign, if present. Then, use
34592 memalign, if present. Otherwise, emit an error.
34593
34594 * util/grub-emu.c: Do not include malloc.h.
34595
34596 * include/grub/util/misc.h: Include unistd.h. This is required for
34597 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34598 D. Eades III <hde@foobar-qux.org>.
34599
34600 * configure.ac (AC_GNU_SOURCE): Added.
34601 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34602 type.
34603
fd39d4da 346042006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34605
34606 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34607 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34608
b786f3b5 346092006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34610
34611 * include/grub/types.h (grub_host_addr_t): Rename to
34612 grub_target_addr_t.
34613 (grub_host_off_t): Rename to grub_target_off_t.
34614 (grub_host_size_t): Rename to grub_target_size_t.
34615 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34616 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34617
34618 * include/grub/kernel.h (struct grub_module_header): Change type
34619 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34620 (grub_module_info): Likewise.
f19dbdb7 34621
051988bb 346222006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34623
34624 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34625 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34626 Velazquez <jesus.velazquez@gmail.com>.
34627
deae281b 346282006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34629
34630 Count partitions from 1 instead of 0 in the string representation
34631 of partitions. Still use 0-based internally.
f19dbdb7 34632
deae281b 34633 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34634 (sun_partition_map_iterate): Use grub_partition_t instead of
34635 struct grub_partition *. Cast DESC->START_CYLINDER to
34636 grub_uint64_t after converting the endian.
34637 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34638 (sun_partition_map_get_name): Add 1 to P->INDEX.
34639
34640 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34641 PCDATA->DOS_PART.
34642 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34643
34644 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34645 zero instead of one.
34646 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34647 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34648
34649 * partmap/apple.c (apple_partition_map_iterate): Change the type
34650 of POS to unsigned.
34651 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34652 (apple_partition_map_get_name): Add 1 into P->INDEX.
34653
34654 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34655 of POS to unsigned.
34656 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34657 calculate the offset of a partition.
34658 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34659 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34660
34661 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34662 SECTOR to grub_disk_addr_t.
34663 (acorn_partition_map_iterate): Likewise.
34664 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34665 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34666 top.
34667 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34668
34669 * kern/i386/pc/init.c (make_install_device): Add 1 into
34670 GRUB_INSTALL_DOS_PART.
34671
34672 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34673 conditional.
34674
524a1e6a 346752006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34676
34677 Clean up the code to support 64-bit addressing in disks and
34678 files. This change is not enough for filesystems yet.
f19dbdb7 34679
524a1e6a 34680 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34681 type of "start" to grub_uint64_t.
34682 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34683 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34684 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34685 convert addresses.
34686
34687 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34688 to grub_disk_addr_t.
34689
34690 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34691 string.
34692
34693 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34694
34695 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34696 to char *.
34697
34698 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34699
34700 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34701
34702 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34703
34704 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34705 to grub_off_t, to detect an error from grub_file_seek.
34706 (grub_multiboot_load_elf32): Likewise.
34707
34708 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34709 maximum unsigned long value when an overflow is detected.
34710 (grub_strtoull): New function.
34711 (grub_divmod64): Likewise.
34712 (grub_lltoa): use grub_divmod64.
34713
34714 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34715 grub_disk_addr_t.
34716 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34717 the pointer to next character. Use grub_strtoull instead of
34718 grub_strtoul.
34719 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34720 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34721 respectively.
34722
fe6b695a 34723 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 34724 return value is signed.
34725 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34726 test if OFFSET is less than zero, as OFFSET is unsigned now.
34727
34728 * kern/disk.c (struct grub_disk_cache): Change the type of
34729 "sector" to grub_disk_addr_t.
34730 (grub_disk_cache_get_index): Change the type of SECTOR to
34731 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34732 unsigned after shifting.
34733 (grub_disk_cache_invalidate): Change the type of SECTOR to
34734 grub_disk_addr_t.
34735 (grub_disk_cache_unlock): Likewise.
34736 (grub_disk_cache_store): Likewise.
34737 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34738 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34739 grub_disk_addr_t and grub_uint64_t, respectively.
34740 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34741 body, as the value of OFFSET is tweaked by
34742 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34743 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34744 respectively.
34745 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34746 body, as the value of OFFSET is tweaked by
34747 grub_disk_check_range. Change the types of LEN and N to
34748 grub_size_t.
34749
34750 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34751 and "saved_offset" to grub_off_t.
34752 (test_header): Cast BUF to char *.
34753 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34754 to char *.
34755 (grub_gzio_read): Change the types of OFFSET and SIZE to
34756 grub_off_t and grub_size_t, respectively.
34757
34758 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34759 Removed.
34760 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34761 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34762 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34763 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34764 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34765
34766 * include/grub/types.h (grub_off_t): Unconditionally set to
34767 grub_uint64_t.
34768 (grub_disk_addr_t): Changed to grub_uint64_t.
34769
34770 * include/grub/partition.h (struct grub_partition): Change the
34771 types of "start", "len" and "offset" to grub_disk_addr_t,
34772 grub_uint64_t and grub_disk_addr_t, respectively.
34773 (grub_partition_get_start): Return grub_disk_addr_t.
34774 (grub_partition_get_len): Return grub_uint64_t.
34775
34776 * include/grub/misc.h (grub_strtoull): New prototype.
34777 (grub_divmod64): Likewise.
34778
34779 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34780 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34781 grub_off_t, respectively.
34782 All callers and references changed.
34783
34784 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34785 grub_size_t in "read".
34786 All callers and references changed.
34787
34788 * include/grub/file.h (struct grub_file): Change the types of
34789 "offset" and "size" to grub_off_t and grub_off_t,
34790 respectively. Change the type of SECTOR to grub_disk_addr_t in
34791 "read_hook".
34792 (grub_file_read): Change the type of LEN to grub_size_t.
34793 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34794 grub_off_t.
34795 (grub_file_size): Return grub_off_t.
34796 (grub_file_tell): Likewise.
34797 All callers and references changed.
34798
34799 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34800 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34801 "write".
34802 (struct grub_disk): Change the type of "total_sectors" to
34803 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 34804 "read_hook".
524a1e6a 34805 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34806 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34807 (grub_disk_write): Likewise.
34808 All callers and references changed.
34809
34810 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34811 char * for grub_strncmp to silence gcc.
34812 (grub_iso9660_mount): Likewise.
34813 (grub_iso9660_mount): Likewise.
34814 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34815 return statement.
34816 (grub_iso9660_iterate_dir): Likewise.
34817 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34818
34819 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34820 LEN to grub_disk_addr_t and grub_size_t, respectively.
34821
34822 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34823
34824 * fs/jfs.c (grub_jfs_read_file): Likewise.
34825
34826 * fs/minix.c (grub_jfs_read_file): Likewise.
34827
34828 * fs/sfs.c (grub_jfs_read_file): Likewise.
34829
34830 * fs/ufs.c (grub_jfs_read_file): Likewise.
34831
34832 * fs/xfs.c (grub_jfs_read_file): Likewise.
34833
34834 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34835 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34836 respectively.
34837
34838 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34839 BLKNR to -1 instead of returning GRUB_ERRNO.
34840 (grub_ext2_read_file): Change the types of SECTOR and
34841 LEN to grub_disk_addr_t and grub_size_t, respectively.
34842
34843 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34844 LEN to grub_disk_addr_t and grub_size_t, respectively.
34845
34846 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34847 grub_file_read.
34848
34849 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34850 string. Do not cast SECTOR explicitly.
34851
34852 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34853 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34854 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34855 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34856 over 2TB and LBA mode is not supported, raise an error.
34857 (get_safe_sectors): New function.
34858 (grub_biosdisk_read): Use get_safe_sectors.
34859 (grub_biosdisk_write): Likewise.
34860
34861 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34862 (grub_efidisk_write): Likewise.
34863
34864 * disk/loopback.c (delete_loopback): Cosmetic changes.
34865 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34866 correctly.
34867 (grub_loopback_open): Likewise.
34868 (grub_loopback_read): Likewise. Also, change the type of POS to
34869 grub_off_t, and fix the usage of grub_memset.
34870
34871 * commands/i386/pc/play.c: Include grub/machine/time.h.
34872
34873 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34874 print FILE->SIZE.
34875
34876 * commands/configfile.c: Include grub/env.h.
34877
34878 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34879 GRUB_ERRNO directly instead. Change the type of POS to
34880 grub_off_t. Follow the coding standard.
34881
34882 * commands/blocklist.c: Include grub/partition.h.
34883 (grub_cmd_blocklist): Return an error if the underlying device is
34884 not a disk. Take the starting sector of a partition into account,
34885 if a partition is used.
34886
34887 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34888 a length field.
34889 (lba_mode): Support 64-bit addresses.
34890 (chs_mode): Likewise.
34891 (copy_buffer): Adapted to the new offsets of a length field and a
34892 segment field.
34893 (blocklist_default_start): Allocate 64-bit space.
34894
34895 * boot/i386/pc/boot.S (force_lba): Removed.
34896 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 34897 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 34898 space.
34899 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34900 is useless.
34901 (lba_mode): Refactored to support a 64-bit address. More size
34902 optimization.
34903 (setup_sectors): Likewise.
34904
53af98ad 349052006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34906
34907 * DISTLIST: Added include/grub/i386/linux.h. Removed
34908 include/grub/i386/pc/linux.h
34909
34910 * configure.ac (AC_INIT): Bumped to 1.94.
34911
34912 * config.guess: Updated from gnulib.
34913 * config.sub: Likewise.
34914 * install-sh: Likewise.
34915 * mkinstalldirs: Likewise.
34916
b4c1940a 349172006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34918
34919 * conf/common.rmk (grub_modules_init.lst): Depended on
34920 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34921 MODSRCFILES.
34922
34923 * genmk.rb (PModule::rule): Reverted the previous change.
34924
cfca1cfd 349252006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34926
34927 * conf/common.rmk (grub_modules_init.lst): Depends on
34928 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34929 that the target does not exist before producing.
34930 (grub_modules_init.h): Remove the target before generating.
34931 (grub_emu_init.c): Likewise.
34932
34933 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34934
aa6d7826 349352006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34936
34937 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34938 for the target-specific tests. Make sure that we also have the
34939 up-to-date target variables for those tests.
34940
26c607b9 349412006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34942
34943 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34944 (PModule::rule): Likewise.
34945
0162321a 349462006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34947
34948 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34949 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34950 target-specific flags should be prefixed.
34951 (PModule::rule): Likewise.
34952
6c826348 349532006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34954
34955 * configure.ac (CMP): Check if cmp is available explicitly.
34956
b977bf01 349572006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34958
34959 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34960 (target_cpu): New variable.
34961 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 34962
b977bf01 34963 * util/i386/pc/grub-install.in (host_cpu): Removed.
34964 (target_cpu): New variable.
34965 (pkglibdir): Use target_cpu instead of host_cpu.
34966
34967 * util/genmoddep.c: Removed.
f19dbdb7 34968
b977bf01 34969 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34970 instead of GRUB_HOST_SIZEOF_VOID_P.
34971 * kern/dl.c: Likewise.
34972
34973 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34974 ...
34975 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34976 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34977 (GRUB_TARGET_SIZEOF_LONG): ... this.
34978 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34979 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34980 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34981 to ...
34982 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34983 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34984 (GRUB_TARGET_SIZEOF_LONG): ... this.
34985 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34986 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34987 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34988 to ...
34989 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34990 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34991 (GRUB_TARGET_SIZEOF_LONG): ... this.
34992 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34993 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34994
34995 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34996 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34997 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34998 instead of GRUB_HOST_SIZEOF_LONG.
34999 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
35000 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
35001 GRUB_CPU_WORDS_BIGENDIAN.
35002 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
35003 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
35004 grub_host_ssize_t.
35005
35006 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
35007 (genmoddep_SOURCES): Likewise.
35008 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
35009 (genmoddep_SOURCES): Likewise.
35010 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
35011 (genmoddep_SOURCES): Likewise.
35012 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
35013 Likewise.
35014 (genmoddep_SOURCES): Likewise.
35015
35016 * genmoddep.awk: New file.
35017
35018 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
35019 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
35020 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
35021 (PModule::rule): Likewise.
35022 (Program::rule): Likewise.
35023 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
35024 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
35025 respectively.
35026
35027 * configure.ac: Rewritten intensively to use host and target
35028 instead of build and host, respectively.
35029
35030 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
35031 (host_cpu): Removed.
35032 (target_cpu): New variable.
35033 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
35034 (BUILD_CC): Removed.
35035 (BUILD_CFLAGS): Likewise.
35036 (BUILD_CPPFLAGS): Likewise.
35037 (TARGET_CC): New variable.
35038 (TARGET_CFLAGS): Likewise.
35039 (TARGET_CPPFLAGS): Likewise.
35040 (TARGET_LDFLAGS): Likewise.
35041 (AWK): Likewise.
35042 (include): Use target_cpu instead of host_cpu.
35043 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 35044
b977bf01 35045 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
35046
f09771a1 350472006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
35048
35049 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35050 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35051 field 'false' to 'exec_on_false'.
35052 (grub_script_create_cmdif): Renamed argument names to reflect above
35053 changes.
35054
35055 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35056
35057 * normal/script.c (grub_script_create_cmdif): Likewise.
35058
118f4fb3 350592006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35060
35061 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35062 top.
35063 (grub_hfsplus_btree_recptr): Likewise.
35064 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35065 FILEBLOCK both to pass a block number and store next block
35066 number.
35067 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35068 overflow file correctly. Specify errors appropriately, because
35069 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35070 grub_hfsplus_btree_recptr to get the pointer to a found key.
35071 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35072 is found.
35073
35074 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35075 linux.mod.
35076 (_linux_mod_SOURCES): New variable.
35077 (_linux_mod_CFLAGS): Likewise.
35078 (_linux_mod_LDFLAGS): Likewise.
35079 (linux_mod_SOURCES): Likewise.
35080 (linux_mod_CFLAGS): Likewise.
35081 (linux_mod_LDFLAGS): Likewise.
35082
35083 * DISTLIST: Added loader/i386/efi/linux.c,
35084 loader/i386/efi/linux_normal.c and
35085 include/grub/i386/efi/loader.h.
35086
35087 * loader/i386/efi/linux.c: New file.
35088 * loader/i386/efi/linux_normal.c: Likewise.
35089 * include/grub/i386/efi/loader.h: Likewise.
35090
89a7d726 350912006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35092
35093 * commands/blocklist.c: New file.
35094
35095 * DISTLIST: Added commands/blocklist.c.
35096
35097 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 35098 color for the background, and a darker color for the foreground.
89a7d726 35099 (grub_console_checkkey): Return READ_KEY.
35100 (grub_console_cls): Set the background to
35101 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35102
35103 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35104
35105 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35106 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35107
35108 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35109 prototype.
35110
35111 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35112 BG. The spec is wrong again.
35113
35114 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35115 prototype.
35116 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35117
35118 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35119 commands/blocklist.c.
35120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 35121
89a7d726 35122 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35123 (blocklist_mod_SOURCES): New variable.
35124 (blocklist_mod_CFLAGS): Likewise.
35125 (blocklist_mod_LDFLAGS): Likewise.
35126
75c8f258 351272006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35128
35129 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35130 duplication.
35131 (lba_mode): Use %eax more intensively to reduce the code size.
35132
da2eb181 351332006-05-20 Marco Gerards <marco@gnu.org>
35134
35135 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35136
35137 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35138 for `menuentry'.
35139 (script): Accept leading newlines.
35140 (newlines): New rule to describe 0 or more newlines.
35141 (commands): Accept `command' with trailing newline. Fixed the
35142 order in which arguments were passed to `grub_script_add_cmd'.
35143 Accept commands separated by newlines.
35144 (function): Changed to accept newlines.
35145 (menuentry) Rewritten.
35146
35147 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35148 front of the list, instead of to the end.
35149
577b4050 351502006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35151
35152 * util/i386/pc/grub-install.in (bindir): New variable.
35153 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
35154 Shaver <lbgwjl@gmail.com>.
35155
0d6e1189 351562006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
35157
35158 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
35159 grub/machine/linux.h
35160 * loader/i386/pc/linux.c: Likewise.
35161
35162 * include/grub/i386/pc/linux.h: Moved to ...
35163 * include/grub/i386/linux.h: ... here.
35164
35165 * include/grub/i386/linux.h (struct linux_kernel_params): New
35166 struct.
f19dbdb7 35167
31b86e9f 351682006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35169
35170 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35171 checking.
35172 (grub_video_vbe_blit_glyph): Likewise.
35173 (grub_video_vbe_blit_bitmap): Likewise.
35174 (grub_video_vbe_blit_render_target): Likewise.
35175
83b984de 351762006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35177
35178 * configure.ac (--with-platform): Properly quote the square
35179 brackets.
35180
5f0413bd 351812006-05-08 Marco Gerards <marco@gnu.org>
35182
35183 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35184 this...
35185 (kernel_elf_HEADERS): ...to this. Updated all users.
35186 (grubof_symlist.c): Renamed from this...
35187 (kernel_elf_symlist.c): ...to this. Updated all users.
35188 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35189 (grubof_SOURCES): Renamed from this...
35190 (kernel_elf_SOURCES): ...to this.
35191 (grubof_HEADERS): Renamed from this...
35192 (kernel_elf_HEADERS): ...to this.
35193 (grubof_CFLAGS): Renamed from this...
35194 (kernel_elf_CFLAGS): ...to this.
35195 (grubof_ASFLAGS): Renamed from this...
35196 (kernel_elf_ASFLAGS): ...to this.
35197 (grubof_LDFLAGS): Renamed from this...
35198 (kernel_elf_LDFLAGS): ...to this.
35199
35200 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35201 this...
35202 (kernel_elf_HEADERS): ...to this. Updated all users.
35203 (grubof_symlist.c): Renamed from this...
35204 (kernel_elf_symlist.c): ...to this. Updated all users.
35205 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35206 (grubof_SOURCES): Renamed from this...
35207 (kernel_elf_SOURCES): ...to this.
35208 (grubof_HEADERS): Renamed from this...
35209 (kernel_elf_HEADERS): ...to this.
35210 (grubof_CFLAGS): Renamed from this...
35211 (kernel_elf_CFLAGS): ...to this.
35212 (grubof_ASFLAGS): Renamed from this...
35213 (kernel_elf_ASFLAGS): ...to this.
35214 (grubof_LDFLAGS): Renamed from this...
35215 (kernel_elf_LDFLAGS): ...to this.
35216
35217 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35218 `kernel.elf' instead of `grubof'.
35219
05568c2e 352202006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35221
35222 Add --with-platform to configure. Use pkglibdir instead of
35223 pkgdatadir. This is reported by Roger Leigh.
35224
35225 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35226 (host_vendor): Likewise.
35227 (host_os): Likewise.
35228 (pkgdatadir): Likewise.
35229 (platform): New variable.
35230 (pkglibdir): Likewise.
35231 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 35232
05568c2e 35233 * util/i386/pc/grub-install.in (datadir): Removed.
35234 (host_vendor): Likewise.
35235 (host_os): Likewise.
35236 (pkgdatadir): Likewise.
35237 (platform): New variable.
35238 (pkglibdir): Likewise.
35239 Use PKGLIBDIR instead of PKGDATADIR.
35240
35241 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35242 instead of GRUB_DATADIR.
35243 (main): Likewise.
35244 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35245 (main): Likewise.
35246 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35247 (main): Likewise.
35248
35249 * configure.ac (--with-platform): New option.
35250 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35251
35252 * Makefile.in: Include a makefile based on PLATFORM instead of
35253 HOST_VENDOR.
35254 (pkgdatadir): Not appended by the machine type.
35255 (pkglibdir): Appended by the machine type.
35256 (host_vendor): Removed.
35257 (platform): New variable.
35258 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35259 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35260 (uninstall): Likewise.
35261
4e93851c 352622006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35263
35264 Use the environment context in the menu. Remove the commands
35265 "default" and "timeout", and use variables instead.
f19dbdb7 35266
4e93851c 35267 * normal/menu.c: Include grub/env.h.
35268 (print_entry): Cast TITLE to silence gcc.
35269 (get_timeout): New function.
35270 (set_timeout): Likewise.
35271 (get_entry_number): Likewise.
35272 (run_menu): Use a default entry, a fallback entry and a timeout
35273 in the environment variables "default", "fallback" and
35274 "timeout". Also, tweak the default entry if it is not within the
35275 current menu entries.
35276 (grub_menu_run): Use a fallback entry in the environment variable
35277 "fallback".
35278
35279 * normal/main.c (read_config_file): Do not initialize
35280 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35281 NEWMENU->TIMEOUT.
35282 (grub_normal_execute): Use a data slot to store the menu.
35283
35284 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35285 fallback_entry and timeout.
35286 (struct grub_menu_list): Removed.
35287 (grub_menu_list_t): Likewise.
35288 (struct grub_context): Likewise.
35289 (grub_context_t): Likewise.
35290 (grub_context_get): Likewise.
35291 (grub_context_get_current_menu): Likewise.
35292 (grub_context_push_menu): Likewise.
35293 (grub_context_pop_menu): Likewise.
35294 (grub_default_init): Likewise.
35295 (grub_default_fini): Likewise.
35296 (grub_timeout_init): Likewise.
35297 (grub_timeout_fini): Likewise.
35298
35299 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35300 and timeout.mod.
35301 (normal_mod_SOURCES): Removed normal/context.c.
35302
35303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35304 commands/default.c, commands/timeout.c and normal/context.c.
35305 (normal_mod_SOURCES): Removed normal/context.c.
35306
35307 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35308 commands/timeout.c and normal/context.c.
35309 (normal_mod_SOURCES): Removed normal/context.c.
35310
35311 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35312 commands/default.c, commands/timeout.c and normal/context.c.
35313 (normal_mod_SOURCES): Removed normal/context.c.
35314
35315 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35316 timeout.mod.
35317 (default_mod_SOURCES): Removed.
35318 (default_mod_CFLAGS): Likewise.
35319 (default_mod_LDFLAGS): Likewise.
35320 (timeout_mod_SOURCES): Removed.
35321 (timeout_mod_CFLAGS): Likewise.
35322 (timeout_mod_LDFLAGS): Likewise.
35323
35324 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35325 normal/context.c.
35326
35327 * commands/default.c: Removed.
35328 * commands/timeout.c: Likewise.
35329 * normal/context.c: Likewise.
35330
1eb9cc1d 353312006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35332
35333 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35334
385bd9c1 353352006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35336
35337 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35338 "next" to "prev" for readability.
35339 (struct grub_env_sorted_var): New struct.
35340 (grub_env_context): Renamed to ...
35341 (initial_context): ... this.
35342 (grub_env_var_context): Renamed to ...
35343 (current_context): ... this.
35344 (grub_env_find): Look only at CURRENT_CONTEXT.
35345 (grub_env_context_open): Rewritten to copy exported variables from
35346 previous context.
35347 (grub_env_context_close): Rewritten according to the new
35348 scheme. Also, add an assertion to prevent the initial context from
35349 removed.
35350 (grub_env_insert): Removed the code for the sorted list.
35351 (grub_env_remove): Likewise.
35352 (grub_env_export): Simply mark the variable with
35353 GRUB_ENV_VAR_GLOBAL.
35354 (grub_env_set): A cosmetic change for naming consistency.
35355 (grub_env_get): Likewise.
35356 (grub_env_unset): Likewise.
35357 (grub_env_iterate): Rewritten to sort variables within this
35358 function.
35359 (grub_register_variable_hook): Fixed for naming consistency. Call
35360 grub_env_find again, only if NAME is not found at the first time.
35361 (mangle_data_slot_name): New function.
35362 (grub_env_set_data_slot): Likewise.
35363 (grub_env_get_data_slot): Likewise.
35364 (grub_env_unset_data_slot): Likewise.
35365
35366 * include/grub/env.h (grub_env_var_type): New enum.
35367 (GRUB_ENV_VAR_LOCAL): New constant.
35368 (GRUB_ENV_VAR_GLOBAL): Likewise.
35369 (GRUB_ENV_VAR_DATA): Likewise.
35370 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35371 "type".
35372 (grub_env_set): Replace VAR with NAME for consistency.
35373 (grub_register_variable_hook): Likewise.
35374 (grub_env_export): Specify the name of the argument.
35375 (grub_env_set_data_slot): New prototype.
35376 (grub_env_get_data_slot): Likewise.
35377 (grub_env_unset_data_slot): Likewise.
35378
7f362539 353792006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35380
35381 Extend the loader so that GRUB can accept a loader which comes
35382 back to GRUB when a loaded image exits. Also, this change adds
35383 support for a chainloader on EFI.
f19dbdb7 35384
7f362539 35385 * term/efi/console.c: Include grub/misc.h.
35386 (grub_console_checkkey): Display a scan code on the top for
35387 debugging. This will be removed once the EFI port gets stable.
35388 Correct the scan code mapping.
35389
35390 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35391 allocate memory from larger regions, in order to reduce the number
35392 of allocated regions. Otherwise, the MacOSX loader panics.
35393 (filter_memory_map): Avoid less than 1MB for compatibility with
35394 other loaders.
35395 (add_memory_regions): Allocate from the tail of a region, if
35396 possible, to avoid allocating a region near to 1MB, for the MacOSX
35397 loader.
35398
35399 * kern/efi/init.c (grub_efi_set_prefix): Specify
35400 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35401
35402 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35403 argument IMAGE_HANDLE and specify it to get a loaded image.
35404 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35405 grub_efi_get_loaded_image.
fe6b695a 35406 (grub_efi_get_filename): Divide the length by the size of
7f362539 35407 grub_efi_char16_t.
35408 (grub_efi_get_device_path): New function.
35409 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35410 the length by the size of grub_efi_char16_t for a file path device
35411 path node.
35412
35413 * kern/loader.c (grub_loader_noreturn): New variable.
35414 (grub_loader_set): Accept a new argument NORETURN. Set
35415 GRUB_LOADER_NORETURN to NORETURN.
35416 All callers changed.
35417 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35418 grub_machine_fini.
35419
35420 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35421 prototype.
35422 (grub_efi_get_loaded_image): Take an argument to specify an image
35423 handle.
35424
35425 * include/grub/loader.h (grub_loader_set): Added one more argument
35426 NORETURN.
35427
35428 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35429 instead of grub_efi_open_protocol.
35430 (grub_efidisk_get_device_name): Likewise.
35431 (grub_efidisk_close): Print a newline.
35432 (grub_efidisk_get_device_handle): Fixed to use
35433 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35434 GRUB_EFI_DEVICE_PATH_TYPE.
35435
35436 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35437 * kern/efi/efi.c (device_path_guid): ... here.
35438
35439 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35440 chain.mod.
35441 (kernel_mod_HEADERS): Added efi/disk.h.
35442 (_chain_mod_SOURCES): New variable.
35443 (_chain_mod_CFLAGS): Likewise.
35444 (_chain_mod_LDFLAGS): Likewise.
35445 (chain_mod_SOURCES): Likewise.
35446 (chain_mod_CFLAGS): Likewise.
35447 (chain_mod_LDFLAGS): Likewise.
35448
35449 * DISTLIST: Added include/grub/efi/chainloader.h,
35450 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35451
35452 * include/grub/efi/chainloader.h: New file.
35453 * loader/efi/chainloader.c: Likewise.
35454 * loader/efi/chainloader_normal.c: Likewise.
35455
c0111d6e 354562006-04-30 Marco Gerards <marco@gnu.org>
35457
35458 * commands/configfile.c (grub_cmd_source): New function.
35459 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35460 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35461
df5341da 354622006-04-30 Marco Gerards <marco@gnu.org>
35463
35464 * normal/execute.c (grub_script_execute_cmd): Change the return
35465 type to `grub_err_t'. Correctly return the error.
35466 (grub_script_execute_cmdline): In case a command line is not a
35467 command or a function, try to interpret it as an assignment.
35468
f85934bd 354692006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35470
35471 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35472 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35473 skip a node whose name is obviously invalid as UTF-16,
35474 i.e. contains a NUL character. Stop the iteration when the last
35475 directory entry is found. Instead of using the return value of
35476 grub_hfsplus_btree_iterate_node, store the value in RET and use
35477 it, because the iterator can be stopped by the last directory
35478 entry.
35479
8f8a2cf8 354802006-04-30 Marco Gerards <marco@gnu.org>
35481
35482 * include/grub/env.h (grub_env_export): New prototype. Reported
35483 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35484
a27e84ce 354852006-04-30 Marco Gerards <marco@gnu.org>
35486
35487 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35488 size of the extents in a catalog file record.
35489
eaef0553 354902006-04-29 Marco Gerards <marco@gnu.org>
35491
35492 * commands/configfile.c (grub_cmd_configfile): Execute the
35493 configfile within its own context.
35494
35495 * include/grub/env.h (grub_env_context_open): New prototype.
35496 (grub_env_context_close): Likewise.
35497
35498 * kern/env.c (grub_env): Removed.
35499 (grub_env_sorted): Likewise.
35500 (grub_env_context): New variable.
35501 (grub_env_var_context): Likewise.
35502 (grub_env_find): Search both the active context and the global
35503 context.
35504 (grub_env_context_open): New function.
35505 (grub_env_context_close): Likewise.
35506 (grub_env_insert): Likewise.
35507 (grub_env_remove): Likewise.
35508 (grub_env_export): Likewise.
35509 (grub_env_set): Changed to use helper functions to avoid code
35510 duplication.
35511 (grub_env_iterate): Rewritten so both the current context and the
35512 global context are being used.
35513
35514 * normal/command.c (export_command): New function.
35515 (grub_command_init): Register the `export' function.
35516
7b455f4d 355172006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35518
35519 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35520 explicitly to suppress gcc's warnings.
35521 * fs/fat.c (grub_fat_find_dir): Likewise.
35522 (grub_fat_label): Likewise.
35523 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35524 (grub_xfs_mount): Likewise.
35525 (grub_xfs_label): Likewise.
35526 * fs/affs.c (grub_affs_mount): Likewise.
35527 (grub_affs_label): Likewise.
35528 (grub_affs_iterate_dir): Likewise.
35529 * fs/sfs.c (grub_sfs_mount): Likewise.
35530 (grub_sfs_iterate_dir): Likewise.
35531 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35532 * fs/hfs.c (grub_hfs_mount): Likewise.
35533 (grub_hfs_cmp_catkeys): Likewise.
35534 (grub_hfs_find_dir): Likewise.
35535 (grub_hfs_dir): Likewise.
35536 (grub_hfs_label): Likewise.
35537 * fs/jfs.c (grub_jfs_mount): Likewise.
35538 (grub_jfs_opendir): Likewise.
35539 (grub_jfs_getent): Likewise.
35540 (grub_jfs_lookup_symlink): Likewise.
35541 (grub_jfs_label): Likewise.
35542 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35543 (grub_hfsplus_iterate_dir): Likewise.
35544 (grub_hfsplus_btree_iterate_node): Made static.
35545
35546 * util/grub-emu.c (prefix): New variable.
35547 (grub_machine_set_prefix): New function.
35548 (main): Do not set the environment variable "prefix" here. Only
35549 set PREFIX, which is used later by grub_machine_set_prefix.
35550
35551 * include/grub/video.h: Do not include grub/symbol.h.
35552 (grub_video_register): Not exported. This symbol is not defined in
35553 the kernel.
35554 (grub_video_unregister): Likewise.
35555 (grub_video_iterate): Likewise.
35556 (grub_video_setup): Likewise.
35557 (grub_video_restore): Likewise.
35558 (grub_video_get_info): Likewise.
35559 (grub_video_get_blit_format): Likewise.
35560 (grub_video_set_palette): Likewise.
35561 (grub_video_get_palette): Likewise.
35562 (grub_video_set_viewport): Likewise.
35563 (grub_video_get_viewport): Likewise.
35564 (grub_video_map_color): Likewise.
35565 (grub_video_map_rgb): Likewise.
35566 (grub_video_map_rgba): Likewise.
35567 (grub_video_fill_rect): Likewise.
35568 (grub_video_blit_glyph): Likewise.
35569 (grub_video_blit_bitmap): Likewise.
35570 (grub_video_blit_render_target): Likewise.
35571 (grub_video_scroll): Likewise.
35572 (grub_video_swap_buffers): Likewise.
35573 (grub_video_create_render_target): Likewise.
35574 (grub_video_delete_render_target): Likewise.
35575 (grub_video_set_active_render_target): Likewise.
35576
35577 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35578 Undefined.
35579 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35580
35581 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35582 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35583 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35584 instead of $(srcdir)/genkernsyms.sh.
35585
35586 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35587 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35588 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35589 instead of $(srcdir)/genkernsyms.sh.
35590
35591 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35592 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35593 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35594 instead of $(srcdir)/genkernsyms.sh.
35595
35596 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35597 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35598 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35599 instead of $(srcdir)/genkernsyms.sh.
35600
35601 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35602 genkernsyms.sh.
35603
35604 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35605 genkernsyms.sh.
35606 (gensymlist.sh): New target.
35607 (genkernsyms.sh): Likewise.
35608
35609 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35610 genkernsyms.sh.in and gensymlist.sh.in.
35611
35612 * genkernsyms.sh: Removed.
35613 * gensymlist.sh: Likewise.
f19dbdb7 35614
7b455f4d 35615 * genkernsyms.sh.in: New file.
35616 * gensymlist.sh.in: Likewise.
35617
1885bb27 356182006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35619
35620 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35621 clobber "prefix", since we may have already set it manually.
35622
71538dff 356232006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35624
35625 * kern/misc.c (abort): New alias for grub_abort.
35626
2965c7cc 356272006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35628
35629 A new machine-specific function "grub_machine_set_prefix" is
35630 defined. This is called after loading modules, so that a prefix
35631 initialization can use modules. Also, this change adds an
35632 intensive debugging feature for the memory manager via the
35633 configure option "--enable-mm-debug".
f19dbdb7 35634
2965c7cc 35635 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35636 PART.LEN.
35637
35638 * kern/sparc64/ieee1275/init.c (abort): Removed.
35639 (grub_stop): Likewise.
35640 (grub_exit): New function.
35641 (grub_set_prefix): Renamed to ...
35642 (grub_machine_set_prefix): ... this.
35643 (grub_machine_init): Do not call grub_set_prefix.
35644
35645 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35646 (grub_machine_set_prefix): ... this.
35647 (grub_machine_init): Do not call grub_set_prefix.
35648
35649 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35650 (grub_machine_init): Do not set the prefix here.
35651
35652 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35653
35654 * kern/efi/init.c: Include grub/mm.h.
35655 (grub_efi_set_prefix): New function.
35656
35657 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35658 (grub_efi_get_filename): New function.
35659 (grub_print_device_path): Renamed to ...
35660 (grub_efi_print_device_path): ... this.
35661
35662 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35663 [MM_DEBUG] (grub_realloc): Likewise.
35664 [MM_DEBUG] (grub_free): Likewise.
35665 [MM_DEBUG] (grub_memalign): Likewise.
35666 [MM_DEBUG] (grub_mm_debug): New variable.
35667 [MM_DEBUG] (grub_debug_malloc): New function.
35668 [MM_DEBUG] (grub_debug_free): New function.
35669 [MM_DEBUG] (grub_debug_realloc): New function.
35670 [MM_DEBUG] (grub_debug_memalign): New function.
35671
35672 * kern/misc.c (grub_abort): Print a newline to distinguish
35673 the message.
35674
35675 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35676 grub_set_root_dev after loading modules. This is necessary when
35677 setting a prefix depends on modules.
35678
35679 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35680 (grub_efi_print_device_path): ... this.
35681 (grub_efi_get_filename): New prototype.
35682 (grub_efi_set_prefix): Likewise.
35683
35684 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35685 and grub/disk.h.
35686 (grub_efidisk_get_device_handle): New prototype.
35687 (grub_efidisk_get_device_name): Likewise.
35688
35689 * include/grub/mm.h: Include config.h.
35690 (MM_DEBUG): Removed.
35691 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35692 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35693 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35694 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35695 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35696 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35697 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35698 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35699 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35700
35701 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35702
35703 * disk/efi/efidisk.c: Include grub/partition.h.
35704 (iterate_child_devices): New function.
35705 (add_device): First, compare only last device path nodes, so that
35706 devices are sorted by the types.
35707 (grub_efidisk_get_device_handle): New function.
35708 (grub_efidisk_get_device_name): Likewise.
35709
35710 * configure.ac (--enable-mm-debug): New option to enable the
35711 memory manager debugging feature. This makes the binary much
35712 bigger, so is disabled by default.
35713
9cacaa17 357142006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35715
35716 Use grub_abort instead of grub_stop, and grub_exit must be
35717 define in each architecture now. Also, this change adds support
35718 for EFI disks.
f19dbdb7 35719
9cacaa17 35720 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35721 (grub_getkey): New function.
35722 (grub_term_get_current): Likewise.
35723
35724 * util/i386/pc/grub-setup.c: Include grub/term.h.
35725 (grub_getkey): New function.
35726 (grub_term_get_current): Likewise.
35727
35728 * util/misc.c (grub_stop): Renamed to ...
35729 (grub_exit): ... this.
35730
35731 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35732 (grub_exit): ... this.
35733 (grub_machine_init): Use grub_abort instead of abort.
35734 (grub_stop): Removed.
35735
35736 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35737 abort.
35738
35739 * kern/i386/pc/startup.S (grub_exit): New function.
35740 (cold_reboot): New label.
35741
35742 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35743 (grub_efi_init): Call grub_efidisk_init.
35744 (grub_efi_fini): Call grub_efidisk_fini.
35745
35746 * kern/efi/efi.c: Include grub/mm.h.
35747 (grub_efi_console_control_guid): Renamed to ...
35748 (console_control_guid): ... this.
35749 (grub_efi_loaded_image_guid): Renamed to ...
35750 (loaded_image_guid): ... this.
35751 (grub_efi_locate_handle): New function.
35752 (grub_efi_open_protocol): Likewise.
35753 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35754 GRUB_EFI_CONSOLE_CONTROL_GUID.
35755 (grub_efi_exit): Removed.
35756 (grub_stop): Likewise.
35757 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35758 (grub_exit): New function.
35759 (grub_print_device_path): Likewise.
35760
35761 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35762 (grub_enter_rescue_mode): Register "exit".
35763
35764 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35765 (grub_abort): New function.
35766
35767 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35768
35769 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35770
35771 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35772
35773 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35774 (grub_print_device_path): New prototype.
35775 (grub_efi_locate_handle): Likewise.
35776 (grub_efi_open_protocol): Likewise.
35777
35778 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35779 * disk/efi/efidisk.c: Likewise.
35780
35781 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35782
35783 * include/grub/efi/console_control.h
35784 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35785
35786 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35787 last 8 bytes as an array.
35788 (GRUB_EFI_DISK_IO_GUID): New macro.
35789 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35790 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35791 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35792 grub_uint8_t.
35793 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35794 (struct grub_efi_device_path): Rename the member "sub_type" to
35795 "subtype".
35796 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35797 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35798 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35799 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35800 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35801 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35802 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35803 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35804 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35805 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35806 (struct grub_efi_pci_device_path): New structure.
35807 (grub_efi_pci_device_path_t): New type.
35808 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35809 (struct grub_efi_pccard_device_path): New structure.
35810 (grub_efi_pccard_device_path_t): New type.
35811 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35812 (struct grub_efi_memory_mapped_device_path): New structure.
35813 (grub_efi_memory_mapped_device_path_t): New type.
35814 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35815 (struct grub_efi_vendor_device_path): New structure.
35816 (grub_efi_vendor_device_path_t): New type.
35817 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35818 (struct grub_efi_controller_device_path): New structure.
35819 (grub_efi_controller_device_path_t): New type.
35820 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35821 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35822 (struct grub_efi_acpi_device_path): New structure.
35823 (grub_efi_acpi_device_path_t): New type.
35824 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35825 (struct grub_efi_expanded_acpi_device_path): New structure.
35826 (grub_efi_expanded_acpi_device_path_t): New type.
35827 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35828 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35829 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35830 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35831 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35832 (struct grub_efi_atapi_device_path): New structure.
35833 (grub_efi_atapi_device_path_t): New type.
35834 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35835 (struct grub_efi_fibre_channel_device_path): New structure.
35836 (grub_efi_fibre_channel_device_path_t): New type.
35837 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35838 (struct grub_efi_1394_device_path): New structure.
35839 (grub_efi_1394_device_path_t): New type.
35840 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35841 (struct grub_efi_usb_device_path): New structure.
35842 (grub_efi_usb_device_path_t): New type.
35843 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35844 (struct grub_efi_usb_class_device_path): New structure.
35845 (grub_efi_usb_class_device_path_t): New type.
35846 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35847 (struct grub_efi_i2o_device_path): New structure.
35848 (grub_efi_i2o_device_path_t): New type.
35849 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35850 (struct grub_efi_mac_address_device_path): New structure.
35851 (grub_efi_mac_address_device_path_t): New type.
35852 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35853 (struct grub_efi_ipv4_device_path): New structure.
35854 (grub_efi_ipv4_device_path_t): New type.
35855 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35856 (struct grub_efi_ipv6_device_path): New structure.
35857 (grub_efi_ipv6_device_path_t): New type.
35858 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35859 (struct grub_efi_infiniband_device_path): New structure.
35860 (grub_efi_infiniband_device_path_t): New type.
35861 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35862 (struct grub_efi_uart_device_path): New structure.
35863 (grub_efi_uart_device_path_t): New type.
35864 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35865 (struct grub_efi_vendor_messaging_device_path): New structure.
35866 (grub_efi_vendor_messaging_device_path_t): New type.
35867 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35868 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35869 (struct grub_efi_hard_drive_device_path): New structure.
35870 (grub_efi_hard_drive_device_path_t): New type.
35871 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35872 (struct grub_efi_cdrom_device_path): New structure.
35873 (grub_efi_cdrom_device_path_t): New type.
35874 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35875 (struct grub_efi_vendor_media_device_path): New structure.
35876 (grub_efi_vendor_media_device_path_t): New type.
35877 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35878 (struct grub_efi_file_path_device_path): New structure.
35879 (grub_efi_file_path_device_path_t): New type.
35880 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35881 (struct grub_efi_protocol_device_path): New structure.
35882 (grub_efi_protocol_device_path_t): New type.
35883 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35884 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35885 (struct grub_efi_bios_device_path): New structure.
35886 (grub_efi_bios_device_path_t): New type.
35887 (struct grub_efi_disk_io): New structure.
35888 (grub_efi_disk_io_t): New type.
35889 (struct grub_efi_block_io_media): New structure.
35890 (grub_efi_block_io_media_t): New type.
35891 (struct grub_efi_block_io): New structure.
35892 (grub_efi_block_io_t): New type.
35893
35894 * include/grub/misc.h (grub_stop): Removed.
35895 (grub_exit): New prototype.
35896 (grub_abort): Likewise.
35897
35898 * include/grub/disk.h (enum grub_disk_dev_id): Added
35899 GRUB_DISK_DEVICE_EFIDISK_ID.
35900
35901 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35902 disk/efi/efidisk.c.
35903 (kernel_syms.lst): Remove the target if an error occurs.
35904
49986a9f 359052006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35906
35907 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35908 as it was simply too buggy.
35909
970d3b8a 359102006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35911
35912 * kern/misc.c (grub_lltoa): New function.
35913 (grub_vsprintf): Added support for the long long suffix,
35914 i.e. "ll".
35915
ff04ec24 359162006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35917
35918 * Makefile.in (LDFLAGS): Add variable.
35919 (LD): Remove variable.
35920 * configure.ac: Add -m32 to LDFLAGS.
35921 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35922 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35923 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35924 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35925 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35926 variables.
35927 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35928 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35929 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35930
37e5e1a4 359312006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35932
35933 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35934 length for unknown glyph.
35935
c352d8dd 359362006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35937
2eab1c0d 35938 Add support for pre-loaded modules into the EFI port.
f19dbdb7 35939
2eab1c0d 35940 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35941 completely. Accept one more argument DIR. The caller has changed.
35942
35943 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35944
35945 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35946 (grub_efi_loaded_image_guid): New variable.
35947 (grub_efi_get_loaded_image): New function.
35948 (grub_arch_modules_addr): Likewise.
35949
35950 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35951 prototype.
35952
35953 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35954 (struct grub_efi_loaded_image): New structure.
35955 (grub_efi_loaded_image_t): New type.
35956
359572006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35958
c352d8dd 35959 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35960 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35961 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35962
6d01d6b4 359632006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35964
35965 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35966
976a4ea0 359672006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35968
35969 * DISTLIST: Added include/grub/efi/console.h,
35970 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35971 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35972
35973 * include/grub/efi/console.h: New file.
35974 * include/grub/efi/time.h: Likewise.
35975 * include/grub/i386/efi/kernel.h: Likewise.
35976 * kern/efi/init.c: Likewise.
35977 * kern/efi/mm.c: Likewise.
35978 * term/efi/console.c: Likewise.
f19dbdb7 35979
976a4ea0 35980 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35981 (grub_stop): Removed.
35982 (grub_get_rtc): Likewise.
35983 (grub_machine_init): Simply call grub_efi_init.
35984 (grub_machine_fini): Call grub_efi_fini.
35985
35986 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35987 (grub_efi_output_string): Removed.
35988 (grub_efi_stall): New function.
35989 (grub_stop): Likewise.
35990 (grub_get_rtc): Likewise.
35991
35992 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35993 (grub_efi_stall): New prototype.
35994 (grub_efi_allocate_pages): Likewise.
35995 (grub_efi_free_pages): Likewise.
35996 (grub_efi_get_memory_map): Likewise.
35997 (grub_efi_mm_init): Likewise.
35998 (grub_efi_mm_fini): Likewise.
35999 (grub_efi_init): Likewise.
36000 (grub_efi_fini): Likewise.
36001
36002 * include/grub/i386/efi/time.h: Do not include
36003 grub/symbol.h. Include grub/efi/time.h.
36004 (GRUB_TICKS_PER_SECOND): Removed.
36005 (grub_get_rtc): Likewise.
36006
36007 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
36008 Added padding. The EFI spec is buggy.
36009 (GRUB_EFI_BLACK): New macro.
36010 (GRUB_EFI_BLUE): Likewise.
36011 (GRUB_EFI_GREEN): Likewise.
36012 (GRUB_EFI_CYAN): Likewise.
36013 (GRUB_EFI_RED): Likewise.
36014 (GRUB_EFI_MAGENTA): Likewise.
36015 (GRUB_EFI_BROWN): Likewise.
36016 (GRUB_EFI_LIGHTGRAY): Likewise.
36017 (GRUB_EFI_BRIGHT): Likewise.
36018 (GRUB_EFI_DARKGRAY): Likewise.
36019 (GRUB_EFI_LIGHTBLUE): Likewise.
36020 (GRUB_EFI_LIGHTGREEN): Likewise.
36021 (GRUB_EFI_LIGHTCYAN): Likewise.
36022 (GRUB_EFI_LIGHTRED): Likewise.
36023 (GRUB_EFI_LIGHTMAGENTA): Likewise.
36024 (GRUB_EFI_YELLOW): Likewise.
36025 (GRUB_EFI_WHITE): Likewise.
36026 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
36027 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
36028 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
36029 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
36030 (GRUB_EFI_BACKGROUND_RED): Likewise.
36031 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
36032 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
36033 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
36034 (GRUB_EFI_TEXT_ATTR): Likewise.
36035
36036 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
36037 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36038 (kernel_mod_HEADERS): Added efi/time.h.
36039
83709125 360402006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
36041
36042 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
36043 include/grub/efi/api.h, include/grub/efi/console_control.h,
36044 include/grub/efi/efi.h, include/grub/efi/pe32.h,
36045 include/grub/i386/efi/time.h, kern/efi/efi.c,
36046 kern/i386/efi/init.c, kern/i386/efi/startup.S,
36047 and util/i386/efi/grub-mkimage.c.
36048
36049 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36050
36051 * genmk.rb (PModule#rule): Do not export symbols if
36052 #{prefix}_EXPORTS is set to "no".
36053
36054 * conf/i386-efi.mk: New file.
36055 * conf/i386-efi.rmk: Likewise.
36056 * include/grub/efi/api.h: Likewise.
36057 * include/grub/efi/console_control.h: Likewise.
36058 * include/grub/efi/efi.h: Likewise.
36059 * include/grub/efi/pe32.h: Likewise.
36060 * include/grub/i386/efi/time.h: Likewise.
36061 * kern/efi/efi.c: Likewise.
36062 * kern/i386/efi/init.c: Likewise.
36063 * kern/i386/efi/startup.S: Likewise.
36064 * util/i386/efi/grub-mkimage.c: Likewise.
36065
360662006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 36067
36068 * include/grub/script.h: Include <grub/parser.h> and
36069 "grub_script.tab.h".
36070 (struct grub_lexer_param): New struct.
36071 (struct grub_parser_param): Likewise.
36072 (grub_script_create_arglist): Pass the state in an argument.
36073 (grub_script_add_arglist): Likewise.
36074 (grub_script_create_cmdline): Likewise.
36075 (grub_script_create_cmdblock): Likewise.
36076 (grub_script_create_cmdif): Likewise.
36077 (grub_script_create_cmdmenu): Likewise.
36078 (grub_script_add_cmd): Likewise.
36079 (grub_script_arg_add): Likewise.
36080 (grub_script_lexer_ref): Likewise.
36081 (grub_script_lexer_deref): Likewise.
36082 (grub_script_lexer_record_start): Likewise.
36083 (grub_script_lexer_record_stop): Likewise.
36084 (grub_script_mem_record): Likewise.
36085 (grub_script_mem_record_stop): Likewise.
36086 (grub_script_malloc): Likewise.
36087 (grub_script_yylex): Likewise.
36088 (grub_script_yyparse): Likewise.
36089 (grub_script_yyerror): Likewise.
36090 (grub_script_yylex): Likewise.
36091 (grub_script_lexer_init): Return the state.
36092
36093 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36094 (grub_script_lexer_done): Likewise.
36095 (grub_script_lexer_getline): Likewise.
36096 (grub_script_lexer_refs): Likewise.
36097 (script): Likewise.
36098 (newscript): Likewise.
36099 (record): Likewise.
36100 (recording): Likewise.
36101 (recordpos): Likewise.
36102 (recordlen): Likewise.
36103 (grub_script_lexer_init): Return the state instead of setting
36104 global variables.
36105 (grub_script_lexer_ref): Use the newly added argument for state
36106 instead of globals.
36107 (grub_script_lexer_deref): Likewise.
36108 (grub_script_lexer_record_start): Likewise.
36109 (grub_script_lexer_record_stop): Likewise.
36110 (recordchar): Likewise.
36111 (nextchar): Likewise.
36112 (grub_script_yylex2): Likewise.
36113 (grub_script_yylex): Likewise.
36114 (grub_script_yyerror): Likewise.
36115
36116 * normal/parser.y (func_mem): Removed variable.
36117 (menu_entry): Likewise.
36118 (err): Likewise.
36119 (%lex-param): New parser option.
36120 (%parse-param): Likewise.
36121 (script): Always return the AST.
36122 (argument): Pass the state around.
36123 (arguments): Likewise.
36124 (grubcmd): Likewise.
36125 (commands): Likewise.
36126 (function): Likewise.
36127 (menuentry): Likewise.
36128 (if_statement): Likewise.
36129 (if): Likewise.
36130
36131 * normal/script.c (grub_script_memused): Removed variable.
36132 (grub_script_parsed): Likewise.
36133 (grub_script_malloc): Added a state argument. Use that instead of
36134 global variables.
36135 (grub_script_mem_record): Likewise.
36136 (grub_script_mem_record_stop): Likewise.
36137 (grub_script_arg_add): Likewise.
36138 (grub_script_add_arglist): Likewise.
36139 (grub_script_create_cmdline): Likewise.
36140 (grub_script_create_cmdif): Likewise.
36141 (grub_script_create_cmdmenu): Likewise.
36142 (grub_script_add_cmd): Likewise.
36143 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 36144
e2a8c904 361452006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 36146
36147 * normal/command.c (grub_command_init): Remove the title command.
36148
36149 * normal/lexer.c (grub_script_yylex): Renamed from this...
36150 (grub_script_yylex2): ... to this.
36151 (grub_script_yylex): New function. Temporary
36152 introduced to filter some tokens.
36153 (grub_script_yyerror): Print a newline.
36154
36155 * normal/main.c (read_config_file): Output information about the
36156 lines that contain errors. Wait for a key after all lines have
36157 been processed. Don't return an empty menu.
36158
36159 * normal/parser.y (func_mem): Don't initialize.
36160 (menu_entry): Likewise.
36161 (err): New variable.
36162 (script): Don't return anything when an error was encountered.
36163 (ws, returns): Removed rules.
36164 (argument): Disabled concatenated variable support.
36165 (arguments): Remove explicit separators.
36166 (grubcmd): Likewise.
36167 (function): Likewise.
36168 (menuentry): Likewise.
36169 (if): Likewise.
36170 (commands): Likewise. Add error handling.
36171
36172 * normal/script.c (grub_script_create_cmdline): If
36173 `grub_script_parsed' is 0, assume the parser encountered an error.
36174
c9a86192 361752006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36176
36177 * configure.ac: Add support for EFI. Fix the typo
36178 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36179
70f3b243 361802006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36181
36182 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36183 foreign multibyte characters should be shown correctly.
36184
65f201ad 361852006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36186
36187 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36188 calculation.
36189 (read_config_file): Made it to close file before returning.
36190
b4b93674 361912006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36192
36193 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36194 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36195 video/i386/pc/vbefill.c.
36196
36197 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36198 video/i386/pc/vbefill.c.
36199
36200 * include/grub/video.h (grub_video_blit_format): New enum.
36201 (grub_video_mode_info): Added new member blit_format.
36202 (grub_video_get_blit_format): New function prototype.
36203
36204 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36205 function prototype.
36206 (grub_video_vbe_map_rgb): Likewise.
36207 (grub_video_vbe_unmap_color): Likewise.
36208
36209 * include/grub/i386/pc/vbeblit.h: New file.
36210
36211 * include/grub/i386/pc/vbefill.h: New file.
36212
36213 * video/video.c (grub_video_get_blit_format): New function.
36214 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36215 (grub_video_vbe_map_rgb): Likewise.
36216 (grub_video_vbe_unmap_color): Likewise.
36217
36218 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36219 optimized fills.
36220 (grub_video_vbe_blit_render_target): Changed to use more optimized
36221 blits.
36222 (grub_video_vbe_setup): Added detection for optimized settings.
36223 (grub_video_vbe_create_render_target): Likewise.
36224
36225 * video/i386/pc/vbeblit.c: New file.
36226
36227 * video/i386/pc/vbefill.c: New file.
36228
c2379b9c 362292006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36230
36231 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36232 here...
36233
36234 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36235 parsing to support both hex and dec ranges. If filename was missing
36236 show usage information.
36237
bd0d7896 362382006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36239
36240 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36241 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36242
36243 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36244 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36245 (video_mod_SOURCES): Added.
36246 (video_mod_CFLAGS): Likewise.
36247 (video_mod_LDFLAGS): Likewise.
36248 (gfxterm_mod_SOURCES): Likewise.
36249 (gfxterm_mod_CFLAGS): Likewise.
36250 (gfxterm_mod_LDFLAGS): Likewise.
36251 (videotest_mod_SOURCES): Likewise.
36252 (videotest_mod_CFLAGS): Likewise.
36253 (videotest_mod_LDFLAGS): Likewise.
36254 (vesafb_mod_SOURCES): Removed.
36255 (vesafb_mod_CFLAGS): Likewise.
36256 (vesafb_mod_LDFLAGS): Likewise.
36257 (vga_mod_SOURCES): Likewise.
36258 (vga_mod_CFLAGS): Likewise.
36259 (vga_mod_LDFLAGS): Likewise.
36260
36261 * commands/videotest.c: New file.
36262
36263 * font/manager.c (fill_with_default_glyph): Modified to use
36264 grub_font_glyph.
36265 (grub_font_get_glyph): Likewise.
36266 (fontmanager): Renamed from this...
36267 (font_manager): ... to this.
36268
36269 * include/grub/font.h (grub_font_glyph): Added new structure.
36270 (grub_font_get_glyph): Modified to use grub_font_glyph.
36271
36272 * include/grub/misc.h (grub_abs): Added as inline function.
36273
36274 * include/grub/video.h: New file.
36275
36276 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36277 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36278 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36279 (grub_vbe_get_controller_info): Renamed from this...
36280 (grub_vbe_bios_get_controller_info): ... to this.
36281 (grub_vbe_get_mode_info): Renamed from this...
36282 (grub_vbe_bios_get_mode_info): ... to this.
36283 (grub_vbe_set_mode): Renamed from this...
36284 (grub_vbe_bios_set_mode): ... to this.
36285 (grub_vbe_get_mode): Renamed from this...
36286 (grub_vbe_bios_get_mode): ... to this.
36287 (grub_vbe_set_memory_window): Renamed from this...
36288 (grub_vbe_bios_set_memory_window): ... to this.
36289 (grub_vbe_get_memory_window): Renamed from this...
36290 (grub_vbe_bios_get_memory_window): ... to this.
36291 (grub_vbe_set_scanline_length): Renamed from this...
36292 (grub_vbe_set_scanline_length): ... to this.
36293 (grub_vbe_get_scanline_length): Renamed from this...
36294 (grub_vbe_bios_get_scanline_length): ... to this.
36295 (grub_vbe_set_display_start): Renamed from this...
36296 (grub_vbe_bios_set_display_start): ... to this.
36297 (grub_vbe_get_display_start): Renamed from this...
36298 (grub_vbe_bios_get_display_start): ... to this.
36299 (grub_vbe_set_palette_data): Renamed from this...
36300 (grub_vbe_bios_set_palette_data): ... to this.
36301 (grub_vbe_set_pixel_rgb): Removed.
36302 (grub_vbe_set_pixel_index): Likewise.
36303
36304 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36305 from this...
36306 (grub_vbe_bios_get_controller_info): ... to this.
36307 (grub_vbe_get_mode_info): Renamed from this...
36308 (grub_vbe_bios_get_mode_info): ... to this.
36309 (grub_vbe_set_mode): Renamed from this...
36310 (grub_vbe_bios_set_mode): ... to this.
36311 (grub_vbe_get_mode): Renamed from this...
36312 (grub_vbe_bios_get_mode): ... to this.
36313 (grub_vbe_set_memory_window): Renamed from this...
36314 (grub_vbe_bios_set_memory_window): ... to this.
36315 (grub_vbe_get_memory_window): Renamed from this...
36316 (grub_vbe_bios_get_memory_window): ... to this.
36317 (grub_vbe_set_scanline_length): Renamed from this...
36318 (grub_vbe_set_scanline_length): ... to this.
36319 (grub_vbe_get_scanline_length): Renamed from this...
36320 (grub_vbe_bios_get_scanline_length): ... to this.
36321 (grub_vbe_set_display_start): Renamed from this...
36322 (grub_vbe_bios_set_display_start): ... to this.
36323 (grub_vbe_get_display_start): Renamed from this...
36324 (grub_vbe_bios_get_display_start): ... to this.
36325 (grub_vbe_set_palette_data): Renamed from this...
36326 (grub_vbe_bios_set_palette_data): ... to this.
36327 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36328 getting corrupted after calling it. Added more pushes and pops.
36329 (grub_vbe_bios_set_mode): Likewise.
36330 (grub_vbe_bios_get_mode): Likewise.
36331 (grub_vbe_bios_get_memory_window): Likewise.
36332 (grub_vbe_bios_set_scanline_length): Likewise.
36333 (grub_vbe_bios_get_scanline_length): Likewise.
36334 (grub_vbe_bios_get_display_start): Likewise.
36335 (grub_vbe_bios_set_palette_data): Likewise.
36336
36337 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36338 (cl_insert): Likewise.
36339 (cl_delete): Likewise.
36340
36341 * term/gfxterm.c: New file.
36342
36343 * term/i386/pc/vesafb.c: Removed file.
36344
36345 * video/video.c: New file.
36346
36347 * video/i386/pc/vbe.c (real2pm): Added new function.
36348 (grub_video_vbe_draw_pixel): Likewise.
36349 (grub_video_vbe_get_video_ptr): Likewise.
36350 (grub_video_vbe_get_pixel): Likewise
36351 (grub_video_vbe_init): Likewise.
36352 (grub_video_vbe_fini): Likewise.
36353 (grub_video_vbe_setup): Likewise.
36354 (grub_video_vbe_get_info): Likewise.
36355 (grub_video_vbe_set_palette): Likewise.
36356 (grub_video_vbe_get_palette): Likewise.
36357 (grub_video_vbe_set_viewport): Likewise.
36358 (grub_video_vbe_get_viewport): Likewise.
36359 (grub_video_vbe_map_color): Likewise.
36360 (grub_video_vbe_map_rgb): Likewise.
36361 (grub_video_vbe_map_rgba): Likewise.
36362 (grub_video_vbe_unmap_color): Likewise.
36363 (grub_video_vbe_fill_rect): Likewise.
36364 (grub_video_vbe_blit_glyph): Likewise.
36365 (grub_video_vbe_blit_bitmap): Likewise.
36366 (grub_video_vbe_blit_render_target): Likewise.
36367 (grub_video_vbe_scroll): Likewise.
36368 (grub_video_vbe_swap_buffers): Likewise.
36369 (grub_video_vbe_create_render_target): Likewise.
36370 (grub_video_vbe_delete_render_target): Likewise.
36371 (grub_video_vbe_set_active_render_target): Likewise.
36372 (grub_vbe_set_pixel_rgb): Remove function.
36373 (grub_vbe_set_pixel_index): Likewise.
36374 (index_color_mode): Remove static variable.
36375 (active_mode): Likewise.
36376 (framebuffer): Likewise.
36377 (bytes_per_scan_line): Likewise.
36378 (grub_video_vbe_adapter): Added new static variable.
36379 (framebuffer): Likewise.
36380 (render_target): Likewise.
36381 (initial_mode): Likewise.
36382 (mode_in_use): Likewise.
36383 (mode_list): Likewise.
36384
5f97350b 363852006-03-10 Marco Gerards <marco@gnu.org>
36386
36387 * configure.ac (AC_INIT): Bumped to 1.93.
36388
36389 * DISTLIST: Added `include/grub/hfs.h'.
36390
a3c5c6f8 363912006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36392
36393 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36394 18H, which might help the BIOS falling back to next boot media.
36395
6de53d26 363962006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36397
36398 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36399 Poe Chen <poe.poechen@gmail.com>.
36400
77c4a393 364012006-01-17 Marco Gerards <marco@gnu.org>
36402
36403 * include/grub/normal.h: Include <grub/script.h>.
36404 (grub_command_list): Removed struct.
36405 (grub_command_list_t): Removed type.
36406 (grub_menu_entry): Remove members `num' and `command_list'. Add
36407 members `commands' and `sourcecode'.
36408 * include/grub/script.h: Add inclusion guards.
36409 (grub_script_cmd_menuentry): New struct.
36410 (grub_script_execute_menuentry): New prototype.
36411 (grub_script_lexer_record_start): Likewise.
36412 (grub_script_lexer_record_stop): Likewise.
36413 * normal/execute.c (grub_script_execute_menuentry): New function.
36414 * normal/lexer.c (record, recording, recordpos, recordlen): New
36415 variables.
36416 (grub_script_lexer_record_start): New function.
36417 (grub_script_lexer_record_stop): Likewise.
36418 (recordchar): Likewise.
36419 (nextchar): Likewise.
36420 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36421 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36422 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36423 (current_menu): New variable.
36424 (free_menu): Mainly rewritten.
36425 (grub_normal_menu_addentry): New function.
36426 (read_config_file): Rewritten.
36427 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 36428 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 36429 the menu entry.
36430 (run): Mainly rewritten.
36431 * normal/parser.y (menu_entry): New variable.
36432 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36433 (menuentry): New rule.
36434 (command): Add `menuentry'.
36435 (if_statement): Allow additional returns before `fi'.
36436 * normal/script.c (grub_script_create_cmdmenu): New function.
36437
144f1f98 364382006-01-03 Marco Gerards <marco@gnu.org>
36439
36440 * INSTALL: GNU Bison is required.
36441 * configure.ac: Rewritten the test to detect Bison.
36442 * Makefile.in (YACC): New variable. Reported by Xun Sun
36443 <xun.sun.cn@gmail.com>.
36444
af4b2d89 364452006-01-03 Marco Gerards <marco@gnu.org>
36446
36447 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36448 the HFS+ filesystem to filesystem blocks.
36449 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36450 GCC warning is silenced.
36451
15643b71 364522006-01-03 Marco Gerards <marco@gnu.org>
36453
36454 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36455 read from disk from big endian to host byte order.
36456
00905879 364572006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36458
36459 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36460 documentation.
36461 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36462 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36463 embedded HFS+ filesystem.
36464 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36465 (grub_hfs_sblock): Move from here...
36466 * include/grub/hfs.h: To here... New file.
36467 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36468 documentation.
36469 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36470 New macros.
36471 (grub_hfsplus_volheader): Change type of member `magic' to
36472 `grub_uint16_t'.
36473 (grub_hfsplus_data): Add new member `embedded_offset'.
36474 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36475 returned block.
36476 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36477 Calculate the offset.
36478
8899bc3e 364792005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36480
36481 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36482 Removed.
36483 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36484
ae8c0277 364852005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36486
36487 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36488 ENV->NAME is NULL after allocating ENV->VALUE.
36489
07084456 364902005-12-25 Marco Gerards <marco@gnu.org>
36491
36492 * kern/env.c (grub_env_set): Rewritten the error handling code.
36493
4750f5f1 364942005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36495
36496 * geninit.sh: Made more robust, and more portable.
36497
50214199 364982005-12-25 Marco Gerards <marco@gnu.org>
36499
36500 Add support for Apple HFS+ filesystems.
f19dbdb7 36501
50214199 36502 * fs/hfsplus.c: New file.
36503
36504 * DISTLIST: Added `fs/hfsplus.c'.
36505
36506 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36507 (hfsplus_mod_SOURCES): New variable.
36508 (hfsplus_mod_CFLAGS): Likewise.
36509 (hfsplus_mod_LDFLAGS): Likewise.
36510 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36511 (grub_setup_SOURCES): Likewise.
36512 (grub_mkdevicemap_SOURCES): Likewise.
36513 (grub_emu_SOURCES): Likewise.
36514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36515
36516 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36517
36518 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36519
befaed6c 365202005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36521
36522 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36523 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36524 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36525 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36526 normal/lexer.c, normal/parser.y, normal/script.c, and
36527 partmap/gpt.c.
36528 Removed kern/sparc64/cache.c.
36529
36530 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36531 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36532 grub_emu_init.c.
36533
36534 * configure.ac (AC_INIT): Bumped to 1.92.
36535
6a124103 365362005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36537
36538 * kern/err.c (grub_error_push): Added new function to support error
36539 stacks.
36540 (grub_error_pop): Likewise.
36541 (grub_error_stack_items): New local variable to support error stacks.
36542 (grub_error_stack_pos): Likewise.
36543 (grub_error_stack_assert): Likewise.
36544 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36545 stack depth.
36546 (grub_print_error): Added support to print errors from error stack.
36547
36548 * include/grub/err.h (grub_error_push): Added function prototype.
36549 (grub_error_pop): Likewise.
36550
be973c1b 365512005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36552
36553 * configure.ac: Accept `powerpc64' as host_cpu.
36554 (amd64): Rename to `biarch32'.
36555
36556 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36557 non-cacheline-aligned addresses.
36558
36559 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36560 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36561 if `size' is non-zero.
36562
b04216ab 365632005-12-03 Marco Gerards <mgerards@xs4all.nl>
36564
36565 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36566 and `cd' to make sure the filename is not prefixed with a
36567 directory name.
36568 (pkgdata_MODULES): Add `gpt.mod'.
36569 (gpt_mod_SOURCES): New variable.
36570 (gpt_mod_CFLAGS): Likewise.
36571 (gpt_mod_LDFLAGS): Likewise.
36572
36573 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36574
36575 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36576 New macro.
36577
36578 * partmap/gpt.c: New file.
36579
36580 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36581 GPT partition map is detected.
36582
41730ed9 365832005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36584
36585 * commands/i386/pc/play.c: New file.
36586 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36587 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36588 macros.
f19dbdb7 36589
95dc3643 365902005-11-27 Marco Gerards <mgerards@xs4all.nl>
36591
36592 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36593 ((unused))' to silence gcc warning.
36594
1569ec51 365952005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36596
36597 * configure.ac: Correct `AC_PROG_YACC' test.
36598
9abde152 365992005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36600
36601 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36602 check before installing files.
36603
44b83271 366042005-11-22 Mike Small <smallm@panix.com>
36605
36606 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36607 number regex so multidigit numbers are recognized correctly.
36608
366092005-11-22 Mike Small <smallm@panix.com>
36610
36611 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36612 debugging message before attempting to claim memory.
36613 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36614 multiple addresses in case of failure.
36615
9c12956b 366162005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36617
36618 * term/tparm.c (get_space): Remove empty `if' statement.
36619
36620 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36621
36622 * kern/parser.c (check_varstate): Rename `state' to 's'.
36623
aeaf81d9 366242005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36625
36626 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36627 variable definitions to the beginning of each function. Sort stack
36628 variables by size.
36629 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36630 `buf' argument to `char *'.
36631
79bbb63f 366322005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36633
36634 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36635 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36636 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 36637 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36638 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36639 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36640 configfile.mod, search.mod, gzio.mod and test.mod.
36641 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36642 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36643 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36644 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36645 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36646 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36647 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36648 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36649 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36650 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36651 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36652 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36653 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36654 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36655 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36656 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36657 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36658 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36659 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36660 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36661 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36662 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36663 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36664
36665 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36666 `grep --include'.
36667 (pkgdata_MODULES): Add test.mod.
36668
233b1628 366692005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36670
36671 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36672 appending to variables with "+=".
36673 (PModule): Use full pathname to generate *.lst filenames.
36674
36675 * Makefile.in: Fixed list rules moved from genmk.rb.
36676 (.DELETE_ON_ERROR): New special target.
36677 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36678
36679 * conf/i386-pc.rmk: Include conf/common.mk.
36680 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36681 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 36682 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36683 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36684 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36685 configfile.mod, search.mod, gzio.mod and test.mod.
36686 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36687 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36688 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36689 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36690 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36691 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36692 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36693 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36694 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36695 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36696 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36697 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36698 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36699 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36700 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36701 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36702 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36703 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36704 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36705 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36706 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36707 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36708 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36709 here...
36710 * conf/common.rmk: ... to here. New file.
36711
36712 * conf/common.mk: New file.
36713
16f820c8 367142005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36715
36716 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36717 (grub_script.tab.c): ... here.
36718
36719 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36720 (grub_script.tab.c): ... here.
36721
36722 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36723 (grub_script.tab.c): ... here.
36724
36725 * normal/command.c (grub_command_find): Fixed a memory leak of
36726 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36727
63ba1554 367282005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36729
36730 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36731 "@" which marks the start of a comment on ARM.
36732 (VARIABLE): Likewise.
36733
7f67dc13 367342005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36735
79bbb63f 36736 Add support for Linux/ADFS partition tables.
7f67dc13 36737
36738 * partmap/acorn.c: New file.
36739
36740 * include/grub/acorn_filecore.h: Likewise.
36741
36742 * DISTLIST: Added `partmap/acorn.c' and
36743 `include/grub/acorn_filecore.h'.
f19dbdb7 36744
7f67dc13 36745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36746 `partmap/acorn.c'.
36747 (pkgdata_MODULES): Add `acorn.mod'.
36748 (acorn_mod_SOURCES): New variable.
36749 (acorn_mod_CFLAGS): Likewise.
36750
36751 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36752 `partmap/acorn.c'.
36753 (pkgdata_MODULES): Add `acorn.mod'.
36754 (acorn_mod_SOURCES): New variable.
36755 (acorn_mod_CFLAGS): Likewise.
36756
36757 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36758 (pkgdata_MODULES): Add `acorn.mod'.
36759 (acorn_mod_SOURCES): New variable.
36760 (acorn_mod_CFLAGS): Likewise.
36761 (acorn_mod_LDFLAGS): Likewise.
36762
36763 * include/types.h (grub_disk_addr_t): New typedef.
36764
6d099807 367652005-11-13 Marco Gerards <mgerards@xs4all.nl>
36766
36767 * geninit.sh: New file.
36768
36769 * geninitheader.sh: Likewise.
36770
36771 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36772 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36773 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36774 * commands/configfile.c (grub_configfile_init)
36775 (grub_configfile_fini): Likewise.
36776 * commands/default.c (grub_default_init, grub_default_fini):
36777 Likewise.
36778 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36779 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36780 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36781 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36782 Likewise.
36783 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36784 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36785 Likewise.
36786 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 36787 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 36788 Likewise.
36789 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36790 Likewise.
fe6b695a 36791 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 36792 Likewise.
36793 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36794 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36795 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36796 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36797 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36798 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36799 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36800 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36801 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36802 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36803 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36804 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36805 * partmap/amiga.c (grub_amiga_partition_map_init)
36806 (grub_amiga_partition_map_fini): Likewise.
36807 * partmap/apple.c (grub_apple_partition_map_init)
36808 (grub_apple_partition_map_fini): Likewise.
36809 * partmap/pc.c (grub_pc_partition_map_init)
36810 (grub_pc_partition_map_fini): Likewise.
36811 * partmap/sun.c (grub_sun_partition_map_init,
36812 grub_sun_partition_map_fini): Likewise.
36813 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36814 Likewise.
36815
36816 * util/grub-emu.c: Include <grub_modules_init.h>.
36817 (main): Don't initialize and de-initialize any modules directly,
36818 use `grub_init_all' and `grub_fini_all' instead.
36819
36820 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36821 `grub_vesafb_mod_init'.
36822 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36823 all users.
36824 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36825 `grub_vga_mod_init'. Updated all users.
36826 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 36827
6d099807 36828 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36829 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36830 rules.
36831
36832 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36833 Generate a function to initialize the module in utilities.
36834 Updated all callers.
36835 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36836 initialize the module in utilities. Updated all callers.
36837
9046bcf0 368382005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36839
36840 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36841 escape sequence and a literal ^L to clear the screen.
36842
36843 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36844 when returning from Open Firmware.
36845
d13ea639 368462005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36847
36848 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36849 (grub_ofconsole_height): Likewise.
36850 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36851 manually insert a '\n'.
36852 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36853 `grub_ofconsole_height'. Return early if these are already set.
36854
a8fcf206 368552005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36856
36857 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36858 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36859 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36860 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36861 and `normal/script.c'.
36862 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36863 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36864 (test_mod_SOURCES): New variable.
36865 (test_mod_CFLAGS): Likewise.
36866 (test_mod_LDFLAGS): Likewise.
36867 (pkgdata_MODULES): Add `test.mod'.
36868 (grub_script.tab.c): New rule.
36869 (grub_script.tab.h): Likewise.
36870
b6b32745 368712005-11-07 Marco Gerards <mgerards@xs4all.nl>
36872
36873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36874 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36875 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36876 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36877 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36878 (test_mod_SOURCES): New variable.
36879 (test_mod_CFLAGS): Likewise.
36880 (pkgdata_MODULES): Add `test.mod'.
36881 (grub_script.tab.c): New rule.
36882 (grub_script.tab.h): Likewise.
36883
daac212a 368842005-11-06 Marco Gerards <mgerards@xs4all.nl>
36885
36886 Add initial scripting support.
36887
36888 * commands/test.c: New file.
36889 * include/grub/script.h: Likewise.
36890 * normal/execute.c: Likewise.
36891 * normal/function.c: Likewise.
36892 * normal/lexer.c: Likewise.
36893 * normal/parser.y: Likewise.
36894 * normal/script.c: Likewise.
36895
36896 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 36897
daac212a 36898 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36899 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36900 `normal/function.c' and `normal/script.c'.
36901 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36902 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 36903 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36904 variables.
daac212a 36905 (pkgdata_MODULES): Add `test.mod'.
36906 (grub_script.tab.c): New rule.
36907 (grub_script.tab.h): Likewise.
36908
36909 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36910
36911 * include/grub/normal.h (grub_test_init): New prototype.
36912 (grub_test_fini): Likewise.
f19dbdb7 36913
daac212a 36914 * normal/command.c: Include <grub/script.h>.
36915 (grub_command_execute): Rewritten.
f19dbdb7 36916
daac212a 36917 * util/grub-emu.c (main): Call `grub_test_init' and
36918 `grub_test_fini'.
36919
77500b2b 369202005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36921
36922 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36923 to 0.
36924 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36925 there are no pending characters.
36926
e45deb9e 369272005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36928
36929 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36930 `grub_strndup' to drop device arguments. Replace unnecessary
36931 `grub_strndup' with `grub_strdup'.
36932
4ce32619 369332005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36934
36935 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36936 `debug' environment variable has been set.
36937
369382005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 36939
4ce32619 36940 * Makefile.in (install-local): Use $(DATA).
36941 (uninstall): Likewise.
36942 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36943 (sbin_UTILITIES): ... to here.
36944 (sbin_SCRIPTS): New variable.
36945 (grub_install_SOURCES): New variable.
36946 * util/powerpc/ieee1275/grub-install.in: New file.
36947 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36948 variable.
36949 (add_segments): Call `grub_util_get_path'.
36950
25fe6f03 369512005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36952
36953 From Timothy Baldwin:
36954 * commands/ls.c (grub_ls_list_files): Close FILE with
36955 grub_file_close.
36956 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36957
04ccf3ec 369582005-10-24 Marco Gerards <mgerards@xs4all.nl>
36959
36960 * include/grub/parser.h: New file.
36961
36962 * kern/parser.c: Likewise.
36963
36964 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36965 (grub_setup_SOURCES): Likewise.
36966 (grub_probefs_SOURCES): Likewise.
36967 (grub_emu_SOURCES): Likewise.
36968 (kernel_img_HEADERS): Add `parser.h'.
36969
36970 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36971 (grub_emu_SOURCES): Add `kern/parser.c'.
36972 (grubof_SOURCES): Likewise.
36973
36974 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36975 (grubof_SOURCES): Add `kern/parser.c'.
36976
36977 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36978
36979 * kern/misc.c (grub_split_cmdline): Removed function.
36980
36981 * kern/rescue.c: Include <grub/parser.h>.
36982 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36983 of `grub_split_cmdline'.
36984
36985 * normal/command.c: Include <grub/parser.h>.
36986 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36987 of `grub_split_cmdline'.
36988
36989 * normal/completion.c: Include <grub/parser.h>.
36990 (cmdline_state): New variable.
36991 (iterate_dir): End the filename with a quote depending on the
36992 command line state.
36993 (get_state): new function.
36994 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36995 split the arguments and determine the current argument. When the
36996 argument string is not quoted, escape all spaces.
36997
6d8f4b0e 369982005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36999
37000 * normal/sparc64/setjmp.S: New file.
37001
15cf03ed 370022005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37003
37004 * include/grub/sparc64/libgcc.h: New file.
37005 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
37006 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
37007 normal/sparc64/setjmp.c.
37008
03e8661a 370092005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37010
37011 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
37012 * kern/sparc64/cache.S: New file.
37013 * kern/sparc64/cache.c: Removed.
37014 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
37015 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
37016 -mtune=ultrasparc.
37017 (COMMON_LDFLAGS): Add -melf64_sparc.
37018 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
37019 (grubof_SOURCES): Use cache.S instead of cache.c.
37020 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
37021 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
37022 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
37023 commented though.
37024 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
37025 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
37026 (linux_mod_CFLAGS): Commented out.
37027 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
37028 out because module isn't built.
37029 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
37030 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
37031 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
37032 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
37033 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
37034 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37035 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37036 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
37037 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
37038 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
37039 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37040 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37041 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
37042 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
37043
34eeec8a 370442005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
37045
37046 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
37047 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
37048 longer, because HFS should not be used on PC.
37049
708367a3 370502005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37051
37052 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37053 consistently within the loop.
37054
6fa1251a 370552005-10-15 Marco Gerards <mgerards@xs4all.nl>
37056
37057 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37058 directory can not be read.
37059
4801580b 370602005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37061
37062 * configure.ac (AC_INIT): Increase the version number to 1.91.
37063
37064 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37065 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37066 term/i386/pc/serial.c.
37067
219ad426 370682005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37069
37070 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37071 file size must be permitted.
37072
37073 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37074 between %ah and %al.
37075
688e5699 370762005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37077
37078 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37079 grub_uint64_t.
37080 Call the hook with a NUL-terminated filename.
37081 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37082 grub_cpu_to_be32.
37083
37084 * kern/term.c (cursor_state): New variable.
37085 (grub_term_set_current): Reset the cursor state on a new
37086 terminal.
37087 (grub_setcursor): Rewritten to use CURSOR_STATE.
37088 (grub_getcursor): New function.
37089
37090 * include/grub/term.h (grub_getcursor): New prototype.
37091
37092 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37093 integers on ARM. Reported by Timothy Baldwin
37094 <T.E.Baldwin99@members.leeds.ac.uk>.
37095
bb34586c 370962005-10-11 Marco Gerards <mgerards@xs4all.nl>
37097
37098 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37099 allocated.
37100 (grub_sfs_dir): Likewise.
37101
9a909877 371022005-10-09 Marco Gerards <mgerards@xs4all.nl>
37103
37104 Add support for the SFS filesystem.
37105
37106 * fs/sfs.c: New file.
37107
37108 * DISTLIST: Added `fs/sfs.c'.
37109
37110 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37111 (grub_probefs_SOURCES): Likewise.
37112 (grub_emu_SOURCES): Likewise.
37113 (pkgdata_MODULES): Add `sfs.mod'.
37114 (sfs_mod_SOURCES): New variable.
37115 (sfs_mod_CFLAGS): Likewise.
37116 (sfs_mod_LDFLAGS): Likewise.
37117
37118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37119 (pkgdata_MODULES): Add `sfs.mod'.
37120 (sfs_mod_SOURCES): New variable.
37121 (sfs_mod_CFLAGS): Likewise.
37122
37123 * util/grub-emu.c (main): Call `grub_sfs_init' and
37124 `grub_sfs_fini'.
37125
37126 * include/grub/fs.h (grub_sfs_init): New prototype.
37127 (grub_sfs_fini): Likewise.
37128
57bdbde3 371292005-10-07 Marco Gerards <mgerards@xs4all.nl>
37130
37131 Add support for the AFFS filesystem.
37132
37133 * fs/affs.c: New file.
37134
37135 * DISTLIST: Added `fs/affs.c'.
37136
37137 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37138 (grub_probefs_SOURCES): Likewise.
37139 (grub_emu_SOURCES): Likewise.
37140 (pkgdata_MODULES): Add `affs.mod'.
37141 (affs_mod_SOURCES): New variable.
37142 (affs_mod_CFLAGS): Likewise.
37143 (affs_mod_LDFLAGS): Likewise.
37144
37145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37146 (pkgdata_MODULES): Add `affs.mod'.
37147 (affs_mod_SOURCES): New variable.
37148 (affs_mod_CFLAGS): Likewise.
37149
37150 * util/grub-emu.c (main): Call `grub_affs_init' and
37151 `grub_affs_fini'.
37152
37153 * include/grub/fs.h (grub_affs_init): New prototype.
37154 (grub_affs_fini): Likewise.
37155
047b67e0 371562005-10-01 Marco Gerards <mgerards@xs4all.nl>
37157
37158 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
37159
59b8208a 371602005-10-01 Marco Gerards <mgerards@xs4all.nl>
37161
37162 * configure.ac: Accept `x86_64' as host_cpu. In that case add
37163 `-m32' to CFLAGS.
37164
37165 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
37166 linking.
f19dbdb7 37167
59b8208a 37168 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37169 (COMMON_LDFLAGS): New variable.
37170 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37171 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37172 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37173 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37174 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37175 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37176 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37177 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37178 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37179 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37180 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37181 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37182 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37183 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37184 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37185 variables.
37186 (normal_mod_ASFLAGS): Add `-m32'.
37187
37188 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37189 (grub_host_size_t, grub_host_ssize_t): New types.
37190 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 37191 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 37192 `GRUB_HOST_SIZEOF_VOID_P'.
37193
37194 * include/grub/kernel.h (struct grub_module_header): Type of
37195 member offset changed to `grub_host_off_t'. Type of member size
37196 changed to `grub_host_size_t'.
37197 (struct grub_module_info): Type of member offset changed to
37198 `grub_host_off_t'. Type of member size changed to
37199 `grub_host_size_t'.
37200
b4093103 372012005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37202
37203 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 37204
b4093103 37205 * kern/i386/pc/startup.S (multiboot_header): New label.
37206 (multiboot_entry): Likewise.
37207 (multiboot_trampoline): Likewise.
37208
37209 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37210 Increased to 0x4A0.
37211
37212 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37213 put parentheses after a question mark.
37214 [!GRUB_UTIL] (my_mod): New variable.
37215
37216 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37217
b2499b29 372182005-09-28 Marco Gerards <mgerards@xs4all.nl>
37219
37220 Adds support for the XFS filesystem. Btrees are not supported
37221 yet.
37222
37223 * fs/xfs.c: New file.
37224
37225 * DISTLIST: Added `fs/xfs.c'.
37226
37227 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37228 (grub_probefs_SOURCES): Likewise.
37229 (grub_emu_SOURCES): Likewise.
37230 (pkgdata_MODULES): Add `xfs.mod'.
37231 (xfs_mod_SOURCES): New variable.
37232 (xfs_mod_CFLAGS): Likewise.
37233
37234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37235 (pkgdata_MODULES): Add `xfs.mod'.
37236 (xfs_mod_SOURCES): New variable.
37237 (xfs_mod_CFLAGS): Likewise.
37238
37239 * util/grub-emu.c (main): Call `grub_xfs_init' and
37240 `grub_xfs_fini'.
37241
37242 * include/grub/fs.h (grub_xfs_init): New prototype.
37243 (grub_xfs_fini): Likewise.
37244
f19dbdb7 37245
83d37a62 372462005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37247
37248 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37249 color modes, allow greater than 16 colors to be configured as
37250 a default palette.
37251
47d2d65e 372522005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37253
37254 * normal/completion.c (complete_arguments): Add the qualifier
37255 const into OPTIONS.
37256
37257 From Omniflux <omniflux+lists@omniflux.com>:
37258 * include/grub/terminfo.h: New file.
37259 * include/grub/tparm.h: Likewise.
37260 * include/grub/i386/pc/serial.h: Likewise.
37261 * term/terminfo.c: Likewise.
37262 * term/tparm.c: Likewise.
37263 * term/i386/pc/serial.c: Likewise.
37264 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37265 serial.mod.
37266 (terminfo_mod_SOURCES): New variable.
37267 (terminfo_mod_CFLAGS): Likewise.
37268 (serial_mod_SOURCES): Likewise.
37269 (serial_mod_CFLAGS): Likewise.
37270
48b671ff 372712005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37272
37273 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37274 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37275 and kern/powerpc/ieee1275/cmain.c, respectively.
37276
37277 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37278 * kern/powerpc/ieee1275/crt0.S: ... here.
37279
37280 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37281 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 37282
48b671ff 37283 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37284 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37285 instead of boot/powerpc/ieee1275/crt0.S and
37286 boot/powerpc/ieee1275/cmain.c, respectively.
37287
37288 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37289 sectors. It was not used anyway.
37290
09fc77a7 372912005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37292
37293 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37294 `unused parameter' warning.
37295
003789c7 372962005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37297
37298 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37299 function.
37300 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37301 getcharwidth.
37302
67f44c86 373032005-08-28 Marco Gerards <metgerards@student.han.nl>
37304
37305 * include/grub/normal.h (enum grub_completion_type): Added
37306 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37307
37308 * normal/cmdline.c (print_completion): Handle
37309 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37310 * normal/menu_entry.c (store_completion): Likewise.
37311
37312 * normal/completion.c (complete_arguments): New function.
37313 (grub_normal_do_completion): Call `complete_arguments' when the
37314 current words start with a dash.
37315
0b5abe02 373162005-08-27 Marco Gerards <metgerards@student.han.nl>
37317
37318 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37319 `gzio.mod' instead of `io.mod').
37320
d9864ee1 373212005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37322
37323 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37324 (DISTDIRS): Added io and video.
37325 Rewrite the search routine to make an output consistently.
37326
37327 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37328 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37329 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37330 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37331 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37332 util/powerpc/ieee1275/misc.c.
f19dbdb7 37333
d9864ee1 37334 * include/grub/gzio.h: New file.
37335 * io/gzio.c: Likewise.
f19dbdb7 37336
d9864ee1 37337 * kern/file.c (grub_file_close): Call grub_device_close only if
37338 FILE->DEVICE is not NULL.
37339
37340 * include/grub/mm.h [!NULL] (NULL): New macro.
37341
37342 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37343
37344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37345 (pkgdata_MODULES): Added gzio.mod.
37346 (gzio_mod_SOURCES): New variable.
37347 (gzio_mod_CFLAGS): Likewise.
37348
37349 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37350 (pkgdata_MODULES): Added gzio.mod.
37351 (gzio_mod_SOURCES): New variable.
37352 (gzio_mod_CFLAGS): Likewise.
37353
37354 * commands/cat.c: Include grub/gzio.h.
37355 (grub_cmd_cat): Use grub_gzfile_open instead of
37356 grub_file_open.
f19dbdb7 37357
d9864ee1 37358 * commands/cmp.c: Include grub/gzio.h.
37359 (grub_cmd_cmp): Use grub_gzfile_open instead of
37360 grub_file_open.
37361
37362 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37363 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37364 grub_file_open.
37365 (grub_rescue_cmd_module): Likewise.
37366
fa46f4b5 373672005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37368
37369 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37370 kern/sparc64/ieee1275/init.c because it contains _start.
37371 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37372
e9211b5d 373732005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37374
37375 * configure.ac: Add support for sparc64 host with ieee1275
37376 firmware.
37377 * configure: Generated from configure.ac.
37378 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37379 instead of int.
37380 (grub_ofdisk_read): Likewise.
37381 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37382 pointers as (void *) to remove a warning.
37383 (grub_ofdisk_close): Likewise.
37384 (grub_ofdisk_read): Likewise.
37385 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37386 returns, so make it return void to remove a warning.
37387 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37388 Corresponding prototype change.
37389 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37390 values, and cast the pointers as (void *) to remove a warning.
37391 (grub_mm_dump): Likewise.
37392 * conf/sparc64-ieee1275.mk: New file.
37393 * conf/sparc64-ieee1275.rmk: Likewise.
37394 * include/grub/sparc64/setjmp.h: Likewise.
37395 * include/grub/sparc64/types.h: Likewise.
37396 * include/grub/sparc64/ieee1275/console.h: Likewise.
37397 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37398 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37399 * include/grub/sparc64/ieee1275/time.h: Likewise.
37400 * kern/sparc64/cache.c: Likewise.
37401 * kern/sparc64/dl.c: Likewise.
37402 * kern/sparc64/ieee1275/init.c: Likewise.
37403 * kern/sparc64/ieee1275/openfw.c: Likewise.
37404
385c6a92 374052005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37406
37407 * util/console.c (grub_ncurses_putchar): If C is greater than
37408 0x7f, set C to a question mark.
37409 (grub_ncurses_getcharwidth): New function.
37410 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37411 getcharwidth.
37412
37413 * normal/menu.c (print_entry): Made aware of Unicode. First,
37414 convert TITLE to UCS-4, and predict the cursor position by
37415 grub_getcharwidth.
37416
37417 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37418 const to SRC.
37419 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37420
16ccb8b1 374212005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37422
37423 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37424 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37425 grub_strcat.
37426
37427 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37428 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37429 grub_strcpy and grub_strlen. Take it into account that a space
37430 character is inserted as a delimiter.
37431
6a85ce79 374322005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37433
37434 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 37435 invalid magic in the error.
6a85ce79 37436
37437 * commands/search.c: New file.
f19dbdb7 37438
6a85ce79 37439 * util/grub-emu.c (main): Call grub_search_init and
37440 grub_search_fini.
37441
37442 * kern/rescue.c (grub_rescue_print_disks): Removed.
37443 (grub_rescue_print_devices): New function.
37444 (grub_rescue_cmd_ls): Use grub_device_iterate with
37445 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37446 grub_rescue_print_disks.
37447
37448 * kern/partition.c (grub_partition_iterate): Return the result of
37449 PARTMAP->ITERATE instead of GRUB_ERRNO.
37450
37451 * kern/device.c: Include grub/partition.h.
37452 (grub_device_iterate): New function.
37453
37454 * include/grub/partition.h (grub_partition_iterate): Return int
37455 instead of grub_err_t.
37456
37457 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37458 prototype.
37459 [GRUB_UTIL] (grub_search_fini): Likewise.
37460
37461 * include/grub/device.h (grub_device_iterate): New prototype.
37462
37463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37464 commands/search.c.
37465 (pkgdata_MODULES): Added search.mod.
37466 (search_mod_SOURCES): New variable.
37467 (search_mod_CFLAGS): Likewise.
37468
37469 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37470 (pkgdata_MODULES): Added search.mod.
37471 (search_mod_SOURCES): New variable.
37472 (search_mod_CFLAGS): Likewise.
37473
37474 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37475 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37476 All callers changed.
37477
37478 * DISTLIST: Added commands/search.c.
37479
ef095434 374802005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37481
37482 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37483 conversion.
37484 (grub_getcharwidth): New function.
37485
37486 * kern/misc.c (grub_utf8_to_ucs4): New function.
37487
37488 * include/grub/term.h (struct grub_term): Added a new member
37489 "getcharwidth".
37490 (grub_getcharwidth): New prototype.
37491
37492 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37493
37494 * term/i386/pc/console.c (map_char): New function. Segregated from
37495 grub_console_putchar.
37496 (grub_console_putchar): Use map_char.
37497 (grub_console_getcharwidth): New function.
37498 (grub_console_term): Specified grub_console_getcharwidth as
37499 getcharwidth.
37500
37501 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37502 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37503
37504 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37505 GRUB_ERRNO.
37506 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37507 on grub_strtoul completely.
37508 (write_char): Declare local variables in the beginning of the
37509 function.
37510 (grub_vesafb_getcharwidth): New function.
37511 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37512 getcharwidth.
37513
1f0a95e4 375142005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37515
37516 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37517 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37518 commands/i386/pc/vbetest.c.
37519
37520 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37521 call grub_vbe_get_controller_info again, because the returned
37522 information is volatile.
37523 (grub_vbe_set_video_mode): Mostly rewritten.
37524 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37525 grub_vbe_status_t correctly.
37526 (grub_vbe_get_video_mode_info): Likewise.
37527 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37528 several if statements.
37529
37530 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37531 * commands/i386/pc/vbeinfo.c: ... this.
37532
37533 * commands/i386/pc/vbe_test.c: Renamed to ...
37534 * commands/i386/pc/vbetest.c: ... this.
37535
37536 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37537 ...
37538 (grub_cmd_vbeinfo): ... this. Save video modes before
37539 iterating. Skip a video mode, if it is not available, not enough
37540 information is given or it is monochrome. Show the memory
37541 model. Leave the interpretation of MODEVAR to grub_strtoul
37542 completely.
37543 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37544 (GRUB_MOD_FINI): Likewise.
37545
37546 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37547 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37548 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37549 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37550 grub_strtoul completely.
37551 (real2pm): Removed.
37552 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37553 (GRUB_MOD_FINI): Likewise.
37554
37555 * normal/misc.c: Include grub/mm.h.
37556
37557 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37558 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37559 (vbe_list_modes_mod_SOURCES): Removed.
37560 (vbe_list_modes_mod_CFLAGS): Likewise.
37561 (vbe_test_mod_SOURCES): Likewise.
37562 (vbe_test_mod_CFLAGS): Likewise.
37563 (vbeinfo_mod_SOURCES): New variable.
37564 (vbeinfo_mod_CFLAGS): Likewise.
37565 (vbetest_mod_SOURCES): Likewise.
37566 (vbetest_mod_CFLAGS): Likewise.
37567
992ffbbe 375682005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37569
37570 * normal/misc.c: New file.
37571
37572 * DISTLIST: Added normal/misc.c.
f19dbdb7 37573
992ffbbe 37574 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37575 DISK to HOOK. Call HOOK with DISK.
37576 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37577 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37578 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37579
37580 * normal/menu_entry.c (struct screen): Added a new member
37581 "completion_shown".
37582 (completion_buffer): New global variable.
37583 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37584 (store_completion): New function.
37585 (complete): Likewise.
37586 (clear_completions): Likewise.
37587 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37588 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37589 a tab, call complete.
37590
37591 * normal/completion.c (disk_dev): Removed.
37592 (print_simple_completion): Likewise.
37593 (print_partition_completion): Likewise.
37594 (print_func): New global variable.
37595 (add_completion): Do not take the arguments WHAT or PRINT any
37596 longer. Added a new argument TYPE. Instead of printing directly,
37597 call PRINT_FUNC if not NULL.
37598 All callers changed.
37599 (complete_device): Use a local variable DEV instead of
37600 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37601 (grub_normal_do_completion): Take a new argument HOOK. Do not
37602 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37603 empty string, return NULL instead.
37604 All callers changed.
37605
37606 * normal/cmdline.c (print_completion): New function.
37607
37608 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37609 to HOOK.
37610 All callers changed.
37611
37612 * kern/disk.c (grub_print_partinfo): Removed.
37613
37614 * include/grub/partition.h (struct grub_partition_map): Add a new
37615 argument DISK into HOOK of ITERATE.
37616 (grub_partition_iterate): Add a new argument DISK to HOOK.
37617
37618 * include/grub/normal.h (enum grub_completion_type): New enum.
37619 (grub_completion_type_t): New type.
37620 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37621 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37622 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37623 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37624 (grub_normal_do_completion): Added a new argument HOOK.
37625 (grub_normal_print_device_info): New prototype.
37626
37627 * include/grub/disk.h (grub_print_partinfo): Removed.
37628
37629 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37630 (normal_mod_SOURCES): Likewise.
37631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37632 (normal_mod_SOURCES): Likewise.
37633
37634 * commands/ls.c (grub_ls_list_disks): Use
37635 grub_normal_print_device_info instead of grub_print_partinfo. Free
37636 PNAME.
37637 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37638 duplicating the code.
37639
0bd41162 376402005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37641
37642 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 37643 follow GCS more precisely.
37644 * commands/i386/pc/vbe_test.c: Likewise.
37645 * include/grub/i386/pc/vbe.h: Likewise.
37646 * term/i386/pc/vesafb.c: Likewise.
37647 * video/i386/pc/vbe.c: Likewise.
0bd41162 37648
6323696a 376492005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37650
37651 * DISTLIST: Added term/i386/pc/vesafb.c
37652 DISTLIST: Added video/i386/pc/vbe.c
37653 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37654 DISTLIST: Added commands/i386/pc/vbe_test.c.
37655 * commands/i386/pc/vbe_list_modes.c: New file.
37656 * commands/i386/pc/vbe_test.c: Likewise.
37657 * term/i386/pc/vesafb.c: Likewise.
37658 * video/i386/pc/vbe.c: Likewise.
37659 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37660 (grub_vbe_probe) Added prototype.
37661 (grub_vbe_set_video_mode) Likewise.
37662 (grub_vbe_get_video_mode) Likewise.
37663 (grub_vbe_get_video_mode_info) Likewise.
37664 (grub_vbe_set_pixel_rgb) Likewise.
37665 (grub_vbe_set_pixel_index) Likewise.
37666 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37667 (pkgdata_MODULES): Added vesafb.mod.
37668 (pkgdata_MODULES): Added vbe_list_modes.mod.
37669 (pkgdata_MODULES): Added vbe_test.mod.
37670 (vbe_mod_SOURCES): Added.
37671 (vbe_mod_CFLAGS): Likewise.
37672 (vesafb_mod_SOURCES): Likewise.
37673 (vesafb_mod_CFLAGS): Likewise.
37674 (vbe_list_modes_mod_SOURCES): Likewise.
37675 (vbe_list_modes_mod_CFLAGS): Likewise.
37676 (vbe_test_mod_SOURCES): Likewise.
37677 (vbe_test_mod_CFLAGS): Likewise.
37678
0a74e62f 376792005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37680
0a74e62f 37681 * normal/command.c (grub_command_execute): If INTERACTIVE is
37682 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37683 CMDLINE. Disable the pager if INTERACTIVE is true.
37684 All callers are changed.
37685
37686 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37687 before reading a config file.
37688 * normal/main.c (read_config_file): Even if a command is not
37689 found, register it if it is within an entry.
37690
37691 * util/grub-emu.c: Include sys/types.h and unistd.h.
37692 (options): Added --hold.
37693 (struct arguments): Added a new member "hold".
37694 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37695 missing.
37696 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37697 cleared by a debugger, if it is not zero.
37698
37699 * include/grub/normal.h (grub_command_execute): Add an argument
37700 INTERACTIVE.
37701
e51f85ae 377022005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37703
37704 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37705
e9c6f39b 377062005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37707
37708 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37709 program with another one, because the old one didn't detect a bug
37710 in gcc-3.4. Always use regparm 2, because the new test is still
37711 not enough for gcc-4.0. Someone must investigate a simple test
37712 case which detects a bug in gcc-4.0.
37713
8de3495c 377142005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37715
37716 * DISTLIST: Added normal/completion.c.
37717
37718 * normal/completion.c: New file.
f19dbdb7 37719
8de3495c 37720 * term/i386/pc/console.c (grub_console_getwh): New function.
37721 (grub_console_term): Assign grub_console_getwh to getwh.
37722
37723 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37724 function is defined in normal/completion.c as
37725 grub_normal_do_completion.
37726 (grub_cmdline_get): Use grub_normal_do_completion instead of
37727 grub_tab_complete.
37728
37729 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37730 returns non-zero, otherwise return 0.
37731 (grub_partition_iterate): First, probe the partition map. Then,
37732 call ITERATE only for this partition map.
37733
37734 * kern/misc.c (grub_strncmp): Rewritten.
37735
37736 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37737 returns non-zero. Otherwise return 0.
37738
37739 * include/grub/partition.h (grub_partition_map_iterate): Return
37740 int instead of void.
37741
37742 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37743
37744 * include/grub/misc.h (grub_strncmp): Change the type of N to
37745 grub_size_t.
37746
37747 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37748 of void.
37749
37750 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 37751 unsigned explicitly before comparing it with I.
8de3495c 37752
37753 * kern/main.c (grub_env_write_root): Add the attribute unused into
37754 VAR.
37755
37756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37757 normal/completion.c.
37758 (normal_mod_SOURCES): Likewise.
37759 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37760 (normal_mod_SOURCES): Likewise.
37761
37762 * normal/command.c (grub_iterate_commands): If ITERATE returns
37763 non-zero, return one immediately.
37764
e85e144b 377652005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37766
37767 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37768 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37769 descriptions.
37770 (grub_vbe_get_controller_info): New function.
37771 (grub_vbe_get_mode_info): Likewise.
37772 (grub_vbe_set_mode): Likewise.
37773 (grub_vbe_get_mode): Likewise.
37774 (grub_vbe_set_memory_window): Likewise.
37775 (grub_vbe_get_memory_window): Likewise.
37776 (grub_vbe_set_scanline_length): Likewise.
37777 (grub_vbe_get_scanline_length): Likewise.
37778 (grub_vbe_set_display_start): Likewise.
37779 (grub_vbe_get_display_start): Likewise.
37780 (grub_vbe_set_palette_data): Likewise.
37781 * include/grub/i386/pc/vbe.h: New file.
37782
c46153d2 377832005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37784
37785 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37786 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37787 * DISTLIST: Likewise.
37788 * kern/ieee1275/of.c: Moved to ...
37789 * kern/ieee1275/ieee1275.c: ... here.
37790
0cb90c45 377912005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37792
37793 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37794 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37795 Pass 0 as `end' parameter to grub_strtoul().
37796
a19fb360 377972005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37798
37799 * include/grub/powerpc/ieee1275/console.h: Do not include
37800 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37801 ifdef.
37802 (grub_console_cur_color): Remove i386-specific prototype.
37803 (grub_console_real_putchar): Likewise.
37804 (grub_console_checkkey): Likewise.
37805 (grub_console_getkey): Likewise.
37806 (grub_console_getxy): Likewise.
37807 (grub_console_gotoxy): Likewise.
37808 (grub_console_cls): Likewise.
37809 (grub_console_setcursor): Likewise.
37810 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37811 Include <grub/machine/console.h>.
37812 * term/ieee1275/ofconsole.c: Likewise.
37813
4ac9bd04 378142005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37815
37816 * Makefile.in (LIBLZO): New variable.
37817
37818 * configure.ac: Check for LZO version 2.
37819
37820 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37821 lzo/lzo1x.h instead of lzo1x.h.
37822
37823 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37824 of -llzo.
37825
37826 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37827 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37828
37829 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37830 copying the data from PARTITION to P.
37831
f4917dfd 378322005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37833
37834 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37835 negative, unload the module.
37836
37837 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37838 map is "pc_partition_map" but not "pc".
37839 (usage): Fix the description. The options are --boot-image and
37840 --core-image but not --boot-file or --core-file.
37841 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37842 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37843 DEFAULT_DIRECTORY.
37844
37845 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37846 --core-file. Specify INSTALL_DEVICE as an argument.
37847
37848 * util/console.c: Include config.h.
37849 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37850 [HAVE_NCURSES_H]: Include ncurses.h.
37851 [HAVE_CURSES_H]: Include curses.h.
37852 [!A_NORMAL] (A_NORMAL): Defined as zero.
37853 [!A_STANDOUT] (A_STANDOUT): Likewise.
37854
37855 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37856 -lncurses.
37857 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37858
37859 * configure.ac: Check for curses libraries and headers.
37860
37861 * Makefile.in (LIBCURSES): New variable.
37862
37863 * genmk.rb (Script::rule): Set the executable bits.
37864
37865 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37866 name of the PC partition map is "pc_partition_map" but not "pc".
37867
0e143073 378682005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37869
37870 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37871 (modules): Likewise.
37872 (usage): Added descriptions for --modules and --grub-probefs.
37873 Handle --modules and --grub-probefs. Save the arguments in MODULES
37874 and GRUB_PROBEFS, respectively.
37875 Auto-detect a filesystem module against GRUBDIR. If the result is
37876 empty and modules are not specified explicitly, abort the
37877 installation. Add the result to MODULES.
37878
37879 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37880 disk/powerpc/ieee1275/ofdisk.c,
37881 include/grub/powerpc/ieee1275/init.h and
37882 term/powerpc/ieee1275/ofconsole.c.
37883 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37884 term/ieee1275/ofconsole.c.
37885
37886 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37887
37888 * COPYING: Upgraded to the latest version. Only the address of the
37889 FSF office has changed.
f19dbdb7 37890
efd6e6d5 378912005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37892
37893 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37894 kern/ieee1275.c with kern/ieee1275/of.c.
37895
37896 * kern/ieee1275.c: Moved to ...
37897 * kern/ieee1275/of.c: ... here.
37898
8ceafda2 378992005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37900
37901 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 37902 readability.
8ceafda2 37903
37904 * config.guess: Updated to the latest version from gnulib.
37905 * config.sub: Likewise.
37906 * install.sh: Likewise.
37907 * mkinstalldirs: Likewise.
37908
37909 * include/grub/console.h: Removed. This file is arch-specific. Do
37910 not put this in include/grub.
37911
37912 * include/grub/i386/pc/console.h: Resurrected.
37913
37914 * util/console.c: Include grub/machine/console.h instead of
37915 grub/console.h.
37916 * util/grub-emu.c: Likewise.
37917
267f6cd9 379182005-08-04 Marco Gerards <metgerards@student.han.nl>
37919
37920 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37921 hardcoded value.
f19dbdb7 37922
267f6cd9 37923 From Vincent Pelletier <subdino2004@yahoo.fr>
37924 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37925 Redefined to use grub_getwh.
37926 (grub_term): New member named getwh.
37927 (grub_getwh): New prototype.
37928 * kern/term.c (grub_getwh): New function.
37929 * term/i386/pc/console.c (grub_console_getwh): New function.
37930 (grub_console_term): New member `getwh'.
37931 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37932 (grub_vga_term): New member `getwh'.
0b5abe02 37933 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 37934 grub_ssize_t.
37935 (grub_ofconsole_getw): New function.
37936 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37937 (grub_ofconsole_term): New field named getwh and new initial
37938 value.
37939
3be7266d 379402005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37941
37942 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37943 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37944 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37945 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37946 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37947 of <grub/machine/ieee1275.h>.
37948 * commands/ieee1275/reboot.c: Likewise.
37949 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37950 * kern/ieee1275.c: ... to here. All users updated. Change all
37951 parameter structs to use new type `grub_ieee1275_cell_t'.
37952 * term/powerpc/ieee1275/ofconsole.c: Move ...
37953 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37954 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37955 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37956 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37957 to return int.
37958 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37959 Remove unused prototypes. All users updated.
37960 * include/grub/powerpc/ieee1275/console.h: Removed.
37961 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37962 `grub_ieee1275_cell_t'.
37963 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37964 Cast comparisons with -1 to the correct type.
37965 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37966 type to match `grub_ieee1275_entry_fn'.
37967
8b5f3938 379682005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37969
37970 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37971
37972 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37973 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37974 partmap/sun.c.
37975 (grub_probefs_SOURCES): New variable.
37976
37977 * util/i386/pc/grub-probefs.c: New file.
37978
37979 * util/i386/pc/grub-setup.c (main): Call
37980 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37981 grub_hfs_init and grub_jfs_init to initialize the system. Call
37982 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37983 grub_pc_partition_map_fini to finish the system.
37984
ea409713 379852005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37986
37987 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37988 function.
37989 (grub_multiboot_load_elf32): Likewise.
37990 (grub_multiboot_is_elf64): Likewise.
37991 (grub_multiboot_load_elf64): Likewise.
37992 (grub_multiboot_load_elf): Likewise.
37993 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37994 an ELF32 or ELF64 file.
37995 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37996
37997 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37998 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37999 NULL before calling FS->LABEL.
38000 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
38001 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
38002 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
38003 before calling FS->LABEL.
38004
141a288b 380052005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
38006
38007 * util/i386/pc/grub-install.in (datadir): New variable.
38008 (libdir): Removed.
38009 (pkgdatadir): New variable.
38010 (pkglibdir): Removed.
38011
0d5f8a54 380122005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
38013
38014 * DISTLIST: Added util/i386/pc/grub-install.in.
38015
38016 * util/i386/pc/grub-install.in: New file.
38017
38018 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
38019 (grub_install_SOURCES): Likewise.
38020
38021 * genmk.rb: Added support for scripts.
38022 (Script): New class.
38023 (scripts): New variable.
38024
38025 * Makefile.in (install-local): Install sbin_SCRIPTS by
38026 INSTALL_SCRIPT.
38027 (uninstall): Remove sbin_SCRIPTS.
38028
38029 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
38030 device, try to get a GRUB device by
38031 grub_util_biosdisk_get_grub_dev.
38032 Free DEST_DEV.
38033
38034 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
38035 description for --device-map.
38036
5f968e1e 380372005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38038
38039 Change the semantics of variable hooks. They now return strings
38040 instead of error values.
f19dbdb7 38041
5f968e1e 38042 * util/i386/pc/grub-setup.c: Include grub/env.h.
38043 (setup): Use grub_device_set_root instead of grub_env_set.
38044
38045 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
38046 grub_env_get instead of grub_device_set_root and
38047 grub_device_get_root, respectively.
38048
38049 * kern/main.c (grub_env_write_root): New function.
38050 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38051 grub_env_set instead of grub_device_set_root.
38052
38053 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38054 many variables.
38055 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38056 rather than calling ENV->WRITE_HOOK afterwards.
38057 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38058 passing a pointer of a pointer.
38059 (grub_register_variable_hook): Change the types of "read_hook" and
38060 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38061 respectively.
38062 Allocate the default empty string on the heap, because this string
38063 may be freed later.
38064
38065 * kern/device.c: Include grub/env.h.
38066 (grub_device_set_root): Removed.
38067 (grub_device_get_root): Likewise.
38068 (grub_device_open): Use grub_env_get instead of
38069 grub_device_get_root.
38070
38071 * include/grub/env.h (grub_env_read_hook_t): New type.
38072 (grub_env_write_hook_t): Likewise.
38073 (grub_env_var): Change the types of "read_hook" and "write_hook"
38074 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38075 (grub_register_variable_hook): Likewise.
38076
38077 * include/grub/device.h (grub_device_set_root): Removed.
38078 (grub_device_set_root): Likewise.
38079
38080 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38081 make sure that DIRNAME terminates with '/', so that
38082 grub_fat_find_dir will fail if PATH is not a directory.
38083
38084 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38085 from DIRNAME.
38086 Use the qualifier auto for print_files and print_files_long.
38087 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38088 as a regular file.
38089 Put a newline only if there is no error.
38090 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38091 used.
38092
896f0afd 380932005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38094
38095 * kern/partition.c (grub_partition_probe): Initialize PART to
38096 NULL. Otherwise, when no partition map is registered, this returns
38097 a garbage.
38098
b28b81b2 380992005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38100
38101 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38102 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38103 valid.
38104
5f3607e0 381052005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38106
38107 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38108 information on each device, if it does not have partitions. Print
38109 "Device" instead of "Disk", because this function is not specific
38110 to disk devices.
38111
38112 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38113 static to ensure that it is put on the memory rather than a
38114 register.
38115
502c87e8 381162005-07-17 Yoshinori Okuji <okuji@enbug.org>
38117
38118 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38119 (grub_cat_init): Likewise.
38120 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38121 (options): Likewise.
38122 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38123 (grub_configfile_init): Likewise.
38124 * font/manager.c (GRUB_MOD_INIT): Likewise.
38125 * commands/help.c (GRUB_MOD_INIT): Likewise.
38126 (grub_help_init): Likewise.
38127 * normal/command.c (grub_command_init): Likewise.
38128 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38129 * disk/loopback.c (grub_loop_init): Likewise.
38130 (GRUB_MOD_INIT): Likewise.
38131 * commands/ls.c (grub_ls_init): Likewise.
38132 (GRUB_MOD_INIT): Likewise.
38133 (options): Likewise.
38134 * commands/boot.c (grub_boot_init): Likewise.
38135 (GRUB_MOD_INIT): Likewise.
38136 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38137 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38138 (GRUB_MOD_INIT): Likewise.
38139 * commands/cmp.c (grub_cmp_init): Likewise.
38140 (GRUB_MOD_INIT): Likewise.
38141
38142 * normal/arg.c: Use <> instead of "" to include header files.
38143 (SHORT_ARG_HELP): New macro.
38144 (SHORT_ARG_USAGE): Likewise.
38145 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38146 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38147 descriptions.
38148 (find_short): Check if C is 'h' or 'u' explicitly.
38149 (grub_arg_show_help): Use space characters instead of tabs. Treat
38150 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38151 are shown with --help and --usage only if they are not used for
38152 the command itself.
38153 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
38154 'h' and 'u'.
38155
38156 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
38157 const into "longarg". Change the type of "shortarg" to int.
38158
f806d18e 381592005-07-17 Yoshinori Okuji <okuji@enbug.org>
38160
38161 * boot/i386/pc/boot.S (boot_drive_check): New label.
38162
38163 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
38164 macro.
38165
38166 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
38167 which do not pass a boot drive correctly. Copied from GRUB Legacy.
38168
e293232b 381692005-07-17 Yoshinori Okuji <okuji@enbug.org>
38170
38171 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38172 When turning off Gate A20, skip the check and return immediately,
38173 because this is not fatal usually.
38174
ebedfd00 381752005-07-17 Yoshinori Okuji <okuji@enbug.org>
38176
38177 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38178 be 0x7C00 instead of 0x8000.
38179
38180 * boot/i386/pc/pxeboot.S: Rewritten.
38181
38182 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38183 EXT_C.
38184 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38185 result.
38186
654fc59f 381872005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38188
38189 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38190 robustness. This routine now supports a BIOS call and System
38191 Control Port A to modify the gate A20.
38192
38193 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38194 Increased to 0x440.
38195
09f9923f 381962005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38197
38198 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38199 device path and resulting ihandle.
38200 (grub_ofdisk_close): dprintf the ihandle being closed.
38201 (grub_ofdisk_read): dprintf function parameters.
38202 * kern/mm.c (grub_mm_init_region): Likewise.
38203 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38204 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38205 size, and boot arguments.
38206 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38207 before loading into memory.
38208 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38209 before loading into memory.
38210
7ef504d8 382112005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38212
38213 * kern/mm.c: Added much documentation.
38214 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38215 8, set to 5 instead of 8.
38216
e0f050c2 382172005-07-10 Yoshinori Okuji <okuji@enbug.org>
38218
38219 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38220
38221 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38222 (grub_mkdevicemap_SOURCES): New variable.
38223
38224 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38225 lib/device.c of GRUB Legacy.
38226
7224189a 382272005-07-10 Yoshinori Okuji <okuji@enbug.org>
38228
38229 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38230 instead of PATH is NULL.
38231
68c864eb 382322005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38233
38234 * commands/cmp.c (BUFFER_SIZE): New macro.
38235 (grub_cmd_cmp): Close the right file at the right time. Compare
38236 only data just read. Don't report files of different size as
38237 identical. Dynamically allocate buffers. Move variable
38238 declarations at the beginning of function.
38239
e6f3e614 382402005-07-09 Yoshinori Okuji <okuji@enbug.org>
38241
38242 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38243 reverse.
38244
f8f1559a 382452004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38246
38247 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38248 when backspace is pressed at beginning of line.
38249
39c9d41d 382502005-07-03 Yoshinori Okuji <okuji@enbug.org>
38251
38252 * DISTLIST: Added genfslist.sh.
38253
38254 * normal/main.c (fs_module_list): New variable.
38255 (autoload_fs_module): New function.
38256 (read_fs_list): Likewise.
38257 (grub_normal_execute): Call read_fs_list.
38258
38259 * kern/fs.c (grub_fs_autoload_hook): New variable.
38260 (grub_fs_probe): Added support for auto-loading.
38261
38262 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38263 (grub_fs_module_list_t): New type.
38264
38265 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38266 (grub_fs_autoload_hook): New prototype.
38267
38268 * genfslist.sh: New file.
f19dbdb7 38269
39c9d41d 38270 * genmk.rb: Added a rule to generate a filesystem list.
38271
121c1d83 382722005-06-30 Marco Gerards <metgerards@student.han.nl>
38273
38274 * configure.ac: Fix the test for cross-compiling.
38275
38276 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38277 define GRUB_UTIL anymore.
38278
38279 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38280 so this function works on other systems than just big endian.
38281 (load_modules): Likewise.
38282 (add_segments): Likewise.
38283
e75d76e1 382842005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38285
38286 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38287 contains `l' modifier, get a long from va_arg().
38288
50b5a0a7 382892005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38290
38291 * kern/mm.c (grub_free): If the next free block which is being
38292 merged is the first free block, set the first block to the block
38293 being freed.
38294 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38295
89371b20 382962005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38297
38298 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38299 `grub_ieee1275_chosen'.
38300
168d6e58 383012005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38302
38303 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38304 (grub_ieee1275_chosen): New variable.
38305 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38306 `chosen'.
38307 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38308 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38309 Rename first argument to `phandle' for consistency.
38310 (grub_ieee1275_get_property_length): Likewise.
38311 (grub_ieee1275_next_property): Likewise. Change type of first argument
38312 to grub_ieee1275_phandle_t.
38313 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38314 Move export next to declaration.
38315 (grub_ieee1275_chosen): New variable.
38316 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38317 Correct cosmetic typo.
38318 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38319 `grub_ieee1275_chosen'.
38320 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38321 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38322 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38323 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38324 `grub_ieee1275_chosen'.
38325
ca5baa3f 383262005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38327
38328 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38329 /chosen/bootargs.
38330 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38331 /chosen/bootargs as "variable=value" pairs.
38332
708b345f 383332005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38334
38335 * include/grub/misc.h (grub_dprintf): New macro.
38336 (grub_real_dprintf): New prototype.
38337 (grub_strword): Likewise.
38338 (grub_iswordseparator): Likewise.
38339 * kern/misc.c (grub_real_dprintf): New function.
38340 (grub_strword): Likewise.
38341 (grub_iswordseparator): Likewise.
38342
f4c5e67c 383432005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38344
38345 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38346 (roundup): Remove macro.
38347 (grub_ieee1275_flags): Make static.
38348 (grub_ieee1275_realmode): Remove.
38349 (grub_ieee1275_test_flag): New function.
38350 (grub_ieee1275_set_flag): Likewise.
38351 (find_options): Rename to `grub_ieee1275_find_options'; update
38352 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38353 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38354 (cmain): New prototype.
38355 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38356 `grub_ieee1275_flags' directly.
38357 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38358 machine/biosdisk.h.
38359 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38360 Don't include grub/machine/init.h.
38361 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38362 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38363 Remove prototype.
38364 (grub_ieee1275_realmode): Likewise.
38365 (grub_ieee1275_flag): New enum.
38366 (grub_ieee1275_test_flag): New prototype.
38367 (grub_ieee1275_set_flag): New prototype.
38368 * include/grub/powerpc/ieee1275/init.h: Remove file.
38369 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38370 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38371 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38372 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38373 comment.
38374 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38375 `grub_ieee1275_test_flag'.
38376 (grub_ieee1275_encode_devname): Likewise.
38377
ed16607e 383782005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38379
38380 * include/grub/powerpc/ieee1275/ieee1275.h
38381 (grub_ieee1275_encode_devname): New prototype.
38382 (grub_ieee1275_get_filename): Likewise.
38383 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38384 function.
38385 (grub_set_prefix): Likewise.
38386 (grub_machine_init): Call grub_set_prefix.
38387 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38388 (grub_parse_type): New enum.
38389 (grub_ieee1275_get_devargs): New function.
38390 (grub_ieee1275_get_devname): Likewise.
38391 (grub_ieee1275_parse_args): Likewise.
38392 (grub_ieee1275_get_filename): Likewise.
38393 (grub_ieee1275_encode_devname): Likewise.
38394
be369920 383952005-03-30 Marco Gerards <metgerards@student.han.nl>
38396
38397 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38398 `grub_loader_unset'.
38399
a5ce3a4a 384002005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38401
38402 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38403 instead of grub_ieee1275_interpret.
38404 (grub_halt_init): New function.
38405 (grub_halt_fini): Likewise.
38406 (GRUB_MOD_INIT): Correct message grammar.
38407 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38408 instead of grub_ieee1275_interpret.
38409 (grub_reboot_init): New function.
38410 (grub_reboot_fini): Likewise.
38411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38412 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38413 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38414 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38415 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38416 function.
38417 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38418 Add prototype.
38419 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38420 prototype.
38421 (grub_halt): Likewise.
38422 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38423 (cmain): Remove __attribute__((unused)).
38424 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38425 (grub_heap_len): Likewise.
38426 (grub_machine_fini): New function.
38427 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38428 (grub_halt): Likewise.
38429 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38430 function.
38431 * util/powerpc/ieee1275/misc.c: New file.
38432
0058f771 384332005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38434
38435 * DISTLIST: New file.
38436 * gendistlist.sh: Likewise.
f19dbdb7 38437
0058f771 38438 * Makefile.in (COMMON_DISTFILES): Removed.
38439 (BOOT_DISTFILES): Likewise.
38440 (CONF_DISTFILES): Likewise.
38441 (DISK_DISTFILES): Likewise.
38442 (FS_DISTFILES): Likewise.
38443 (INCLUDE_DISTFILES): Likewise.
38444 (KERN_DISTFILES): Likewise.
38445 (LOADER_DISTFILES): Likewise.
38446 (TERM_DISTFILES): Likewise.
38447 (UTIL_DISTFILES): Likewise.
38448 (DISTFILES): Likewise.
38449 (uninstall): Uninstall files in $(pkgdata_DATA).
38450 (DISTLIST): New target.
38451 (distdir): Use the contents of the file DISTLIST to get a list of
38452 distributed files.
38453
46b3b8a5 384542005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38455
38456 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38457 descriptor. This is ported from GRUB Legacy.
38458
38459 * gencmdlist.sh: Added an extra semicolon to make it work with
38460 old sed versions. Reported by Robert Bihlmeyer
38461 <robbe@orcus.priv.at>.
38462
5822ff87 384632005-03-08 Yoshinori Okuji <okuji@enbug.org>
38464
38465 Automatic loading of commands is supported.
f19dbdb7 38466
5822ff87 38467 * normal/main.c (read_command_list): New function.
38468 (grub_normal_execute): Call read_command_list.
38469
38470 * normal/command.c (grub_register_command): Return zero or CMD.
38471 Allocate CMD->NAME from the heap.
38472 Initialize CMD->MODULE_NAME to zero.
38473 Find the same name as well. If the same command is found and it is
38474 a dummy command, overwrite members. If it is not a dummy command,
38475 return zero.
38476 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38477 (grub_command_find): If a dummy command is found, load a module
38478 and retry to find a command only once.
38479
38480 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38481 make sure that each command is loaded.
38482
38483 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38484 macro.
38485 (struct grub_command): Remove const from the member `name'.
38486 Add a new member `module_name'.
38487 (grub_register_command): Return grub_command_t.
38488
38489 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38490 sure that each command is loaded.
38491
38492 * genmk.rb (PModule::rule): Specify a module name without the
38493 suffix ".mod" to gencmdlist.sh.
38494
7b1f4b57 384952005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38496
38497 * gencmdlist.sh: New file.
f19dbdb7 38498
7b1f4b57 38499 * genmk.rb (PModule::rule): Generate a rule for a command list.
38500 Clean command.lst.
38501 Generate command.lst from $(COMMANDFILES).
38502
38503 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38504 (DATA): Added $(pkgdata_DATA).
38505 (install-local): Install files in $(pkgdata_DATA).
38506
062aaf39 385072005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38508
38509 * term/i386/pc/vga.c (debug_command): Removed.
38510 (GRUB_MOD_INIT): Do not register the command "debug".
38511
38512 From Hollis Blanchard:
38513 * commands/configfile.c: New file.
38514 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38515 commands/configfile.c.
38516 (pkgdata_MODULES): Added configfile.mod.
38517 (configfile_mod_SOURCES): New variable.
38518 (configfile_mod_CFLAGS): Likewise.
38519 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38520 commands/configfile.c.
38521 (pkgdata_MODULES): Added configfile.mod.
38522 (configfile_mod_SOURCES): New variable.
38523 (configfile_mod_CFLAGS): Likewise.
38524 * util/grub-emu.c (main): Call grub_configfile_init and
38525 grub_configfile_fini.
38526 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38527 prototype.
38528 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 38529
cee01aa6 385302005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38531
38532 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38533 address.
38534
38535 * commands/help.c (grub_cmd_help): Do not print newlines after
38536 the last command in print_command_help.
38537
93f3a1d8 385382005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38539
38540 * commands/default.h: New file.
38541 * commands/timeout.h: Likewise.
38542 * normal/context.c: Likewise.
f19dbdb7 38543
93f3a1d8 38544 * util/misc.c: Do not include sys/times.h.
38545 Include sys/time.h and grub/machine/time.h.
38546 (grub_get_rtc): Rewritten with gettimeofday.
38547
38548 * util/grub-emu.c (main): Call grub_default_init and
38549 grub_timeout_init before grub_normal_init, and call
38550 grub_timeout_fini and grub_default_fini after grub_main.
38551
38552 * util/console.c (grub_ncurses_checkkey): Return the read
38553 character or -1.
38554
38555 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38556 timeouts.
38557
38558 * normal/main.c (read_config_file): Push MENU. If this fails,
38559 print an error and wait for a user input.
38560 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38561 If a menu is empty or an error occurs, pop MENU.
38562 (grub_normal_execute): Pop and free MENU after grub_menu_run
38563 returns.
38564
38565 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38566
38567 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38568 include time.h.
38569 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38570 without GRUB_UTIL.
38571 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38572 time.h.
38573 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38574 without GRUB_UTIL.
38575
38576 * include/grub/normal.h (struct grub_menu_list): New struct.
38577 (grub_menu_list_t): New type.
38578 (struct grub_context): New struct.
38579 (grub_context_t): New type.
38580 (grub_register_command): Got rid of EXPORT_FUNC.
38581 (grub_unregister_command): Likewise.
38582 (grub_context_get): New prototype.
38583 (grub_context_get_current_menu): Likewise.
38584 (grub_context_push_menu): Likewise.
38585 (grub_context_pop_menu): Likewise.
38586 [GRUB_UTIL] (grub_default_init): Likewise.
38587 [GRUB_UTIL] (grub_default_fini): Likewise.
38588 [GRUB_UTIL] (grub_timeout_init): Likewise.
38589 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38590
38591 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38592 commands/timeout.c and normal/context.c.
38593 (pkgdata_MODULES): Added default.mod and timeout.mod.
38594 (normal_mod_SOURCES): Added normal/context.c.
38595 (default_mod_SOURCES): New variable.
38596 (default_mod_CFLAGS): Likewise.
38597 (timeout_mod_SOURCES): Likewise.
38598 (timeout_mod_CFLAGS): Likewise.
38599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38600 conf/i386-pc.rmk.
38601 (pkgdata_MODULES): Added default.mod and timeout.mod.
38602 (normal_mod_SOURCES): Added normal/context.c.
38603 (default_mod_SOURCES): New variable.
38604 (default_mod_CFLAGS): Likewise.
38605 (timeout_mod_SOURCES): Likewise.
38606 (timeout_mod_CFLAGS): Likewise.
38607
38608 * Makefile.in (all-local): Added $(MKFILES).
38609
4ed2e1dd 386102005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38611
38612 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38613 (grub_emu_SOURCES): Likewise.
38614 (pkgdata_MODULES): Add `sun.mod'.
38615 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38617 `partmap/sun.c'.
38618 (pkgdata_MODULES): Add `sun.mod'.
38619 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38620 * include/grub/partition.h (grub_sun_partition_map_init): New
38621 prototype.
38622 (grub_sun_partition_map_fini): Likewise.
38623 * partmap/sun.c: New file.
38624 * util/grub-emu.c (main): Initialize and de-initialize the sun
38625 partitionmap support.
38626
4d4e372e 386272005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38628
38629 This implements an Emacs-like menu entry editor.
f19dbdb7 38630
4d4e372e 38631 * normal/menu_entry.c: New file.
f19dbdb7 38632
4d4e372e 38633 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38634 characters to ASCII.
38635 (saved_char): New variable.
38636 (grub_ncurses_checkkey): Rewritten completely.
38637 (grub_ncurses_getkey): Likewise.
38638 (grub_ncurses_init): Call raw instead of cbreak.
38639
38640 * normal/menu.c (print_entry): Do not put a space.
38641 (init_page): Renamed to ...
38642 (grub_menu_init_page): ... this. All callers changed.
38643 (edit_menu_entry): Removed.
38644 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38645
38646 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38647
38648 * kern/misc.c (grub_vprintf): Call grub_refresh.
38649
38650 * normal/menu.c (DISP_LEFT): Renamed to ...
38651 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38652 * normal/menu.c (DISP_UP): Renamed to ...
38653 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38654 * normal/menu.c (DISP_RIGHT): Renamed to ...
38655 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38656 * normal/menu.c (DISP_DOWN): Renamed to ...
38657 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38658 * normal/menu.c (DISP_HLINE): Renamed to ...
38659 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38660 * normal/menu.c (DISP_VLINE): Renamed to ...
38661 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38662 * normal/menu.c (DISP_UL): Renamed to ...
38663 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38664 * normal/menu.c (DISP_UR): Renamed to ...
38665 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38666 * normal/menu.c (DISP_LL): Renamed to ...
38667 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38668 * normal/menu.c (DISP_LR): Renamed to ...
38669 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38670 * normal/menu.c (TERM_WIDTH): Renamed to ...
38671 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38672 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38673 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38674 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38675 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38676 * normal/menu.c (TERM_MARGIN): Renamed to ...
38677 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38678 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38679 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38680 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38681 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38682 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38683 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38684 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38685 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38686 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38687 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38688 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38689 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38690 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38691 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38692 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38693 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38694 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38695 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38696 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38697 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38698 All callers changed.
38699
38700 * include/grub/normal.h: New prototype.
38701
38702 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38703 normal/menu_entry.c.
38704 (normal_mod_SOURCES): Likewise.
38705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38706 (normal_mod_SOURCES): Likewise.
38707
e6b92c8a 387082005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38709
38710 * include/grub/normal.h (grub_halt_init): New prototype.
38711 (grub_halt_fini): Likewise.
38712 (grub_reboot_init): Likewise.
38713 (grub_reboot_fini): Likewise.
38714
38715 * util/grub-emu.c: Include signal.h.
38716 (main_env): New global variable.
38717 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38718 catch C-c.
38719 (grub_machine_fini): New function.
38720 (main): Call grub_halt_init and grub_reboot_init before
38721 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38722 Call setjmp with MAIN_ENV to go back afterwards.
38723 Call grub_machine_fini right before return.
38724
38725 * include/grub/util/misc.h: Include setjmp.h.
38726 (main_env): New prototype.
38727
38728 * include/grub/kernel.h (grub_machine_fini): New prototype.
38729 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38730 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38731
38732 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38733 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38734 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 38735
e6b92c8a 38736 * util/i386/pc/misc.c: New file.
f19dbdb7 38737
e6b92c8a 38738 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38739 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38740 commands/i386/pc/reboot.c.
38741
c642636f 387422005-02-14 Guillem Jover <guillem@hadrons.org>
38743
38744 * include/grub/dl.h (grub_dl_check_header): New prototype.
38745 (grub_arch_dl_check_header): Change return type to grub_err_t,
38746 remove size parameter and export function. Update all callers.
38747 * kern/dl.c (grub_dl_check_header): New function.
38748 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38749 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38750 are inside the core.
38751 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38752 independent ELF header checks.
38753 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38754 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38755 `grub_dl_check_header' instead of explicit checks. Check for the
38756 ELF type.
38757 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38758 `grub_dl_check_header' instead of explicit checks. Remove arch
38759 specific ELF header checks.
38760
e6b92c8a 38761 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38762 argument SIZE.
38763
5eabe94b 387642005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38765
38766 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38767 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38768
1b14a681 387692005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38770
38771 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 38772 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 38773 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 38774 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 38775 * partmap/amiga.c (amiga_partition_map_iterate): Return
38776 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38777 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38778
aca108aa 387792005-02-01 Guillem Jover <guillem@hadrons.org>
38780
38781 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38782 help info.
38783
c9f9c556 387842005-01-31 Marco Gerards <metgerards@student.han.nl>
38785
38786 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38787 Removed prototype.
38788 (grub_rescue_cmd_linux): New prototype.
38789 (grub_rescue_cmd_initrd): Likewise.
38790 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38791 `bi_rec'.
38792 (grub_linux_release_mem): Release the memory for the initrd.
38793 (grub_load_linux): Renamed from this...
38794 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38795 Changed `entry' not to be static. Loop over memory regions to
38796 find another one when the default fails.
38797 (grub_rescue_cmd_initrd): New function.
38798 (grub_linux_init): Remove function.
38799 (grub_linux_fini): Likewise.
38800 (GRUB_MOD_INIT): Register `initrd'.
38801 (GRUB_MOD_FINI): Unregister `initrd'.
38802 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38803 Function removed.
38804 (grub_linux_normal_fini): Likewise.
38805 (GRUB_MOD_INIT): Register `initrd'.
38806 (GRUB_MOD_FINI): Unregister `initrd'.
38807
990cf3aa 388082005-01-31 Marco Gerards <metgerards@student.han.nl>
38809
38810 * commands/help.c: New file.
38811 * normal/arg.c (show_help): Renamed to...
38812 (grub_arg_show_help): ... this.
38813 * commands/i386/pc/halt.c: New file.
38814 * commands/i386/pc/reboot.c: Likewise.
38815 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38816 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38817 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38818 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38819 variables.
38820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38821 `commands/help.c'.
38822 (pkgdata_MODULES): Add `help.mod'.
38823 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38824 * grub/i386/pc/init.h (grub_reboot): New prototype.
38825 (grub_halt): Likewise.
38826 * include/grub/normal.h (grub_arg_show_help): New prototype.
38827 (grub_help_init): Likewise.
38828 (grub_help_fini): Likewise.
38829 * util/grub-emu.c (main): Initialize and deinitialize the help
38830 command.
38831
38832 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38833
38834 * normal/command.c (grub_command_init): Fixed the description of
38835 the `set' and `unset' commands.
38836
388372005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 38838
38839 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38840 function.
38841 * commands/ieee1275/halt.c: New file.
38842 * commands/ieee1275/reboot.c: Likewise.
38843 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38844 `__attribute__ ((unused))'. Some GCS related fixed.
38845 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38846 (grub_suspend_fini): Likewise.
38847 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38848 and `halt.mod'.
38849 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38850 (halt_mod_CFLAGS): New variables.
38851 * include/grub/powerpc/ieee1275/ieee1275.h
38852 (grub_ieee1275_interpret): New prototype.
38853
1ab09cc7 388542005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38855
38856 * include/grub/misc.h (memmove): New prototype.
38857 (memcpy): Likewise.
38858
8b8cbdb2 388592005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38860
38861 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38862 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38863
e3741a27 388642005-01-22 Marco Gerards <metgerards@student.han.nl>
38865
38866 * kern/misc.c (grub_strndup): Function rewritten.
38867
776bd780 388682005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38869
38870 * normal/menu.c (TERM_WIDTH): Macro redefined.
38871 (TERM_TOP_BORDER_Y): Likewise.
38872 (draw_border): Replaced while-loop by a for-loop. Make the number
38873 of lines consistent with the number of lines displayed in
38874 print_entries. Added a margin below the rectangle.
38875 (print_entry): Make the entry fit in the rectangle.
38876 (print_entries): Display the scroll arrows next to the right
38877 border.
38878
78026bce 388792005-01-21 Marco Gerards <metgerards@student.han.nl>
38880
38881 * fs/minix.c (grub_minix_find_file): Reserve more space for
38882 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38883 `grub_strncpy' to copy `path' into it.
38884
67bbaf0f 388852005-01-21 Marco Gerards <metgerards@student.han.nl>
38886
38887 Add the loopback device, a device via which files can be accessed
38888 as devices.
f19dbdb7 38889
67bbaf0f 38890 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38891 (pkgdata_MODULES): Add loopback.mod.
38892 (loopback_mod_SOURCES): New variable.
38893 (loopback_mod_CFLAGS): Likewise.
38894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38895 `disk/loopback.c'.
38896 (pkgdata_MODULES): Add loopback.mod.
38897 (loopback_mod_SOURCES): New variable.
38898 (loopback_mod_CFLAGS): Likewise.
38899 * disk/loopback.c: new file.
38900 * include/grub/normal.h (grub_loop_init): New prototype.
38901 (grub_loop_fini): New prototype.
38902 * util/grub-emu.c (main): Initialize and de-initialize loopback
38903 support.
38904 * include/grub/disk.h (grub_disk_dev_id): Add
38905 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38906
6f1c18bd 389072005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38908
38909 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38910 function.
38911 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38912 (suspend_mod_SOURCES): New variable.
38913 (suspend_mod_CFLAGS): Likewise.
38914 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38915 New prototype.
38916 * commands/ieee1275/suspend.c: New file.
38917
b38551da 389182005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38919
38920 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 38921 ((unused))' to `__attribute__ ((used))'.
b38551da 38922 (GRUB_MOD_FINI): Likewise.
38923 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38924 * genmk.rb (PModule): Assign space to common symbols when linking
38925 modules.
38926
777aff39 389272005-01-20 Marco Gerards <metgerards@student.han.nl>
38928
38929 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38930 `unsigned' arguments to `grub_size_t'.
38931 (grub_malloc): Likewise.
38932 (grub_realloc): Likewise.
38933 (grub_memalign): Likewise.
38934 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38935 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38936 * util/misc.c (grub_malloc): Likewise.
38937 (grub_realloc): Likewise.
38938 * kern/mm.c (get_header_from_pointer): Change the casts to
38939 `unsigned' into a cast to `grub_size_t'.
38940
38941 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38942 point to `currnode' when `currnode' is changed.
38943
38944 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38945 Schottelius <nico-linux@schottelius.org>.
38946
d0ff18e1 389472005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38948
38949 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38950 (note_path): Remove variable.
38951 (GRUB_IEEE1275_NOTE_NAME): New macro.
38952 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38953 (grub_ieee1275_note_hdr): New structure.
38954 (grub_ieee1275_note_desc): Likewise.
38955 (grub_ieee1275_note): Likewise.
38956 (load_note): Remove `dir' argument. All callers updated. Remove
38957 `note_img' and `path'. Do not load a file from `note_path'.
38958 Initialize a struct grub_ieee1275_note and write that to `out'.
38959 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38960
4ca7004c 389612005-01-05 Marco Gerards <metgerards@student.han.nl>
38962
38963 * util/misc.c (grub_util_read_image): Revert last change. It
38964 called `grub_util_read_at', which seeks from the beginning of the
38965 file.
38966
0b412211 389672005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38968
38969 * TODO: Add note about endianness in grub-mkimage.
38970 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38971 section.
38972 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38973 (grub_mkimage_SOURCES): New target.
38974 * include/grub/kernel.h (grub_start_addr): Remove variable.
38975 (grub_end_addr): Likewise.
38976 (grub_total_module_size): Likewise.
38977 (grub_kernel_image_size): Likewise.
38978 (GRUB_MODULE_MAGIC): New constant.
38979 (grub_module_info): New structure.
38980 (grub_arch_modules_addr): New prototype.
38981 (grub_get_end_addr): Remove prototype.
38982 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38983 * include/grub/powerpc/ieee1275/kernel.h: New file.
38984 * include/grub/util/misc.h (grub_util_get_fp_size): New
38985 prototype.
38986 (grub_util_read_at): Likewise.
38987 (grub_util_write_image_at): Likewise.
38988 * kern/main.c (grub_get_end_addr): Remove function.
38989 (grub_load_modules): Call grub_arch_modules_addr instead of using
38990 grub_end_addr. Look for a grub_module_info struct in memory. Use
38991 the grub_module_info fields instead of calling grub_get_end_addr
38992 as loop conditions. Move grub_add_unused_region code here.
38993 (grub_add_unused_region): Remove function.
38994 * kern/i386/pc/init.c: Include grub/cache.h.
38995 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38996 one call to add_mem_region.
38997 (grub_arch_modules_addr): New function.
38998 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38999 (grub_total_module_size): Likewise.
39000 Include grub/machine/kernel.h.
39001 (grub_arch_modules_addr): New function.
39002 * util/grub-emu.c (grub_end_addr): Remove variable.
39003 (grub_total_module_size): Likewise.
39004 (grub_arch_modules_addr): New function.
39005 * util/misc.c: Include unistd.h.
39006 (grub_util_get_fp_size): New function.
39007 (grub_util_read_at): Likewise.
39008 (grub_util_write_image_at): Likewise.
39009 (grub_util_read_image): Call grub_util_read_at.
39010 (grub_util_write_image): Call grub_util_write_image_at.
39011 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
39012 additional memory in kernel_img for a struct grub_module_info.
39013 Fill in that grub_module_info.
39014 * util/powerpc/ieee1275/grub-mkimage.c: New file.
39015
458786f8 390162005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39017
39018 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
39019 New function.
39020 * include/grub/powerpc/ieee1275/ieee1275.h
39021 (grub_ieee1275_milliseconds): New prototype.
39022 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
39023 Change to 1000.
39024 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
39025 grub_ieee1275_milliseconds.
39026
ac507d1b 390272005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39028
39029 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
39030 variable.
39031 (find_options): New function.
39032 (cmain): Call find_options.
39033 * include/grub/powerpc/ieee1275/ieee1275.h
39034 (grub_ieee1275_realmode): New extern variable.
39035 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
39036 grub_map if grub_ieee1275_realmode is false.
39037
6b8fd1c4 390382004-12-29 Marco Gerards <metgerards@student.han.nl>
39039
39040 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
39041 lines are inserted and make it work like readline. Reported by
39042 Vincent Pelletier <subdino2004@yahoo.fr>.
39043
8514a1e0 390442004-12-28 Marco Gerards <metgerards@student.han.nl>
39045
39046 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
39047
39048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39049 `kern/powerpc/cache.S'.
39050
924b6140 390512004-12-27 Marco Gerards <metgerards@student.han.nl>
39052
39053 * genmk.rb: Handle the `Program' class in the main loop. Written
39054 by Johan Rydberg <jrydberg@gnu.org>.
39055 (Program): New class.
39056 (programs): New variable.
39057 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39058 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39059 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39060 (help_arch): Function removed.
39061 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39062 `powerpc/libgcc.h' and `loader.h'.
39063 (pkgdata_PROGRAMS): New variable.
39064 (sbin_UTILITIES): Variable removed.
39065 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39066 (grubof_SOURCES): Variable re-defined so it only includes the
39067 core functionality.
39068 (grubof_CFLAGS): Remove `-DGRUBOF'.
39069 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39070 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39071 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39072 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39073 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39074 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39075 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39076 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39077 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39078 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39079 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39080 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39081 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39082 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39083 (pc_mod_CFLAGS): New variables.
39084 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39085 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39086 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39087 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39088 Moved from here...
39089 * include/grub/i386/pc/init.h (grub_os_area_addr)
39090 (rub_os_area_size): ... to here.
39091 * include/grub/powerpc/ieee1275/ieee1275.h
39092 (grub_ieee1275_entry_fn): Export symbol.
39093 * include/grub/powerpc/ieee1275/init.h: New file.
39094 * include/grub/powerpc/libgcc.h: Likewise.
39095 * include/grub/cache.h: Likewise.
39096 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39097 <hollis@penguinppc.org>.
39098 * kern/dl.c: Include <grub/cache.h>.
39099 (grub_dl_flush_cache): New function.
39100 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39101 for this module.
39102 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39103 (grub_console_init): Removed prototypes.
39104 (grub_machine_init): Don't initialize the modules anymore.
39105 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39106 static.
39107 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39108 Macro undef removed.
39109 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39110 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39111 relocation `R_PPC_REL32'. Return an error when the relocation is
39112 unknown.
39113 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39114 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39115 * util/misc.c (grub_arch_sync_caches): Likewise.
39116
e4b47e0c 391172004-12-19 Marco Gerards <metgerards@student.han.nl>
39118
39119 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39120 `symlist.c', add `grubof_symlist.c'.
39121 (symlist.c): Variable removed.
39122 (grubof_HEADERS): Variable added.
39123 (grubof_symlist.c): New target.
39124 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39125 `kernel_img_HEADERS'.
39126 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39127 * kern/powerpc/dl.c: New file.
39128 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39129 Function removed.
39130 (grub_arch_dl_relocate_symbols): Likewise.
39131 (grub_register_exported_symbols): Likewise.
39132
4ceb3636 391332004-12-13 Marco Gerards <metgerards@student.han.nl>
39134
39135 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39136 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39137 to fail instead. Reported by Vincent Pelletier
39138 <subdino2004@yahoo.fr>.
39139
39140 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39141 it is not allocated. Reported by Vincent Pelletier
39142 <subdino2004@yahoo.fr>.
39143
39144 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39145 output so the output looks better.
f19dbdb7 39146
3f1578fe 391472004-12-04 Marco Gerards <metgerards@student.han.nl>
39148
39149 Modulize the partition map support and add support for the amiga
39150 partition map.
f19dbdb7 39151
3f1578fe 39152 * commands/ls.c: Include <grub/partition.h> instead of
39153 <grub/machine/partition.h>.
39154 * kern/disk.c: Likewise.
39155 * kern/rescue.c: Likewise.
39156 * loader/i386/pc/chainloader.c: Likewise.
39157 * normal/cmdline.c: Likewise.
39158 * kern/powerpc/ieee1275/init.c: Likewise.
39159 (grub_machine_init): Call `grub_pc_partition_map_init',
39160 `grub_amiga_partition_map_init' and
39161 `grub_apple_partition_map_init'.
39162 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
39163 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
39164 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
39165 `partition.h' and `pc_partition.h'.
39166 (grub_setup_SOURCES): Remove
39167 `disk/i386/pc/partition.c'. Add `kern/partition.c',
39168 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39169 (grub_emu_SOURCES): Likewise.
39170 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39171 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39172 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39174 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39175 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39176 (grubof_SOURCES): Likewise.
39177 * disk/i386/pc/partition.c: File removed.
39178 * disk/powerpc/ieee1275/partition.c: Likewise.
39179 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39180 * include/grub/i386/pc/partition.h: Likewise.
39181 * kern/partition.c: New file.
39182 * partmap/amiga.c: Likewise.
39183 * partmap/apple.c: Likewise.
39184 * partmap/pc.c: Likewise.
39185 * include/grub/partition.h: Likewise..
39186 * include/grub/pc_partition.h: Likewise.
39187 * util/grub-emu.c: Include <grub/partition.h> instead of
39188 <grub/machine/partition.h>.
39189 (main): Call `grub_pc_partition_map_init',
39190 `grub_amiga_partition_map_init' and
39191 `grub_apple_partition_map_init' and deinitialize afterwards.
39192 * util/i386/pc/biosdisk.c: Include `#include
39193 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39194 `<grub/machine/partition.h>'.
39195 * util/i386/pc/grub-setup.c: Likewise.
39196 * util/i386/pc/biosdisk.c: Likewise.
39197 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39198 partition information in case of a PC partition.
39199 * util/i386/pc/grub-setup.c: Include `#include
39200 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39201 `<grub/machine/partition.h>'.
39202 (setup): Only access the PC specific partition information in case
39203 of a PC partition.
39204
0ef4ced9 392052004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39206
0ef4ced9 39207 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39208 (grub_longjmp): Likewise.
39209 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39210 20.
39211 * normal/powerpc/setjmp.S: New file.
39212 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39213 `normal/powerpc/setjmp.S'.
39214 (grubof_CFLAGS): Add `-DGRUBOF'.
39215 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39216 [GRUB_UTIL && !GRUBOF].
f19dbdb7 39217
19950e29 392182004-11-16 Marco Gerards <metgerards@student.han.nl>
39219
39220 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39221 property named `name'. Correctly handle the error returned by
39222 `grub_ieee1275_finddevice' if a device can not be opened.
39223
a2fea427 392242004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39225
39226 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39227 `actual' for negativity.
39228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39229 kern/fshelp.c.
39230
41ea0ea3 392312004-11-01 Marco Gerards <metgerards@student.han.nl>
39232
39233 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39234 (PAGE_OFFSET): New macro.
39235 (CRTC_ADDR_PORT): Likewise.
39236 (CRTC_DATA_PORT): Likewise.
39237 (START_ADDR_HIGH_REGISTER): Likewise.
39238 (START_ADDR_LOW_REGISTER): Likewise.
39239 (GRAPHICS_ADDR_PORT): Likewise.
39240 (GRAPHICS_DATA_PORT): Likewise.
39241 (READ_MAP_REGISTER): Likewise.
39242 (INPUT_STATUS1_REGISTER): Likewise.
39243 (INPUT_STATUS1_VERTR_BIT): Likewise.
39244 (page): New variable.
39245 (wait_vretrace): New function.
39246 (set_read_map): Likewise.
39247 (set_start_address): Likewise.
39248 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39249 the right page.
39250 (check_vga_mem): Take the page into account.
39251 (write_char): Likewise.
39252 (write_cursor): Likewise.
39253 (scroll_up): Likewise. Copy the page to the page that is not
39254 shown and switch between both pages.
39255 (grub_vga_putchar): Fix off by one error.
39256 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39257 account.
39258
ad0bd20b 392592004-11-01 Marco Gerards <metgerards@student.han.nl>
39260
39261 Add support for iso9660 (including rockridge).
f19dbdb7 39262
ad0bd20b 39263 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39264 (iso9660_mod_SOURCES): New variable.
39265 (iso9660_mod_CFLAGS): Likewise.
39266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39267 * include/grub/fs.h (grub_iso9660_init): New prototype.
39268 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39269 * fs/iso9660.c: New file.
39270
39271 * include/grub/misc.h (grub_strncat): New prototype.
39272 * kern/misc.c (grub_strncat): New function.
f19dbdb7 39273
ad0bd20b 39274 * fs/hfs.c (grub_hfs_mount): Translate the error
39275 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39276 * fs/jfs.c (grub_jfs_mount): Likewise.
39277 * fs/ufs.c (grub_ufs_mount): Likewise.
39278
a5477a59 392792004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39280
39281 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39282 which initialized BAT registers.
39283 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39284 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39285 Move from here...
39286 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39287 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39288 ... to here.
39289 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39290 (grub_mapclaim): Likewise.
39291 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39292 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39293 hand.
39294
9304c1f8 392952004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39296
39297 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39298 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39299 -ffreestanding and -msoft-float.
39300
86f4ae25 393012004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39302
39303 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39304 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39305 set in grub_ieee1275_flags.
39306
38912228 393072004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39308
39309 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39310 prototype.
39311 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39312 grub_console_init first.
39313 Change the memory range used for grub_ieee1275_claim and
39314 grub_mm_init_region.
39315 Print an error message if the claim fails.
39316 Include <grub/misc.h>.
39317
d1923dc8 393182004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39319
39320 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39321 Call grub_children_iterate for device nodes of type `scsi',
39322 `ide', or `ata'.
39323 (grub_ofdisk_open): Remove manual device alias resolution.
39324 Fix memory leak when device cannot be opened.
f19dbdb7 39325 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 39326 (grub_children_iterate): New prototype.
39327 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39328 New function.
39329 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39330 Return -1 if args.size was -1.
39331
4512e4f3 393322004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39333
39334 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39335 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39336 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39337 Open Firmware's memory for it; claim memory from _start to _end.
39338 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39339 (_end): New extern.
39340 (_start): Zero BSS from __bss_start to _end.
39341 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39342 New extern.
39343 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39344
4d61feb0 393452004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39346
ad0bd20b 39347 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39348 -1 if args.base was -1.
4d61feb0 39349
026fa2f9 393502004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39351
39352 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39353 escape sequence instead of a literal ^L. Also call
39354 grub_ofconsole_gotoxy.
39355
9f2220ef 393562004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39357
39358 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39359 void * arguments to grub_addr_t. All callers updated. Also make
39360 the `result' argument optional.
39361 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39362 All callers updated.
39363
8a572cd7 393642004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39365
39366 * commands/ls.c (grub_ls_list_files): Use the string following the
39367 initial ')', if present, as the filesystem path.
39368 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39369
39370 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39371
18aa81f2 393722004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39373
39374 Make the source code of the menu interface more readable.
f19dbdb7 39375
18aa81f2 39376 * normal/menu.c: Include grub/mm.h.
39377 (TERM_WIDTH): New macro.
39378 (TERM_HEIGHT): Likewise.
39379 (TERM_INFO_HEIGHT): Likewise.
39380 (TERM_MARGIN): Likewise.
39381 (TERM_SCROLL_WIDTH): Likewise.
39382 (TERM_TOP_BORDER_Y): Likewise.
39383 (TERM_LEFT_BORDER_X): Likewise.
39384 (TERM_BORDER_WIDTH): Likewise.
39385 (TERM_MESSAGE_HEIGHT): Likewise.
39386 (TERM_BORDER_HEIGHT): Likewise.
39387 (TERM_NUM_ENTRIES): Likewise.
39388 (TERM_FIRST_ENTRY_Y): Likewise.
39389 (TERM_ENTRY_WIDTH): Likewise.
39390 (TERM_CURSOR_X): Likewise.
39391 (draw_border): Use macros instead of magic numbers.
39392 (print_entry): Likewise.
39393 (print_entries): Likewise.
39394 (run_menu): Likewise. Also, handle the key 'e'.
39395 (run_menu_entry): Ignore empty command lines.
39396 (print_message): Added a new argument EDIT. If EDIT is true,
39397 print a different message.
39398 (init_page): Likewise.
39399 (edit_menu_entry): New function. Not implemented yet.
39400
b47efe30 394012004-09-17 Marco Gerards <metgerards@student.han.nl>
39402
39403 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39404 can be loaded from normal mode.
f19dbdb7 39405
b47efe30 39406 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39407 `multiboot.mod'.
39408 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39409 (multiboot_mod_CFLAGS): New variables.
39410 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 39411 * loader/i386/pc/multiboot_normal.c: Likewise.
39412
b47efe30 39413 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39414 attribute `unused'.
f19dbdb7 39415
b47efe30 39416 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39417 `fdiro' to read the mode information from instead of `diro'.
39418
39419 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39420 looking up a symlink.
39421
39422 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39423 macro.
39424 * normal/command.c (grub_command_execute): Don't parse the
39425 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39426 flags of the command.
39427
39428 * normal/menu.c (grub_menu_run): Fix typo.
39429
da75ac71 394302004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39431
39432 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39433
39434 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39435 `y + 1' instead of `y - 1'.
39436
39437 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 39438
062b24c2 394392004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39440
39441 From Hollis Blanchard <hollis@penguinppc.org>:
39442 * kern/misc.c (memmove): New alias for grub_memmove.
39443 (memcmp): New alias for grub_memcmp.
39444 (memset): New alias for grub_memset.
f19dbdb7 39445 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 39446 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 39447 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 39448 (grub_ieee1275_get_property): Likewise.
f19dbdb7 39449
8ddad845 394502004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39451
39452 Added normal mode command `chainloader' as module chain.mod, which
39453 depends on normal.mod and _chain.mod.
f19dbdb7 39454
8ddad845 39455 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39456 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39457 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39458 Deleted prototype.
39459 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39460 but arguments parsing moved to ...
39461 (grub_chainloader_cmd): ... here. New function.
39462 * include/grub/i386/pc/chainloader.h: New file.
39463 * loader/i386/pc/chainloader_normal.c: Likewise.
39464
2c1f4ce3 394652004-09-11 Marco Gerards <metgerards@student.han.nl>
39466
39467 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39468 (grub_mkimage_LDFLAGS): Likewise.
39469 (grub_emu_SOURCES): Likewise.
39470 (kernel_img_HEADERS): Added fshelp.h.
39471 * fs/ext2.c: Include <grub/fshelp.h>.
39472 (FILETYPE_REG): New macro.
39473 (FILETYPE_INO_REG): Likewise.
39474 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39475 Changed all users.
39476 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39477 all users.
39478 (grub_fshelp_node): New struct.
39479 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39480 to a pointer.
39481 (grub_ext2_get_file_block): Removed function.
39482 (grub_ext2_read_block): New function.
39483 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39484 This function was written.
39485 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39486 (grub_ext2_find_file): Removed function.
39487 (grub_ext2_read_symlink): New function.
39488 (grub_ext2_iterate_dir): Likewise.
39489 (grub_ext2_open): Rewritten.
39490 (grub_ext2_dir): Rewritten.
39491 * include/grub/fshelp.h: New file.
39492 * fs/fshelp.c: Likewise.
39493
3c52136a 394942004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39495
39496 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39497 (print_message): Add a missing newline.
39498 (run_menu): Added timeout support.
39499 (run_menu_entry): New local function.
39500 (grub_menu_run): Added support for booting.
39501
39502 * kern/loader.c (grub_loader_is_loaded): New function.
39503
39504 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39505 (grub_get_rtc): Exported.
39506
39507 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39508 (grub_get_rtc): Exported.
39509
39510 * include/grub/normal.h (struct grub_command_list): Remove
39511 constant from the member `command'.
39512
39513 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39514
39515 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39516
39517 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39518
aa033560 395192004-08-28 Marco Gerards <metgerards@student.han.nl>
39520
39521 Add support for the JFS filesystem.
39522
39523 * fs/jfs.c: New file.
39524 * include/grub/fs.h (grub_jfs_init): New prototype.
39525 (grub_jfs_fini): New prototype.
39526 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39527 (grub_emu_SOURCES): Likewise.
39528 (pkgdata_MODULES): Add jfs.mod.
39529 (jfs_mod_SOURCES): New variable.
39530 (jfs_mod_CFLAGS): Likewise.
39531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39532 (grubof_SOURCES): Likewise.
39533 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39534
39535 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39536 endian to the host endian.
39537 (grub_fat_utf16_to_utf8): Move function from there...
39538 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 39539 the endianness of the source string anymore.
aa033560 39540 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39541
94bc45af 395422004-08-24 Marco Gerards <metgerards@student.han.nl>
39543
39544 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39545 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39546 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39547 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 39548
94bc45af 39549 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39550 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39551 for `node_found' and `it_dir'.
39552 (grub_hfs_dir): Add prototype for `dir_hook'.
39553
39554 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39555 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39556 and `indir32' to silence a gcc warning.
39557
39558 * include/grub/fs.h (grub_hfs_init): New prototype.
39559 (grub_hfs_fini): Likewise.
f19dbdb7 39560
39561
97543f08 395622004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39563
39564 Each disk device has its own id now. This is useful to make use
39565 of multiple disk devices.
f19dbdb7 39566
97543f08 39567 * include/grub/disk.h (grub_disk_dev_id): New enum.
39568 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39569 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39570
39571 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39572 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39573
39574 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39575 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39576
39577 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39578 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39579
39580 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39581 "id" which is used by the cache manager.
39582
39583 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39584 of just "GRUB".
39585
64372eb4 395862004-08-18 Marco Gerards <metgerards@student.han.nl>
39587
39588 * fs/hfs.c: New file.
39589 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39590 (grub_emu_SOURCES): Likewise.
39591 (pkgdata_MODULES): Add hfs.mod.
39592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39593 (grubof_SOURCES): Likewise.
39594 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39595
39596 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39597 * kern/misc.c (grub_strncasecmp): Add function.
39598
cc61b58f 395992004-08-14 Marco Gerards <metgerards@student.han.nl>
39600
39601 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39602 with parentheses.
39603
39604 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39605 (grub_ext2_dir): In case the directory entry type is unknown, read
39606 it from the inode.
39607
0ef123f6 396082004-08-02 Peter Bruin <pjbruin@dds.nl>
39609
39610 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39611 grub_load_linux instead of grub_rescue_cmd_linux as second
39612 argument of grub_rescue_register_command.
39613
39614 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39615
a447c5df 396162004-07-27 Marco Gerards <metgerards@student.han.nl>
39617
39618 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39619 function.
39620 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39621 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39622 `loader/powerpc/ieee1275/linux.c',
39623 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39624 * include/grub/powerpc/ieee1275/ieee1275.h
39625 (grub_ieee1275_release): New prototype.
39626 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39627 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39628 normal, boot, linux and linux_normal.
39629 * loader/powerpc/ieee1275/linux.c: New file.
39630 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39631
5a9e3546 396322004-07-12 Marco Gerards <metgerards@student.han.nl>
39633
39634 * normal/arg.c (grub_arg_parse): Correct error handling after
39635 reallocating the argumentlist (check if `argl' is not null instead
39636 of checking if `args' is not null).
39637 * kern/mm.c (grub_realloc): Return the same pointer when using the
39638 same region, instead of returning the header address.
39639
e15199cb 396402004-07-11 Marco Gerards <metgerards@student.han.nl>
39641
39642 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39643 one block instead of two when looking for the initial partition.
39644 (grub_partition_probe): Initialize the local variable `p' with 0.
39645 Use base 10 for the grub_strtoul call.
39646 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39647 need for one local variable.
39648 (grub_strtoul): Don't add the new value to `num', instead of that
39649 just assign it.
39650
020616c2 396512004-07-11 Marco Gerards <metgerards@student.han.nl>
39652
39653 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39654 (pxeboot_img_SOURCES): New variable.
39655 (pxeboot_img_ASFLAGS): Likewise.
39656 (pxeboot_img_LDFLAGS): Likewise.
39657 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39658 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39659 <lode_leroy@hotmail.com>.
39660
6c51eb64 396612004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39662
39663 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39664 there was no input.
39665
cfb12aff 396662004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39667
39668 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39669 the history buffer logic.
39670
6eabba74 396712004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39672
39673 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39674 (FILETYPE_INO_SYMLINK): New macros.
39675 (grub_ext2_find_file): Check if the node is a directory using the
39676 inode stat information instead of using the filetype in the
39677 dirent. Exclude the first character of an absolute symlink.
39678 (grub_ext2_dir): Mask out the filetype part of the mode member of
39679 the inode.
39680
66e19ef8 396812004-05-24 Marco Gerards <metgerards@student.han.nl>
39682
39683 Add support for UFS version 1 and 2. Add support for the minix
39684 filesystem version 1 and 2, both the variants with 14 and 30 long
39685 filenames.
f19dbdb7 39686
66e19ef8 39687 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39688 fs/minix.c.
39689 (grub_emu_SOURCES): Likewise.
39690 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39691 (ufs_mod_SOURCES): New variable.
39692 (ufs_mod_CFLAGS): Likewise.
39693 (minix_mod_SOURCES): Likewise.
39694 (minix_mod_CFLAGS): Likewise.
39695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39696 fs/minix.c.
39697 (grubof_SOURCES): Likewise.
39698 * fs/ufs.c: New file.
39699 * fs/minix.c: New file.
39700 * include/grub/fs.h (grub_ufs_init): New prototype.
39701 (grub_ufs_fini): Likewise.
39702 (grub_minix_init): Likewise.
39703 (grub_minix_fini): Likewise.
39704 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39705 minix fs.
39706
cc2e748a 397072004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39708
39709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39710 commands/ls.c, commands/terminal.c, commands/boot.c,
39711 commands/cmp.c and commands/cat.c.
39712 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39713
39714 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39715 "env.h"
39716
4b13b216 397172004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39718
39719 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39720 and grub_, respectively. Because the conversion is trivial and
39721 mechanical, I omit the details here. Please refer to the CVS
39722 if you need more information.
39723
6a142551 397242004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39725
39726 * include/pupa: Renamed to ...
39727 * include/grub: ... this.
39728 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39729 * util/i386/pc/grub-mkimage.c: ... this.
39730 * util/i386/pc/pupa-setup.c: Renamed to ...
39731 * util/i386/pc/grub-setup.c: ... this.
39732 * util/pupa-emu.c: Renamed to ...
39733 * util/grub-emu.c: ... this.
39734
e56cdf21 397352004-03-29 Marco Gerards <metgerards@student.han.nl>
39736
39737 Add support for the newworld apple macintosh (PPC). This has been
39738 tested on the powerbook 2000 only. It only adds support for
39739 generic ieee1275 functions, console and disk support. This should
39740 be easy to port to other architectures with support for Open
39741 Firmware.
f19dbdb7 39742
e56cdf21 39743 * configure.ac: Accept the powerpc as host_cpu. In the case of
39744 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39745 specific tests are only executed while building for the i386.
39746 Inverse test for crosscompile.
39747 * genmk.rb (Utility): Allow assembler files.
39748 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39749 * conf/powerpc-ieee1275.rmk: New file.
39750 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39751 * disk/powerpc/ieee1275/partition.c: Likewise.
39752 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39753 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39754 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39755 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39756 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39757 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39758 * include/pupa/powerpc/ieee1275/loader.h
39759 * include/pupa/powerpc/setjmp.h: Likewise.
39760 * include/pupa/powerpc/types.h: Likewise.
39761 * kern/powerpc/ieee1275/init.c: Likewise.
39762 * kern/powerpc/ieee1275/openfw.c: Likewise.
39763 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39764
39765 These files were written by Johan Rydberg
39766 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 39767
e56cdf21 39768 * boot/powerpc/ieee1275/cmain.c: New file.
39769 * boot/powerpc/ieee1275/crt0.S: Likewise.
39770 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39771 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39772
8c8cc205 397732004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39774
39775 * Makefile.in: Update copyright.
39776 * genmodsrc.sh: Likewise.
39777 * gensymlist.sh: Likewise.
39778 * term/i386/pc/vga.c: Indent correctly.
39779
39780 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39781 bugreporting address.
39782 * util/i386/pc/pupa-setup.c (usage): Likewise,
39783 (main): Call pupa_ext2_init and pupa_ext2_fini.
39784
f19dbdb7 39785 * fs/fat.c (log2): Renamed to ...
8c8cc205 39786 (fat_log2): ... this.
39787 All callers changed.
39788 * kern/misc.c (memcpy): Alias to pupa_memmove.
39789 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39790 lvalue cast.
39791 * util/console.c (pupa_ncurses_fini): Return 0.
39792
39793 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39794 Move fail label here.
39795 [__GNU__]: Don't warn when using stat.
39796 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39797 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39798 long int. Use strtol instead of strtoul.
f19dbdb7 39799
db1771cf 398002004-03-14 Marco Gerards <metgerards@student.han.nl>
39801
39802 * commands/boot.c: New file.
39803 * commands/cat.c: Likewise.
39804 * commands/cmp.c: Likewise.
39805 * commands/ls.c: Likewise.
39806 * commands/terminal.c: Likewise.
39807 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39808 (pupa_register_command): Changed interface to match the new
39809 argument parser.
39810 (pupa_command_execute): Changed (almost rewritten) so it uses
39811 pupa_split_command. Added support for setting variables using the
39812 syntax `foo=bar'.
39813 (rescue_command): Changed to work with the new argument parser.
39814 (terminal_command): Moved from here to commands/terminal.c.
39815 (set_command): New function.
39816 (unset_command): New function.
39817 (insmod_command): New function.
39818 (rmmod_command): New function.
39819 (lsmod_command): New function.
39820 (pupa_command_init): Don't initialize the command terminal
39821 anymore. Initialize the commands set, unset, insmod, rmmod and
39822 lsmod.
39823 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39824 (kernel_img_HEADERS): Add arg.h and env.h.
39825 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39826 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39827 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39828 normal/arg.c.
39829 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39830 terminal.mod.
39831 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39832 (boot_mod_SOURCES): New variable.
39833 (terminal_mod_SOURCES): Likewise.
39834 (ls_mod_SOURCES): Likewise.
39835 (cmp_mod_SOURCES): Likewise.
39836 (cat_mod_SOURCES): Likewise.
39837
39838 * normal/arg.c: New file.
39839 * kern/env.c: Likewise.
39840 * include/pupa/arg.h: Likewise.
39841 * include/pupa/env.h: Likewise.
39842 * font/manager.c (font_command): Changed to match argument parsing
39843 interface changes.
39844 (PUPA_MOD_INIT): Likewise.
39845 * hello/hello.c (pupa_cmd_hello): Likewise.
39846 (PUPA_MOD_INIT): Likewise.
39847 * include/pupa/disk.h: Include <pupa/device.h>.
39848 (pupa_print_partinfo): New prototype.
39849 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39850 (pupa_dl_get_prefix): Likewise.
39851 * include/pupa/misc.h: Include <pupa/err.h>.
39852 (pupa_isgraph): New prototype.
39853 (pupa_isdigit): Likewise.
39854 (pupa_split_cmdline): Likewise.
39855 * include/pupa/normal.h: Include <pupa/arg.h>.
39856 (pupa_command): Changed the prototype of the member `func' to
39857 match the argument parsing interface. Added member `options'.
39858 (pupa_register_command): Updated to match function.
39859 (pupa_arg_parse): New prototype.
39860 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39861 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39862 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39863 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39864 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39865 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39866 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39867 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39868 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39869 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39870 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39871 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39872 * kern/disk.c: Include <pupa/file.h>.
39873 (pupa_print_partinfo): New function.
39874 * kern/dl.c: Include <pupa/env.h>.
39875 (pupa_dl_dir): Variable removed.
39876 (pupa_dl_load): Use the environment variable `prefix' instead of
39877 the variable pupa_dl_dir.
39878 (pupa_dl_set_prefix): Function removed.
39879 (pupa_dl_get_prefix): Likewise.
39880 * kern/i386/pc/init.c: Include <pupa/env.h>.
39881 (pupa_machine_init): Use the environment variable `prefix' instead of
39882 using pupa_dl_set_prefix to set the prefix.
39883 * kern/main.c: Include <pupa/env.h>.
39884 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39885 using pupa_dl_get_prefix to get the prefix.
39886 * kern/misc.c: Include <pupa/env.h>.
39887 (pupa_isdigit): New function.
39888 (pupa_isgraph): Likewise.
39889 (pupa_ftoa): Likewise.
39890 (pupa_vsprintf): Added support for printing values of the type
39891 `double'. Make it possible to format variable output when using
39892 formatting like `%1.2%f'.
39893 (pupa_split_cmdline): New function.
39894 * kern/rescue.c: Include <pupa/env.h>.
39895 (next_word): Removed function.
39896 (pupa_rescue_cmd_prefix): Likewise.
39897 (pupa_rescue_cmd_set): New function.
39898 (pupa_rescue_cmd_unset): New function.
39899 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39900 split the command line instead of splitting it here. Added
39901 support for setting variables using the syntax `foo=bar'. Don't
39902 initialize the prefix command anymore. Initialized the set and
39903 unset commands.
39904 * normal/cmdline.c: Include <pupa/env.h>.
39905 (pupa_tab_complete): Added prototypes for print_simple_completion,
39906 print_partition_completion, add_completion, iterate_commands,
39907 iterate_dev, iterate_part and iterate_dir. Moved code to print
39908 partition information from here to kern/disk.c.
fe6b695a 39909 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 39910 * normal/main.c: Include <pupa/env.h>.
39911 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39912 instead of using pupa_dl_get_prefix to get the prefix.
39913 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39914 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39915 warning.
39916 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39917 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39918 ((unused))' to silence a gcc warning.
39919 (pupa_vga_setcolor): Likewise.
39920 (debug_command): Changed to match argument parsing
39921 interface changes.
39922 * util/pupa-emu.c: Include <pupa/env.h>.
39923 (options): Added 0's for unused fields to silence a gcc warning.
39924 (argp): Likewise.
39925 (main): Use the environment variable `prefix' instead of using
39926 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39927 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39928 and terminal.
39929
39930 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39931 * util/misc.c: Include <malloc.h>.
39932 (pupa_malloc): Rewritten so errors are correctly reported.
39933 (pupa_realloc): Likewise.
39934 (pupa_memalign): Likewise.
39935 (pupa_mm_init_region): Declare unused variables with
39936 `__attribute__ ((unused))' to silence a gcc warning.
39937 * normal/i386/setjmp.S: Remove tab at the end of the file to
39938 silence a gcc warning.
39939 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39940 variables with `__attribute__ ((unused))' to silence a gcc
39941 warning.
39942 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39943 local variable i unsigned to silence a gcc warning.
39944
39945 * kern/term.c: Include <pupa/misc.h>.
39946 (pupa_more_lines): New variable.
39947 (pupa_more): Likewise.
39948 (pupa_putcode): When the pager is active pause at the end of every
39949 screen.
39950 (pupa_set_more): New function.
39951 * include/pupa/term.h (pupa_set_more): New prototype.
39952
39953
3b1139cb 399542004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39955
39956 Now this project is GRUB 2 rather than PUPA. The location of
39957 the CVS repository was moved to GRUB's.
f19dbdb7 39958
3b1139cb 39959 * configure.ac: Use bug-grub as the reporting address.
39960 Use GRUB instead of PUPA.
39961 Change the version number to 1.90.
39962
8367695c 399632004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39964
39965 * genkernsyms.sh: Updated copyright information.
39966 * genmk.rb: Likewise.
39967 * genmodsrc.sh: Likewise.
39968 * gensymlist.sh: Likewise.
39969 * boot/i386/pc/boot.S: Likewise.
39970 * boot/i386/pc/diskboot.S: Likewise.
39971 * disk/i386/pc/biosdisk.c: Likewise.
39972 * disk/i386/pc/partition.c: Likewise.
39973 * font/manager.c: Likewise.
39974 * fs/ext2.c: Likewise.
39975 * fs/fat.c: Likewise.
39976 * include/pupa/boot.h: Likewise.
39977 * include/pupa/device.h: Likewise.
39978 * include/pupa/disk.h: Likewise.
39979 * include/pupa/dl.h: Likewise.
39980 * include/pupa/elf.h: Likewise.
39981 * include/pupa/err.h: Likewise.
39982 * include/pupa/file.h: Likewise.
39983 * include/pupa/font.h: Likewise.
39984 * include/pupa/fs.h: Likewise.
39985 * include/pupa/kernel.h: Likewise.
39986 * include/pupa/loader.h: Likewise.
39987 * include/pupa/misc.h: Likewise.
39988 * include/pupa/mm.h: Likewise.
39989 * include/pupa/net.h: Likewise.
39990 * include/pupa/normal.h: Likewise.
39991 * include/pupa/rescue.h: Likewise.
39992 * include/pupa/setjmp.h: Likewise.
39993 * include/pupa/symbol.h: Likewise.
39994 * include/pupa/term.h: Likewise.
39995 * include/pupa/types.h: Likewise.
39996 * include/pupa/i386/setjmp.h: Likewise.
39997 * include/pupa/i386/types.h: Likewise.
39998 * include/pupa/i386/pc/biosdisk.h: Likewise.
39999 * include/pupa/i386/pc/boot.h: Likewise.
40000 * include/pupa/i386/pc/console.h: Likewise.
40001 * include/pupa/i386/pc/init.h: Likewise.
40002 * include/pupa/i386/pc/kernel.h: Likewise.
40003 * include/pupa/i386/pc/linux.h: Likewise.
40004 * include/pupa/i386/pc/loader.h: Likewise.
40005 * include/pupa/i386/pc/memory.h: Likewise.
40006 * include/pupa/i386/pc/multiboot.h: Likewise.
40007 * include/pupa/i386/pc/partition.h: Likewise.
40008 * include/pupa/i386/pc/time.h: Likewise.
40009 * include/pupa/i386/pc/vga.h: Likewise.
40010 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
40011 * include/pupa/util/getroot.h: Likewise.
40012 * include/pupa/util/misc.h: Likewise.
40013 * include/pupa/util/resolve.h: Likewise.
40014 * kern/device.c: Likewise.
40015 * kern/disk.c: Likewise.
40016 * kern/dl.c: Likewise.
40017 * kern/err.c: Likewise.
40018 * kern/file.c: Likewise.
40019 * kern/fs.c: Likewise.
40020 * kern/loader.c: Likewise.
40021 * kern/main.c: Likewise.
40022 * kern/misc.c: Likewise.
40023 * kern/mm.c: Likewise.
40024 * kern/rescue.c: Likewise.
40025 * kern/term.c: Likewise.
40026 * kern/i386/dl.c: Likewise.
40027 * kern/i386/pc/init.c: Likewise.
40028 * kern/i386/pc/lzo1x.S: Likewise.
40029 * kern/i386/pc/startup.S: Likewise.
40030 * loader/i386/pc/chainloader.c: Likewise.
40031 * loader/i386/pc/linux.c: Likewise.
40032 * loader/i386/pc/multiboot.c: Likewise.
40033 * normal/cmdline.c: Likewise.
40034 * normal/command.c: Likewise.
40035 * normal/main.c: Likewise.
40036 * normal/menu.c: Likewise.
40037 * normal/i386/setjmp.S: Likewise.
40038 * term/i386/pc/console.c: Likewise.
40039 * term/i386/pc/vga.c: Likewise.
40040 * util/console.c: Likewise.
40041 * util/genmoddep.c: Likewise.
40042 * util/misc.c: Likewise.
40043 * util/pupa-emu.c: Likewise.
40044 * util/resolve.c: Likewise.
40045 * util/unifont2pff.rb: Likewise.
40046 * util/i386/pc/biosdisk.c: Likewise.
40047 * util/i386/pc/getroot.c: Likewise.
40048 * util/i386/pc/pupa-mkimage.c: Likewise.
40049 * util/i386/pc/pupa-setup.c: Likewise.
40050
e6eced71 400512004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40052
40053 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40054 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40055 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40056 reading and reset it after reading.
40057 (pupa_ext2_close): Return PUPA_ERR_NONE.
40058
40059 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40060 Correct value.
40061 (struct linux_kernel_header): Add kernel_version and
40062 initrd_addr_max.
40063 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40064 pupa_file_read succeeds.
40065 (pupa_rescue_cmd_initrd): Implement.
40066
5aded270 400672003-12-03 Marco Gerards <metgerards@student.han.nl>
40068
40069 * fs/ext2.c (pupa_ext2_label): New function.
40070 (pupa_ext2_fs): Added label.
40071 * fs/fat.c (pupa_fat_label): New function.
40072 (pupa_fat_fs): Added label.
40073 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40074
40075 * kern/misc.c (pupa_strndup): New function.
40076 * include/pupa/misc.h (pupa_strndup): New prototype.
40077
40078 * include/pupa/normal.h: Include <pupa/err.h>.
40079 (pupa_set_history): New prototype.
40080 (pupa_iterate_commands): New prototype.
40081 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40082 <pupa/disk.h>, <pupa/file.h>.
40083 (hist_size): New variable.
40084 (hist_lines): Likewise.
40085 (hist_end): Likewise.
40086 (hist_used): Likewise.
40087 (pupa_set_history): New function.
40088 (pupa_history_get): Likewise.
40089 (pupa_history_add): Likewise.
40090 (pupa_history_replace): Likewise.
40091 (pupa_tab_complete): Likewise.
40092 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40093 completion shows partitionnames while completing partitions, this
40094 feature was suggested by Jeff Bailey.
40095 * normal/command.c (pupa_iterate_commands): New function.
40096 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40097 (pupa_normal_init): Initialize history buffer.
40098 (PUPA_MOD_INIT): Likewise.
40099 (pupa_normal_fini): Free the history buffer.
40100 (PUPA_MOD_FINI): Likewise.
40101
40102 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40103 key.
40104
40105 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40106 * configure.ac [i386]: Check for regparam bug.
40107 (NESTED_FUNC_ATTR) [! i386]: Defined.
40108
1f7315a3 401092003-11-17 Marco Gerards <metgerards@student.han.nl>
40110
40111 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40112 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40113 (pupa_emu_SOURCES): New variable.
40114 (pupa_emu_LDFLAGS): Likewise.
40115 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40116 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40117 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40118 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40119 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40120 (pupa_jmp_buf): New typedef.
40121 (pupa_setjmp) [PUPA_UTIL]: New macro.
40122 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40123 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40124 (pupa_refresh): New prototype.
40125 * include/pupa/util/getroot.h: New file.
40126 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40127 it.
40128 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40129 (pupa_rescue_cmd_cat): Likewise.
40130 (pupa_rescue_cmd_ls): Likewise.
40131 (pupa_rescue_cmd_testload): Likewise.
40132 (pupa_rescue_cmd_lsmod): Likewise.
40133 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40134 * normal/menu.c (run_menu): Likewise.
40135 * kern/term.c (pupa_cls): Likewise.
40136 (pupa_refresh): New function.
40137 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40138 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40139 * util/console.c: New file.
f19dbdb7 40140
1f7315a3 40141 * util/i386/pc/getroot.c: New file.
40142 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40143 (pupa_putchar): New function.
40144 (pupa_refresh): Likewise.
40145 (xgetcwd): Function moved to ...
40146 (strip_extra_slashes): Likewise.
40147 (get_prefix): Likewise.
f19dbdb7 40148 * util/i386/pc/getroot.c: ... here.
1f7315a3 40149 (find_root_device): Function moved and renamed to...
40150 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40151 Changed all callers.
40152 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
40153 and renamed to...
40154 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
40155 Changed all callers.
40156 * util/misc.c (pupa_memalign): New function.
40157 (pupa_mm_init_region): Likewise.
40158 (pupa_register_exported_symbols): Likewise.
40159 (pupa_putchar): Function removed.
40160 * util/pupa-emu.c: New file.
40161
9a5c1ade 401622003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
40163
40164 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
40165 (_multiboot_mod_SOURCES): New variable.
40166 (_multiboot_mod_CFLAGS): Likewise.
40167 * loader/i386/pc/multiboot.c: New file.
40168 * include/pupa/i386/pc/multiboot.h: Likewise.
40169 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40170 (pupa_multiboot_real_boot): New function.
40171 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40172 (pupa_multiboot_real_boot): New prototype.
40173 (pupa_rescue_cmd_multiboot): Likewise
40174 (pupa_rescue_cmd_module): Likewise.
40175
40176 * kern/loader.c (pupa_loader_set): Continue when
40177 pupa_loader_unload_func() fails.
40178 (pupa_loader_unset): New function.
40179 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40180
40181 * kern/misc.c (pupa_stpcpy): New function.
40182 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40183
8e72a9c0 401842003-11-12 Marco Gerards <metgerards@student.han.nl>
40185
40186 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40187 for available extensions.
40188
40189 * include/pupa/i386/pc/time.h: New file.
40190 * kern/disk.c: Include <pupa/machine/time.h>.
40191 (PUPA_CACHE_TIMEOUT): New macro.
40192 (pupa_last_time): New variable.
40193 (pupa_disk_open): Flush the cache when there was a timeout.
40194 (pupa_disk_close): Reset the timer.
40195 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40196 pupa_currticks.
40197 * util/misc.c: Include <sys/times.h>
40198 (pupa_get_rtc): New function.
40199
c4adbd32 402002003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40201
40202 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40203 as blocks.
40204 (pupa_ext2_get_file_block): Use blocks member.
40205
40206 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40207 first block. Return -1 instead of pupa_errno on error.
40208
bfd30f06 402092003-10-27 Marco Gerards <metgerards@student.han.nl>
40210
40211 * README: In the pupa-mkimage example use _chain instead of chain
40212 and ext2 instead of fat.
40213 * TODO: Replace ext2fs with jfs as an example. Add an item for
40214 adding journal playback for ext2fs.
40215 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40216 (pkgdata_MODULES): Added ext2.mod.
40217 (ext2_mod_SOURCES): New variable.
40218 (ext2_mod_CFLAGS): Likewise.
40219 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40220 * include/pupa/misc.h (pupa_strncpy): New prototype.
40221 (pupa_strcat): Likewise.
40222 (pupa_strncmp): Likewise.
40223 * kern/misc.c (pupa_strcat): Enable function.
40224 (pupa_strncpy): New function.
40225 (pupa_strncmp): Likewise.
40226 * fs/ext2.c: New file.
f19dbdb7 40227
bfd30f06 40228 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40229 when the read failed before retrying.
40230 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40231 (_FILE_OFFSET_BITS): Likewise.
40232 * configure.ac: Added AC_SYS_LARGEFILE.
40233
98d15063 402342003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40235
40236 * genmk.rb (PModule#rule): Make sure to get only symbol names
40237 from the output of nm.
59cad637 40238 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 40239
18d9c7cd 402402003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40241
40242 I forgot to check in these changes for a long time. This adds
40243 incomplete support for VGA console, and this is still very
40244 buggy. Also, a lot of consideration is required for I18N,
40245 UNICODE, and VGA font issues. Therefore, assume that this is
40246 such that "better than nothing".
f19dbdb7 40247
18d9c7cd 40248 * font/manager.c: New file.
40249 * include/pupa/font.h: Likewise.
40250 * include/pupa/i386/pc/vga.h: Likewise.
40251 * term/i386/pc/vga.c: Likewise.
40252 * util/unifont2pff.rb: Likewise.
40253
40254 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40255 (pkgdata_MODULES): Added vga.mod and font.mod.
40256 (vga_mod_SOURCES): New variables.
40257 (vga_mod_CFLAGS): Likewise.
40258 (font_mod_SOURCES): Likewise.
40259 (font_mod_CFLAGS): Likewise.
40260
40261 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40262
40263 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 40264 (struct pupa_term): Added init and fini.
18d9c7cd 40265 Changed the argument of putchar to pupa_uint32_t.
40266
40267 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40268 (pupa_console_real_putchar): New prototype.
40269 (pupa_console_putchar): Removed.
40270 (pupa_console_checkkey): Exported.
40271 (pupa_console_getkey): Likewise.
40272
40273 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40274 characters.
40275
40276 * kern/term.c (pupa_term_set_current): Rewritten.
40277 (pupa_putchar): Likewise.
40278 (pupa_putcode): New function.
40279
40280 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40281 (pupa_console_real_putchar): ... this.
40282 (pupa_vga_set_mode): New function.
40283 (pupa_vga_get_font): Likewise.
40284
40285 * normal/command.c: Include pupa/term.h.
40286 (terminal_command): New function.
40287 (pupa_command_init): Register the command "terminal".
40288
40289 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40290 (DISP_UP): Likewise.
40291 (DISP_RIGHT): Likewise.
40292 (DISP_DOWN): Likewise.
40293 (DISP_HLINE): Likewise.
40294 (DISP_VLINE): Likewise.
40295 (DISP_UL): Likewise.
40296 (DISP_UR): Likewise.
40297 (DISP_LL): Likewise.
40298 (DISP_LR): Likewise.
40299
40300 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 40301
977329f5 403022003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40303
40304 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40305 FIX. Reverse the path_list.
40306
40307 * include/pupa/normal.h: Export pupa_register_command and
40308 pupa_unregister_command.
40309
40310 * hello/hello.c (pupa_cmd_hello): New module.
40311 * conf/i386-pc.rmk: Added hello.mod.
40312
1f5ab428 403132003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40314
40315 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 40316
1f5ab428 40317 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40318 (compress_kernel): New variable.
40319 (generate_image): Heavily modified to support compressing a
40320 large part of the core image.
40321
40322 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40323 leak.
40324 (pupa_util_load_image): New function.
40325
40326 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40327 (pupa_compressed_size): New variable.
40328 (codestart): Enable Gate A20 here.
40329 Decompress the compressed part of the core image.
40330 Rearrange the code to put functions and variables which are
40331 required for initialization in the non-compressed part.
40332 Include lzo1x.S.
40333
40334 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40335 here.
40336
40337 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40338
f19dbdb7 40339 * include/pupa/i386/pc/kernel.h
1f5ab428 40340 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40341 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40342 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40343 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40344 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40345
40346 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40347
40348 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40349 (Utility#rule): Likewise.
40350
40351 * configure.ac: Check if LZO is available.
40352
ce5bf700 403532003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40354
40355 * include/pupa/normal.h: New file.
40356 * include/pupa/setjmp.h: Likewise.
40357 * include/pupa/i386/setjmp.h: Likewise.
40358 * normal/cmdline.c: Likewise.
40359 * normal/command.c: Likewise.
40360 * normal/main.c: Likewise.
40361 * normal/menu.c: Likewise.
40362 * normal/i386/setjmp.S: Likewise.
f19dbdb7 40363
ce5bf700 40364 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40365 (pupa_rescue_cmd_initrd): Likewise.
40366
40367 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40368 Likewise.
40369
40370 * kern/i386/pc/startup.S (translation_table): New variable.
40371 (translate_keycode): New function.
40372 (pupa_console_getkey): Call translate_keycode.
40373
40374 * kern/rescue.c (attempt_normal_mode): New function.
40375 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40376 it failed, print a message.
40377
40378 * kern/mm.c (pupa_real_malloc): Print more information when a
40379 free magic is broken.
40380 (pupa_free): If the first free header is not free actually, set
40381 it to P.
40382
40383 * kern/main.c (pupa_load_normal_mode): Just load the module
40384 "normal".
40385 (pupa_main): Don't print the message
40386 "Entering into rescue mode..." here.
40387
40388 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40389 Declared.
40390 (pupa_rescue_cmd_initrd): Likewise.
40391 (pupa_rescue_cmd_initrd): Likewise.
40392
40393 * include/pupa/symbol.h (FUNCTION): Specify the type.
40394 (VARIABLE): Likewise.
40395
40396 * include/pupa/err.h (pupa_err_t): Added
40397 PUPA_ERR_UNKNOWN_COMMAND.
40398
40399 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40400 (pupa_dl_get_prefix): Likewise.
40401
40402 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40403 Added _chain.mod and _linux.mod instead of chain.mod and
40404 linux.mod.
40405 (chain_mod_SOURCES): Renamed to ...
40406 (_chain_mod_SOURCES): ... this.
40407 (chain_mod_CFLAGS): Renamed to ...
40408 (_chain_mod_CFLAGS): ... this.
40409 (linux_mod_SOURCES): Renamed to ...
40410 (_linux_mod_SOURCES): ... this.
40411 (linux_mod_CFLAGS): Renamed to ...
40412 (_linux_mod_CFLAGS): ... this.
40413 (normal_mod_SOURCES): New variable.
40414 (normal_mod_CFLAGS): Likewise.
40415 (normal_mod_ASFLAGS): Likewise.
40416
404172003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40418
40419 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40420 possible.
40421
fe6b695a 40422 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 40423 recursively.
40424 (pupa_dl_unref): Unrefer depending modules recursively.
40425 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40426 a module is unloaded before one depending on that module is
40427 unloaded.
40428 (pupa_dl_unload): Unload depending modules explicitly,
40429 if possible.
40430
c04da074 404312003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40432
40433 * include/pupa/i386/pc/linux.h: New file.
40434 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 40435
c04da074 40436 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40437 Removed.
40438 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40439 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40440 of PUPA_CHAINLOADER_BOOT_SECTOR.
40441
40442 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40443 (pupa_linux_prot_size): New variable.
40444 (pupa_linux_tmp_addr): Likewise.
40445 (pupa_linux_real_addr): Likewise.
40446 (pupa_linux_boot_zimage): New function.
40447 (pupa_linux_boot_bzimage): Likewise.
40448
40449 * kern/i386/pc/init.c (struct mem_region): New structure.
40450 (MAX_REGIONS): New macro.
40451 (mem_regions): New variable.
40452 (num_regions): Likewise.
40453 (pupa_os_area_addr): Likewise.
40454 (pupa_os_area_size): Likewise.
40455 (pupa_lower_mem): Likewise.
40456 (pupa_upper_mem): Likewise.
40457 (add_mem_region): New function.
40458 (compact_mem_regions): Likewise.
40459 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40460 the size of the conventional memory and that of so-called upper
40461 memory (before the first memory hole).
40462 Instead of adding each found region to free memory, use
40463 add_mem_region and add them after removing overlaps.
40464 Also, add only 1/4 of the upper memory to free memory. The rest
40465 is used for loading OS images. Maybe this is ad hoc, but this
40466 makes it much easier to relocate OS images when booting.
40467
40468 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40469 (pupa_enter_rescue_mode): Don't register initrd and module.
40470
40471 * kern/mm.c: Include pupa/dl.h.
40472
40473 * kern/main.c: Include pupa/file.h and pupa/device.h.
40474
40475 * kern/loader.c (pupa_loader_load_module_func): Removed.
40476 (pupa_loader_load_module): Likewise.
40477
40478 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40479 ``.o''.
40480
40481 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40482 (pupa_linux_tmp_addr): Likewise.
40483 (pupa_linux_real_addr): Likewise.
40484 (pupa_linux_boot_zimage): Likewise.
40485 (pupa_linux_boot_bzimage): Likewise.
40486
40487 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40488 (pupa_upper_mem): Likewise.
40489 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40490 module is too dangerous.
40491
40492 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40493 (pupa_os_area_size): Likewise.
40494 (pupa_loader_set): Remove the first argument. Loader doesn't
40495 manage modules or initrd any longer.
40496 (pupa_loader_load_module): Removed.
40497
40498 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40499 (linux_mod_SOURCES): New variable.
40500 (linux_mod_CFLAGS): Likewise.
40501
a13f9237 405022003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40503
40504 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40505 the length of a blocklist correctly.
40506
40507 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40508 Use ioctl only if the OS file is a block device.
40509 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40510 not very useful for normal files.
40511
40512 * kern/main.c (pupa_set_root_dev): New function.
40513 (pupa_load_normal_mode): Likewise.
40514 (pupa_main): Call those above.
40515
40516 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40517 pupa_uint16_t.
40518
40519 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40520
a5ffe966 405212003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40522
40523 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40524 (setup): Configure the installed partition information and the
40525 dl prefix.
40526
40527 * loader/i386/pc/chainloader.c (my_mod): New variable.
40528 (pupa_chainloader_unload): New function.
40529 (pupa_rescue_cmd_chainloader): Refer itself.
40530 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40531
40532 * kern/i386/pc/startup.S (install_partition): Removed.
40533 (version_string): Likewise.
40534 (config_file): Likewise.
40535 (pupa_install_dos_part): New variable.
40536 (pupa_install_bsd_part): Likewise.
40537 (pupa_prefix): Likewise.
40538 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40539
40540 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40541 and pupa/misc.h.
40542 (make_install_device): New function.
40543 (pupa_machine_init): Set the dl prefix.
40544
40545 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40546 (buf): Renamed to ...
40547 (linebuf): ... this.
40548 (pupa_rescue_cmd_prefix): New function.
40549 (pupa_rescue_cmd_insmod): Likewise.
40550 (pupa_rescue_cmd_rmmod): Likewise.
40551 (pupa_rescue_cmd_lsmod): Likewise.
40552 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40553 rmmod and lsmod.
40554
40555 * kern/mm.c (pupa_memalign): If failed even after invalidating
40556 disk caches, unload unneeded modules and retry.
40557
40558 * kern/misc.c (pupa_memmove): New function.
40559 (pupa_memcpy): Removed.
40560 (pupa_strcpy): New function.
40561 (pupa_itoa): Made static.
40562
40563 * kern/dl.c (pupa_dl_iterate): New function.
40564 (pupa_dl_ref): Likewise.
40565 (pupa_dl_unref): Likewise.
40566 (pupa_dl_unload): Return if succeeded or not.
40567 (pupa_dl_unload_unneeded): New function.
40568 (pupa_dl_unload_all): Likewise.
40569 (pupa_dl_init): Renamed to ...
40570 (pupa_dl_set_prefix): ... this.
40571 (pupa_dl_get_prefix): New function.
40572
40573 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40574 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40575 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40576 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40577 (pupa_install_dos_part): Declared.
40578 (pupa_install_bsd_part): Likewise.
40579 (pupa_prefix): Likewise.
40580 (pupa_boot_drive): Likewise.
40581
40582 * include/pupa/types.h: Fix a typo.
40583
40584 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40585 pupa_memmove.
40586 (pupa_memmove): Declared.
40587 (pupa_strcpy): Likewise.
40588
40589 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40590 pupa_mod_init takes one argument, its own module.
40591 (pupa_dl_unload_unneeded): Declared.
40592 (pupa_dl_unload_all): Likewise.
40593 (pupa_dl_ref): Likewise.
40594 (pupa_dl_unref): Likewise.
40595 (pupa_dl_iterate): Likewise.
40596 (pupa_dl_init): Renamed to ...
40597 (pupa_dl_set_prefix): ... this.
40598 (pupa_dl_get_prefix): Declared.
40599
40600 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 40601 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 40602 unloaded.
40603 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40604 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40605
40606 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40607 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40608
012d7999 406092003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40610
40611 * util/i386/pc/pupa-setup.c (setup): Define the internal
40612 function find_first_partition_start at the top level, because GCC
40613 3.0.x cannot compile internal functions in deeper scopes
40614 correctly.
40615 (find_root_device): Use lstat instead of stat.
40616 Don't follow symbolic links.
40617 Fix the path-constructing code.
40618
40619 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40620 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40621 by a BLKGETSIZE ioctl first, because block devices don't fill
40622 the member st_mode of the structure stat on Linux.
40623 [__linux__] (linux_find_partition): Use a temporary buffer
40624 REAL_DEV for the working space. Copy it to DEV before returning.
40625 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40626 buffer cache consistent.
40627 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40628 strncmp. The previous value was merely wrong.
40629 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40630
40631 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40632 FAT size is 12. The previous value was merely wrong.
40633
40634 * kern/main.c (pupa_main): Don't split the starting message from
40635 newlines.
40636
40637 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40638 LF, because BIOS goes crazy about character attributes in this
40639 case.
40640
1cc73a62 406412003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40642
40643 * include/i386/pc/util/biosdisk.h: New file.
40644 * util/i386/pc/biosdisk.c: Likewise.
40645 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 40646
1cc73a62 40647 * Makefile.in (INCLUDE_DISTFILES): Added
40648 include/pupa/i386/pc/util/biosdisk.h.
40649 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40650 directory util/i386/pc.
40651 (install-local): Added a rule for sbin_UTILITIES.
40652 (uninstall): Likewise.
40653
40654 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40655
40656 * util/misc.c (xrealloc): New function.
40657 (pupa_malloc): Likewise.
40658 (pupa_free): Likewise.
40659 (pupa_realloc): Likewise.
40660 (pupa_stop): Likewise.
40661 (pupa_putchar): Likewise.
40662
40663 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40664
40665 * include/pupa/util/misc.h (xrealloc): Declared.
40666
40667 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40668 macro.
40669 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40670 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40671
40672 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40673 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40674
40675 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40676 way should be implemented.
40677 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40678
40679 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40680 the size of NAME for safety.
40681 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40682 0x88.
40683
40684 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40685 (pupa_setup_SOURCES): Likewise.
40686
40687 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40688
08b70fe8 406892002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40690
40691 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40692 bunch of pushl's from pusha, because this destroys the return
40693 value.
40694
62ddcc8f 406952002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40696
40697 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40698 This means that any missing prototypes could be fatal. Also, you
40699 must take care when writing assembly code. See the comments at
40700 the beginning of startup.S, for more details.
f19dbdb7 40701
62ddcc8f 40702 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40703 compilation mechanism.
40704 (pupa_chainloader_real_boot): Likewise.
40705 (pupa_biosdisk_rw_int13_extensions): Likewise.
40706 (pupa_biosdisk_rw_standard): Likewise.
40707 (pupa_biosdisk_check_int13_extensions): Likewise.
40708 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40709 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40710 (pupa_get_memsize): Likewise.
40711 (pupa_get_mmap_entry): Likewise.
40712 (pupa_console_putchar): Likewise.
40713 (pupa_console_setcursor): Likewise.
40714 (pupa_getrtsecs): Use pushl instead of push.
40715
40716 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40717 memory instead of the stack for a mmap entry, because some
40718 BIOSes may ignore the maximum size and overflow.
40719
40720 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40721
40722 * genmk.rb (PModule#rule): Compile automatically generated
40723 sources with module-specific CFLAGS as well as other sources.
40724
9962ed99 407252002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40726
40727 * configure.ac: Check ld.
40728 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40729 respectively, before checking endianness and sizes.
40730
40731 * Makefile.in (LD): New variable.
f19dbdb7 40732
abdfc3c5 407332002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40734
40735 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40736
6a161fa9 407372002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40738
40739 * Changelog: New file.
40740