]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
[grub2.git] / ChangeLog
CommitLineData
a8bd9d39
VS
12011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
4 Fix prototype.
5
f7ce5baf
VS
62011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7
8 Fix mips compilation.
9
10 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11 normal decoder.
12 (hashes): Use in embed decoder as well (for sizes).
13 (dec_stream_header): Fix embed decompressor logic.
14 (dec_stream_footer): Likewise.
15
9bb182f3
VS
162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
19 an error and not a fatal on unrecognised relocation types.
20
63a9e6f6
VS
212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
24 Issue error rather than printf on unknown arguments.
25
4c458569
VS
262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
29 Make buf a const.
30
e2d22baf
VS
312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
34 Fix module name.
35
53dc8590
VS
362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
39 leftover debug printf.
40
6c189294
VS
412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
44
f7688369
VS
452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
48 A stylistic fix.
49
11a775a3
VS
502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
53
33f784e8
SL
542011-11-10 Shea Levy <slevy@tieronedesign.com>
55
56 Allow all modules to perform serial IO
57
58 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
59 * include/grub/serial.h (grub_serial_port_configure): New inline
60 function.
61 (grub_serial_port_fetch): Likewise.
62 (grub_serial_port_put): Likewise.
63 (grub_serial_port_fini): Likewise.
64 (grub_serial_find): New proto.
65
f6276525
VS
662011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
67
68 Put symlink at the end of the node and fix a potential
69 memory corruption.
70
71 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
72 Make symlink into an array.
73 (set_rockridge): Set have_symlink and alloc_dirents.
74 (grub_iso9660_read_symlink): Use new layout.
75 (grub_iso9660_iterate_dir): Fix memory corruption.
76 Use new layout.
77 (grub_iso9660_dir): Set have_symlink.
78 (grub_iso9660_open): Likewise.
79
c3591189
VS
802011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
81
82 Remove local keyword.
83
84 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
85 (version_test_gt): Likewise.
86 (version_find_latest): Likewise.
87 (gettext_printf): Likewise.
88 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
89
cb544caa
VS
902011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
93
45bd824d
VS
942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
95
96 Fix ZFS memory and resource leaks.
97
98 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
99 All users updated.
100 Free type on exit.
101 (fill_vdev_info): New parameter inserted. All users updated.
102 (check_pool_label): Likewise.
103 (scan_disk): Likewise.
104 (scan_devices): Close non-inserted disks.
105 (fzap_iterate): Free l.
106 (unmount_device): Free children descripto memory.
107
ad9a2f44
VS
1082011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
111 argument (access out of bounds).
112
6b68db81
VS
1132011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
116 >= 6 drives.
117
28840fda
VS
1182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
121 Fix declaration.
122
8a5a3a5b
VS
1232011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
124
125 Fix several memory leaks.
126
127 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
128 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
129 (grub_cpio_dir): Likewise.
130 * grub-core/fs/fat.c (grub_fat_label): Likewise.
131 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
132 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
133 (grub_romfs_label): Likewise.
134 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
135 (squash_unmount): New function.
136 (grub_squash_dir): Fix memory leak.
137 (grub_squash_open): Likewise.
138 (grub_squash_read): Likewise.
139 (grub_squash_mtime): Likewise.
140 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
141 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
142 * util/grub-fstest.c (fstest): Likewise.
143
57b01250
VS
1442011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
147 avoid accessing beyond the array.
148
19e81ba7
VS
1492011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
152
52b656c0
VS
1532011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
154
155 Several AFFS fixes.
156
157 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
158 (GRUB_AFFS_FLAG_FFS): Removed.
159 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
160 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
161 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
162 (grub_fshelp_node): Make block 32-bit.
163 Add block_cache and last_block_cache.
164 (grub_affs_read_block): Fill and use block cache.
165 (grub_affs_read_file): Removed.
166 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
167 boot block.
168 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
169 safety.
170 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
171 space.
172 (grub_affs_close): Free block cache.
173 (grub_affs_read): Use grub_fshelp_read_file directly.
174
438a746a
VS
1752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
178 with no error set.
179
49a45021
VS
1802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
183 used variable.
184 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
185 Likewise.
186
3ae17eb8
VS
1872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
188
189 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
190
191 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
192 byteswap when needed.
193
27610c38
VS
1942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
195
196 Fix FreeBSD compilation.
197
198 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
199 to avoid circular dependency.
200 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
201 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
202 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
203
4a19b601
VS
2042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
205
206 Fix ZFS crypto error types.
207
208 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
209 (grub_gcm_decrypt): Likewise.
210 (grub_zfs_load_key_real): Fix error code type. Handle possible error
211 from PBKDF2.
212
958ee221
VS
2132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
214
215 Illumos support.
216
217 * Makefile.util.def (10_illumos): New script.
218 * configure.ac: Set COND_HOST_ILLUMOS.
219 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
220 Support Illumos calls.
221 (find_partition_start) [__sun__]: Likewise.
222 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
223 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
224 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
225 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
226 device.
227 * util/grub-probe.c (probe) [__sun__]: Do character check.
228 * util/grub.d/10_illumos.in: New file.
229
cac14fb6
VS
2302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
231
232 Support escaped commas in hostdisk.
233
234 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
235 (find_grub_drive): Use unescape_cmp.
236 (make_device_name): Escape commas.
237
78e08dc3
VS
2382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
241
9f421dd1
VS
2422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
245 variable.
246
ed64e9e2
VS
2472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
248
249 Support trampoline jumps on powerpc.
250
251 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
252 __ia64__ path.
253 (grub_dl_load_segments): Set mod->sz.
254 (grub_dl_flush_cache): Flush whole space occupied by module, not just
255 segments.
256 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
257 (jump): Likewise.
258 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
259 function.
260 (trampoline): New struct.
261 (trampoline_template): New const.
262 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
263 * include/grub/dl.h (grub_dl): Add sz element.
264 [__powerpc__]: Follow __ia64__.
265 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
266 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
267 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
268 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
269
3084ede4
VS
2702011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
271
272 ZFS crypto support.
273
274 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
275 * grub-core/Makefile.core.def (zfscrypt): New module.
276 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
277 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
278 it. All users updated.
279 (grub_zfs_decrypt): New var.
280 (grub_zfs_load_key): Likewise.
281 (zio_checksum_functions): Add SHA256+MAC.
282 (zio_checksum_verify): Handle incomplete comparison due to MAC.
283 (zio_read): Handle encrypted blocks.
284 (zap_verify): Remove incorrect check.
285 (fzap_iterate): Handle non-standard fzap.
286 (zap_iterate): Likewise.
287 (zap_iterate_u64): New function.
288 (dnode_get_fullpath): Load keys.
289 * grub-core/fs/zfs/zfscrypt.c: New file.
290 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
291 (grub_crypto_ecb_encrypt): Make input const.
292 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
293 (grub_crypto_ecb_encrypt): Make input const.
294 (GRUB_CIPHER_AES): New macro.
295 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
296 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
297 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
298 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
299 prefix. All users updated.
300 (grub_zfs_add_key): New proto.
301 (grub_zfs_decrypt): Likewise.
302 (grub_zfs_load_key): Likewise.
303 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
304 * util/grub-fstest.c (options): Add -K option.
305 (argp_parser): Likewise.
306
b632b404
VS
3072011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
308
309 Support zle compression on ZFS.
310
311 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
312 (decomp_table): Add zle.
313 * include/grub/zfs/zio.h (zio_compress): Add zle.
314
c7ba4f69
VS
3152011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
316
317 Support BtrFS embedding.
318
319 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
320 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
321 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
322 * util/grub-setup.c (setup): Use fs embedding if available.
323 Add additional sanity check.
324
455377d9
VS
3252011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * util/grub-install.in: Fix condition for config_opt.
328
c2fd16ca
VS
3292011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
330
331 Support third redundancy strip on raidz3.
332
333 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
334 Return error on singularity. All users updated.
335 (read_device): Don't stop on 3rd failure on raidz3.
336
8622923b
VS
3372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
338
339 Support case-insensitive ZFS subvolumes.
340
341 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
342 All users updated.
343 (zap_hash): Likewise.
344 (name_cmp): New function.
345 (zap_leaf_array_equal): New parameter case_insensitive.
346 All users updated.
347 (zap_leaf_lookup): Likewise.
348 (fzap_lookup): Likewise.
349 (zap_lookup): Likewise.
350 (dnode_get_path): New parameter case_insensitive. Retrieve case
351 sensitiviness of a volume. All users updated.
352 (dnode_get_fullpath): New parameter case_insensitive.
353 All users updated.
354 (grub_zfs_dir): Set info.case_insensitiveness.
355
95f2e860
VS
3562011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
357
358 Support second redundancy strip on raidz(2,3).
359
360 * grub-core/fs/zfs/zfs.c (powx): New array.
361 (powx_inv): Likewise.
362 (poly): New const.
363 (xor_out): New function.
364 (gf_mul): Likewise.
365 (recovery): Likewise.
366 (read_device): Use second redundancy strip.
367
11ee4389
VS
3682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
369
370 Use a power of generator representation of GF(256) multiplication group
371 to save space time and complexity.
372
373 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
374 (raid6_table2): Likewise.
375 (powx): New array.
376 (powx_inv): Likewise.
377 (poly): New const.
378 (grub_raid_block_mul): Replace with ...
379 (grub_raid_block_mulx): ...this.
380 (grub_raid6_init_table): Rewritten.
381 (grub_raid6_recover): Use power of generator representation.
382
09e2763f
VS
3832011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
386 for the right device.
387
8bec9a28
VS
3882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
391 expected by grub-mkimage and it's more clear since there is no implicit
392 padding.
393
dbd3a32e
VS
3942011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
397 disk.
398 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
399
182c872a
PMH
4002011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
401
402 * util/grub-mkrescue.in: Fix handling xorriso option.
403
1e51cabd
VS
4042011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
407 NULL.
408
9cc3581d 4092011-11-03 crocket <crockabiscuit@gmail.com>
410
411 * util/grub.d/10_linux.in: Add Slackware initrd naming.
412
158dc1ea
VS
4132011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
414
415 XZ CRC64 and SHA256 support.
416
417 * Makefile.util.def (libgrubmods): Add crc64.c.
418 * grub-core/Makefile.core.def (crc64): New module.
419 * grub-core/lib/crc64.c: New file.
420 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
421 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
422 Fix the type.
423 (MAX_HASH_SIZE): New define.
424 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
425 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
426 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
427 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
428 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
429 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
430 Handle non-crc32 hashes.
431 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
432 (dec_stream_header): Handle non-crc32 hashes.
433 (dec_stream_footer): Likewise.
434 (dec_block_header): Likewise.
435 (dec_main): Likewise.
436 (xz_dec_init): Likewise.
437 (xz_dec_reset): Likewise.
438 (xz_dec_end): Likewise.
439 * util/import_gcry.py: Add CRC64 line.
440
9d9b3d2f
VS
4412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
444 as well.
445
7d0ac931
VS
4462011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
447
448 Make reiserfs label retrieval similar to other *_label functions.
449
450 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
451 (REISERFS_MAX_LABEL_LENGTH): Removed.
452 (REISERFS_LABEL_OFFSET): Likewise.
453 (grub_reiserfs_label): Rewritten.
454
4552011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
458 field.
459
cf5ba824
VS
4602011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
463
17744004
VS
4642011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
467 drive failure on both raidz and raidz2.
468
aca5aefc
VS
4692011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
470
471 Fix RAIDZ(2) for >= 5 devices.
472
473 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
474 asize argument. All users updated.
475
ce8ca56e
VS
4762011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
477
478 Fix RAIDZ(2).
479
480 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
481 (fill_vdev_info_real): Set ashift.
482 (read_device): Rewrite RAIDZ part based on reverse engineering.
483
7c01e783
VS
4842011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
487 don't report potentially unavialiable fields in debug output.
488 (find_path): Fix double-free and memory leak.
489
ce109e84
VS
4902011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
491
492 Read label on UFS1.
493
494 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
495 (grub_ufs_fs): Always set .label.
496
87661123
VS
4972011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
498
499 Use shifts in UFS.
500
501 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
502 (grub_ufs_data): New field log2_blksz.
503 (grub_ufs_read_file): Use shifts.
504 (grub_ufs_mount): Check block size and logarithm it.
505
46bc1dc2
VS
5062011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
509 long symlinks.
510
19ee2987
VS
5112011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
512
513 Handle symlinks and long names on tar and cpio.
514
515 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
516 (ATTR_FILE): Likewise.
517 (ATTR_DIR): Likewise.
518 (ATTR_LNK): Likewise.
519 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
520 (grub_cpio_find_file): Fill mode, handle linkname field as well as
521 L and K entries.
522 (grub_cpio_mount): Zero-fill data.
523 (handle_symlink): New function.
46bc1dc2
VS
524 (grub_cpio_dir): Handle symlinks.
525 (grub_cpio_open): Likewise.
526 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 527
c83a08d8
VS
5282011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
529
530 Fix iso9660 filename limitations and fix memory leaks.
531
532 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
533 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
534
45cdd3ea
VS
5352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
536
537 Fix JFS file name length limitations.
538
539 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
540 (grub_jfs_diropen): Fix maximum filename length.
541 (grub_jfs_getent): Fix filename length.
542 (grub_jfs_lookup_symlink): Fix size checks.
543
94ef05c2
VS
5442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
547 string.
548
785ab8c7
VS
5492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
550
eb0b6b45
VS
551 Leverage BFS implementation to read AFS.
552
553 * Makefile.util.def (libgrubmods): Add afs.c.
554 * grub-core/Makefile.core.def (afs): New module
555 * grub-core/fs/afs.c: New file.
556 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
557
5582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 561
c4a1628f
VS
5622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * grub-core/fs/bfs.c: Run indent.
565
5825b379
VS
5662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
567
568 BFS implementation based on the specification.
569
570 * grub-core/fs/bfs.c: New file.
571 * Makefile.util.def (libgrubmods): Add bfs.c.
572 * grub-core/Makefile.core.def (bfs): New module.
573
42b2a706
VS
5742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * util/grub-fstest.c (cmd_cp): Clarify error message.
577 (cmd_cmp): Likewise.
578
61b99bfc
YB
5792011-10-30 Yves Blusseau <blusseau@zetam.org>
580
581 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
582 and befs_be.
583
faba3d16
VS
5842011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
585
586 Remove afs and befs because of copyright problem.
587
588 * grub-core/fs/afs.c: Removed.
589 * grub-core/fs/afs_be.c: Removed.
590 * grub-core/fs/befs.c: Removed.
591 * grub-core/fs/befs_be.c: Removed.
592 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
593 * grub-core/Makefile.core.def (afs): Removed.
594 (afs_be): Likewise.
595 (befs): Likewise.
596 (befs_be): Likewise.
597
c39224b0
VS
5982011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
599
600 Prefer rockridge over Joliet.
601
602 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
603 to ...
604 (set_rockridge): ... here.
605 (grub_iso9660_mount): Check rockridge on the primary label when
606 discovering. Ignore Joliet if Rockridge is present.
607
e551115a
VS
6082011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
609
610 Use shifts in nilfs2.
611
612 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
613 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
614 (grub_nilfs2_palloc_entries_per_group): Replace with ...
615 (grub_nilfs2_log_palloc_entries_per_group): ... this.
616 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
617 (grub_nilfs2_entries_per_block): Replaced with ...
618 (grub_nilfs2_log_entries_per_block_log): ... this.
619 (grub_nilfs2_blocks_per_group): Replaced with ...
620 (grub_nilfs2_blocks_per_group_log): ... this.
621 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
622 (grub_nilfs2_blocks_per_desc_block_log): ... this.
623 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
624 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
625 (grub_nilfs2_palloc_entry_offset): Replaced ...
626 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
627 (grub_nilfs2_dat_translate): Use shifts.
628 (grub_nilfs2_read_inode): Likewise.
629 (GRUB_MOD_INIT): Ensure that logs are correct.
630
564dd58c
VS
6312011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
632
633 Use shifts in minix filesystem.
634
635 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
636 (GRUB_MINIX_ZONE2SECT): Likewise.
637 (grub_minix_data): Replace block_size with log_block_size.
638 (grub_minix_read_file): Use shifts.
639 (grub_minix_mount): Check block size and take a logarithm.
640
ed9ba06d
VS
6412011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
642
643 Use shifts in squash4.
644
645 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
646 (squash_mount): Check block size and take logarithm.
647 (direct_read): Use shifts.
648
ad03fe76
VS
6492011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
650
651 Correct befs block counting logic.
652
653 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
654 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
655 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
656 (grub_afs_read_inode): Use block_shift.
657 (RANGE_SHIFT): New definition.
658 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
659 unexpected conditions, use shifts and appropriate types.
660 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
661
6563f63d
VS
6622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/disk/raid.c (scan_devices): Check partition.
665 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
666
5b1ae25f
VS
6672011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
668
669 Support BFS (befs) UUID.
670
671 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
672 (grub_afs_small_data_element_header): New struct.
673 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
674 (grub_afs_read_attribute) [MODE_BFS]: New function.
675 (grub_afs_iterate_dir): Allocate for complete inode.
676 (grub_afs_mount): Likewise.
677 (grub_afs_uuid) [MODE_BFS]: New function.
678 (grub_afs_fs) [MODE_BFS]: Add .uuid.
679
f8d82408
VS
6802011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
683 (zfs_unmount): Fix memory leak.
684
5773fb64
VS
6852011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
686
687 Support NTFS reparse points.
688
689 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
690 (symlink_descriptor): New struct.
691 (grub_ntfs_read_symlink): New function.
692 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
693 (grub_ntfs_open): Likewise.
694
91c3fdde
VS
6952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
698
3be82e10
VS
6992011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
700
701 fstest xnu_uuid subcommand.
702
703 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
704 grub-core/commands/xnu_uuid.c.
705 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
706 (fstest): Handle xnu_uuid.
707 (options): Document xnu_uuid.
708 (argp_parser): Parse xnu_uuid.
709
8e32442e
VS
7102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
713 -l argument. Add newline at the end if printing.
714 (GRUB_MOD_INIT): Document -l.
715
52a05075
VS
7162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
719
1869edb5
VS
7202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
721
722 ZFS multi-device and version 33 support.
723
724 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
725 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
726 (grub_zfs_data): Add multidev-ice-related fields.
727 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
728 (dva_get_offset): Make dva const.
729 (zfs_fetch_nvlist): New function.
730 (fill_vdev_info_real): Likewise.
731 (fill_vdev_info): Likewise.
732 (check_pool_label): Likewise.
733 (scan_disk): Likewise.
734 (scan_devices): Likewise.
735 (read_device): Likewise.
736 (read_dva): Likewise.
737 (zio_read_gang): Use read_dva.
738 (zio_read_data): Likewise.
739 (zap_leaf_lookup): Add missing endian conversion.
740 (zap_verify): Add missing endian conversion. All users updated.
741 (fzap_lookup): Likewise.
742 (fzap_iterate): Likewise.
743 (dnode_get_path): Handle SA bonus.
744 (nvlist_find_value): Make input const. All users updated.
745 (unmount_device): New function.
746 (zfs_unmount): Use unmount_device.
747 (zfs_mount): Use scan_disk.
748 (zfs_mtime): New function.
749 (grub_zfs_open): Handle system attributes.
750 (fill_fs_info): Likewise.
751 (grub_zfs_dir): Likewise.
752 (grub_zfs_fs): Add mtime.
753 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
754 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
755 (SA_MTIME_OFFSET): Likewise.
756 (SA_SYMLINK_OFFSET): Likewise.
757 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
758 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
759 (fstest): Support zfsinfo.
760 (argp_parser): Likewise.
761
186b4028
VS
7622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
765 error.
766
7672011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
768
769 ZFS fixes.
770
771 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
772 sharing the same block. Iterate over correct number of indices.
773 (dnode_get_path): Handle symlinks correctly.
774
c0584900
VS
7752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
778
67e2bd71
VS
7792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
780
781 Read label on HFS+.
782
783 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
784 (grub_hfsplus_btree_search): Fix types.
785 (grub_hfsplus_label): Implement.
786
e9cc6b7b
VS
7872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
790
19832ddb
VS
7912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
794
66b40850
VS
7952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
796
797 Fix symlink handling on iso9660.
798
799 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
800 All users updated.
801 (grub_iso9660_susp_iterate): Accept zero-size iterate.
802 (grub_iso9660_read_symlink): Moved most of code ...
803 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
804
db821363
VS
8052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
808 Use union to avoid breaking strict-aliasing rules.
809
e1211949
VS
8102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
811
812 Support multi-extent iso files.
813
814 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
815 Add node.
816 (grub_fshelp_node): Revamp. All users updated.
817 (FLAG_*): New enum.
818 (read_node): New function.
819 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
820 All users updated.
821 (grub_iso9660_mount): Don't attempt to read sua when there is none.
822 (get_node_size): New function.
823 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
824 entries.
825 Fix memory leak on . and ..
826 (grub_iso9660_read): Use read_node.
827 (grub_iso9660_close): Free node.
828
d4888031
VS
8292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
830
831 Fix tar 4G limit and handle paths containing dot.
832
833 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
834 (canonicalize): New function.
835 (grub_cpio_find_file): Use canonicalize. Store offs in
836 grub_disk_addr_t.
837 (grub_cpio_dir): Use grub_disk_addr_t.
838 (grub_cpio_open): Likewise.
839
9f12e664
VS
8402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
841
842 Fix handling of uncompressed blocks on squashfs and break 4G limit.
843
844 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
845 unused flags.
846 (grub_squash_inode): Add long_file and block_size.
847 (grub_squash_cache_inode): New struct.
848 (grub_squash_dirent): Make types into enum.
849 (SQUASH_TYPE_LONG_REGULAR): New type.
850 (grub_squash_frag_desc): Add field size.
851 (SQUASH_BLOCK_FLAGS): New enum.
852 (grub_squash_data): Use grub_squash_cache_inode.
853 (grub_fshelp_node): Make ino_chunk 64-bit.
854 (read_chunk): Minor argument change. All users updated.
855 (squash_mount): Use correct le_to_cpu.
856 (grub_squash_open): Handle LONG_REGULAR.
857 (direct_read): New function.
858 (grub_squash_read_data): Handle blocks correctly.
859
9f326fba
VS
8602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
863
f4d9b64b
VS
8642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
867
5bbd28b8
VS
8682011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
869
870 Fix 2G limit on ZFS.
871
872 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
873 types.
874 (uberblock_verify): Likewise.
875 (dmu_read): Likewise.
876 (grub_zfs_read): Likewise. Remove invalid cast.
877
68c72069
VS
8782011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
881 (grub_jfs_blkno): Fix incorrect shift.
882 (grub_jfs_read_file): Use more appropriate types.
883
6e536dc8
VS
8842011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Support triple indirect on minix2 and minix3.
887
888 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
889 Declare triple_indir_zone.
890 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
891 indirect.
892
e0864e7a
VS
8932011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
894
895 Minix FS fixes.
896
897 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
898 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
899 Rename ctime to mtime. All users updated.
900 (grub_minix_get_file_block): Fix types and double indirect computations.
901
89481cab
VS
9022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
905 if no label is found.
906 (grub_fat_iterate_dir): Fix file size type.
907 (grub_fat_iterate_dir): Likewise.
908
f646e143
VS
9092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
912 save some space.
913 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
914 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
915
534d769e
VS
9162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
919
e084ba18
VS
9202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * util/import_gcry.py: Accept space between # and include.
923
3471ecdf
VS
9242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
927
124df5f6
VS
9282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
929
930 Fine grainely disable warnings on lexer. Remove Wno-error on it.
931
932 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
933 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
934 yylex_strncpy.
935 * grub-core/script/yylex.l: Add fine-grained #pragma.
936
4defb8d5
VS
9372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
940 New inline function.
941 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
942 Likewise.
943 (memset) [GRUB_UTIL]: Likewise.
944 (memcmp) [GRUB_UTIL]: Likewise.
945
4e94ae65
VS
9462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
949 inline function rather than a define.
950
18c575e5
VS
9512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * util/grub-setup.c: Add missing include.
954
f8bc22a8
VS
9552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * util/ieee1275/grub-ofpathname.c: Add missing include.
958
3ce69fc9
VS
9592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
962 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
963 Likewise.
964
d1e293bb
VS
9652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
968 grub_memcmp usage.
969
7a5c54a4
VS
9702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * util/grub-install.in: Add datarootdir as per automake manual
973 suggestion.
974 * util/grub-mknetdir.in: Likewise.
975
9762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
977
978 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
979 suggestion.
980 * util/grub.d/10_kfreebsd.in: Likewise.
981 * util/grub.d/10_linux.in: Likewise.
982 * util/grub.d/10_netbsd.in: Likewise.
983 * util/grub.d/10_windows.in: Likewise.
984 * util/grub.d/20_linux_xen.in: Likewise.
985
766f7d08
VS
9862011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
987
988 Remove redundant grub_kernel_image_size.
989
990 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
991 _edata and _start.
992 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
993 the small code. It moves it only by few bytes but simplifies the code.
994 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
995 _start.
996 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
997 (grub_kernel_image_size): Removed.
998 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
999 (grub_kernel_image_size): Removed.
1000 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
1001 compiled with Apple toolchain.
1002 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
1003 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
1004 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
1005 (grub_total_module_size): Likewise.
1006 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
1007 Removed.
1008 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
1009 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
1010 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1011 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
1012 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
1013 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
1014 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
1015 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
1016 Removed.
1017 (grub_total_module_size): Removed.
1018 * util/grub-mkimage.c (image_target_desc): Remove image_size.
1019 (image_targets): Likewise.
1020 Set .compressed_size to no field on sparc.
1021 (generate_image): Remove kernel_image_size handling.
1022
fcf1d672
SJ
10232011-10-19 Szymon Janc <szymon@janc.net.pl>
1024
1025 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
1026 NULL pointer dereference.
1027
de9c615e
VS
10282011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
1031 done with a dedicated section.
1032
1033 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
1034 Ensure the correct position of boot_path.
1035 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
1036 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
1037 other fields.
1038 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
1039 * include/grub/boot.h: Removed. All references removed.
1040 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
1041 Removed.
1042 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
1043
e55599dc
VS
10442011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
1047 name.
1048
36dd20ad
VS
10492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
1052
f8f72eb8
VS
10532011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1056 Don't add the bogus brackets.
1057
a374751b
VS
10582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 ExFAT support.
1061
1062 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
1063 * grub-core/Makefile.core.def (exfat): New module.
1064 * grub-core/fs/exfat.c: New file.
1065 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
1066 (GRUB_FAT_ATTR_*): Make into an enum.
1067 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
1068 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
1069 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
1070 (GRUB_FAT_MAXFILE): Removed.
1071 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
1072 (grub_current_fat_bpb_t): New type.
1073 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
1074 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
1075 (grub_fat_dir_node_t): New type.
1076 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
1077 (fat_log2) [MODE_EXFAT]: Removed.
1078 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
1079 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
1080 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
1081 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
1082 (grub_fat_label) [MODE_EXFAT]: New function.
1083 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
1084 reserved_first_sector to 0.
1085
544c2487
VS
10862011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 Move grub_reboot out of the kernel.
1089
1090 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
1091 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
1092 * grub-core/lib/efi/reboot.c: ... here.
1093 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
1094 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
1095 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
1096 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
1097 * grub-core/lib/i386/reboot_trampoline.S: ... here.
1098 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
1099 * grub-core/lib/ieee1275/reboot.c: ... here.
1100 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
1101 * grub-core/lib/mips/arc/reboot.c: ... here.
1102 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
1103 * grub-core/lib/mips/loongson/reboot.c: ...here.
1104 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
1105 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
1106 * include/grub/emu/misc.h (grub_reboot): New function declaration.
1107 * include/grub/i386/reboot.h: New file.
1108 * include/grub/mips/loongson/ec.h: Fix includes.
1109 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
1110 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
1111 * grub-core/lib/i386/reboot.c: New file.
1112
a97501d2
VS
11132011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 Make grub_prefix into module to fix the arbitrary limit and save
1116 some space.
1117
1118 * grub-core/kern/emu/main.c (grub_prefix): Removed.
1119 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
1120 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
1121 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
1122 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
1123 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
1124 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
1125 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
1126 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1127 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
1128 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
1129 * include/grub/ia64/efi/kernel.h: Removed.
1130 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
1131 (grub_prefix): Removed.
1132 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
1133 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
1134 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
1135 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
1136 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
1137 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
1138 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
1139 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
1140 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
1141 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
1142 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1143 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1144 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1145 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1146 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
1147 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
1148 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
1149 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1150 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
1151 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
1152 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
1153 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
1154 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
1155 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
1156 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
1157 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
1158 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
1159 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
1160 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
1161 from module.
1162 * util/grub-mkimage.c (image_target_desc): Removed prefix and
1163 prefix_end.
1164 (image_targets): Likewise.
1165 (generate_image): Put prefix as a module.
1166
39705fad
VS
11672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 Replace grub_module_iterate with FOR_MODULES.
1170
1171 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
1172 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
1173 (grub_efi_modules_addr): ...this.
1174 * grub-core/kern/efi/init.c (grub_modbase): New variable.
1175 (grub_efi_init): Set grub_modbase.
1176 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
1177 (grub_modbase): New variable.
1178 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
1179 (grub_modbase): New variable.
1180 (grub_machine_init): Set grub_modbase.
1181 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
1182 (grub_modbase): New variable.
1183 (grub_machine_init): Set grub_modbase.
1184 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
1185 (grub_modbase): New variable.
1186 (grub_machine_init): Set grub_modbase.
1187 * grub-core/kern/main.c (grub_module_iterate): Remove.
1188 (grub_modules_get_end): Use grub_modbase.
1189 (grub_load_modules): Use FOR_MODULES.
1190 (grub_load_config): Likewise.
1191 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
1192 (grub_modbase): New variable.
1193 (grub_machine_init): Set grub_modbase.
1194 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
1195 (grub_modbase): New variable.
1196 (grub_machine_init): Set grub_modbase.
1197 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
1198 Removed.
1199 (grub_modbase): New variable.
1200 (grub_machine_init): Set grub_modbase.
1201 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
1202 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
1203 (grub_module_iterate): Likewise.
1204 (grub_modbase): New variable declaration.
1205 (FOR_MODULES): New macro.
1206
2afb7f6c
VS
12072011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * configure.ac: Check for __ctzdi2 and __ctzsi2.
1210 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
1211
366e34fa
VS
12122011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 Fix few obvious type discrepancies.
1215
1216 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
1217 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
1218 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
1219 variable.
1220 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
1221 and connected types.
1222 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
1223 offset.
1224 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
1225 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
1226 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
1227 and connected types.
1228
177b960e
VS
12292011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 Fix python 3.x incompatibilities.
1232
1233 * gentpl.py: Put brackets around print strings.
1234 * util/import_gcry.py: Open explicitly as utf-8.
1235 Use in instead of has_key.
1236
3b619ae1
VS
12372011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
1240 (GRUB_XFS_INO_AGBITS): Make into inline function.
1241 (GRUB_XFS_INO_INOINAG): Likewise.
1242 (GRUB_XFS_INO_AG): Likewise.
1243 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1244 (GRUB_XFS_EXTENT_OFFSET): Likewise.
1245 (GRUB_XFS_EXTENT_BLOCK): Likewise.
1246 (GRUB_XFS_EXTENT_SIZE): Likewise.
1247 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
1248 (GRUB_XFS_NEXT_DIRENT): Likewise.
1249 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
1250 (grub_xfs_read_file): Fix offset type.
1251
8bcebcb8
RM
12522011-10-15 Robert Millan <rmh@gnu.org>
1253
1254 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
1255
0017e5ef
RM
12562011-10-15 Robert Millan <rmh@gnu.org>
1257
1258 Fix build problem on FreeBSD and GNU/kFreeBSD.
1259
1260 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
1261
d8919552
VS
12622011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
1265
1266 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
1267 types.
1268 (grub_hfsplus_btree_recoffset): Likewise.
1269 (grub_hfsplus_btree_recptr): Likewise.
1270 (grub_hfsplus_find_block): Likewise.
1271 (grub_hfsplus_btree_search): Likewise.
1272 (grub_hfsplus_read_block): Likewise.
1273 (grub_hfsplus_read_file): Likewise.
1274 (grub_hfsplus_mount): Likewise.
1275 (grub_hfsplus_btree_iterate_node): Likewise.
1276 (grub_hfsplus_btree_search): Likewise.
1277 (grub_hfsplus_iterate_dir): Likewise.
1278 (grub_hfsplus_read): A small code simplification.
1279
c81296b6
VS
12802011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * grub-core/kern/emu/hostdisk.c
1283 (convert_system_partition_to_system_disk): Don't assume that children
1284 of mapper nodes are mapper nodes.
1285
0eb8ffb1
VS
12862011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
1289 * include/grub/misc.h (grub_isxdigit): New function.
1290 * grub-core/video/colors.c (my_isxdigit): Removed. All users
1291 switched to grub_isxdigit.
1292 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
1293 number starting with a letter.
1294
a98f4a08
RM
12952011-10-09 Robert Millan <rmh@gnu.org>
1296
1297 LVM support for FreeBSD and GNU/kFreeBSD.
1298
1299 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
1300 GNU/kFreeBSD.
1301 (LVM_DEV_MAPPER_STRING): Move from here ...
1302 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
1303 * util/getroot.c: Include `<grub/util/lvm.h>'.
1304 (grub_util_get_dev_abstraction): Enable
1305 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
1306 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
1307 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
1308 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
1309 support it.
1310 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
1311 GNU/kFreeBSD.
1312 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
1313 when LVM abstraction is required for ${GRUB_DEVICE}.
1314
050e8e90
SJ
13152011-10-06 Szymon Janc <szymon@janc.net.pl>
1316
1317 Add support for LZO compression in GRUB:
1318 - import of minilzo library,
1319 - LZO decompression for btrfs,
1320 - lzop files decompression.
1321
1322 * grub-core/io/lzopio.c: New file.
1323 * grub-core/lib/adler32.c: Likewise.
1324 * grub-core/lib/minilzo/lzoconf.h: Likewise.
1325 * grub-core/lib/minilzo/lzodefs.h: Likewise.
1326 * grub-core/lib/minilzo/minilzo.c: Likewise.
1327 * grub-core/lib/minilzo/minilzo.h: Likewise.
1328 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
1329 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
1330 grub-core/lib/minilzo/minilzo.c to common.
1331 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
1332 cflags in cppflags.
1333 * grub-core/Makefile.core.def (btrfs): Likewise.
1334 * grub-core/Makefile.core.def (lzopio): New module.
1335 (adler32): Likewise.
1336 * grub-core/fs/btrfs.c: Include minilzo.h.
1337 (GRUB_BTRFS_COMPRESSION_LZO): New define.
1338 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
1339 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
1340 (grub_btrfs_lzo_decompress): New function.
1341 (grub_btrfs_extent_read): Add support for LZO compression type.
1342 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
1343 (GRUB_USHRT_MAX): Likewise.
1344 (GRUB_UINT_MAX): Likewise.
1345 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
1346 (UINT_MAX): Likewise.
1347 (CHAR_BIT): Likewise.
1348 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
1349 grub-core/lib/posix_wrap/limits.h
1350 (UCHAR_MAX): Likewise.
1351 * include/grub/file.h (grub_file_filter_id): New compression filter
1352 GRUB_FILE_FILTER_LZOPIO.
1353 * include/grub/file.h (grub_file_filter_id): Set
1354 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
1355 * include/grub/types.h (grub_get_unaligned16): New function.
1356 (grub_get_unaligned32): Likewise.
1357 (grub_get_unaligned64): Likewise.
1358 * util/import_gcry.py (cryptolist): Add adler32.
1359
0eb8ffb1
VS
13602011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
1363 in perspective decreases the complexity of build system and fixes
1364 compilation right now.
1365
ce79cc99 13662011-10-01 Ales Nesrsta <starous@volny.cz>
1367
1368 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
1369 (fixed problem related to using UHCI with coreboot).
1370
8667a314
BC
13712011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1372
1373 * gentpl.py: Use Autogen macros so that the output template file
1374 (Makefile.tpl) size is reduced.
1375
fc5efcc0
MK
13762011-09-29 Mads Kiilerich <mads@kiilerich.com>
1377
1378 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
1379 extra_dist.
1380
d1ab689d
ML
13812011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1382
1383 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
1384 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
1385
c05de032
ML
13862011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1387
1388 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
1389 _fullpath.
1390
cca7ccd8
ML
13912011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1392
1393 Remove extra declaration of sleep for mingw32.
1394
1395 * util/misc.c (sleep) [__MINGW32__]: Removed.
1396 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
1397
e0b0dc83
GS
13982011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1399
1400 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
1401 type and packname.
1402 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
1403 Resurrected.
1404 (NETBSD_BTINFO_BOOTWEDGE): New definition.
1405 (grub_netbsd_btinfo_bootwedge): New struct.
1406 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1407 New function.
1408 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
1409
91a1a164
TH
14102011-09-28 Thomas Haller <thomas.haller@fen-net.de>
1411
1412 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
1413 loader.
1414
2ded951e
AB
14152011-09-28 Andreas Born <futur.andy@googlemail.com>
1416
1417 Fix incorrect identifiers in bash-completion.
1418
1419 * util/bash-completion.d/grub-completion.bash.in
1420 (_grub_mkpasswd-pbkdf2): Rename to ...
1421 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
1422 (_grub_script-check): Rename to ...
1423 (_grub_script_check): ... this. All users updated.
1424
69915030
VS
14252011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1428 Return 0 if disk isn't biosdisk.
1429
20fd15f9
GS
14302011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1431
1432 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
1433 on NetBSD.
1434 * Makefile.util.def (grub-fstest): Likewise.
1435
1a7d7db9
GS
14362011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1437
1438 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
1439 Get sector size from disk label.
1440
2221ab6c
CW
14412011-09-05 Colin Watson <cjwatson@ubuntu.com>
1442
1443 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
1444 */README* as well as README*.
1445 Reported by: Axel Beckert.
1446
ca51c4a0
VS
14472011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
1450 case of less than 256 MiB of RAM.
1451
ab80f326
VS
14522011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/commands/wildcard.c (make_regex): Handle @.
1455
4155e697
VS
14562011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * util/grub-install.in: Move cryptodisk logic to appropriate place.
1459
ab178c08
SJ
14602011-08-21 Szymon Janc <szymon@janc.net.pl>
1461
1462 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
1463 AC_LANG_CONFTEST macros.
1464
7dc3c686
SJ
14652011-08-20 Szymon Janc <szymon@janc.net.pl>
1466
1467 Add grub-fstest option to uncompress data for commands.
1468
1469 * util/grub-fstest.c (uncompress): New var.
1470 (options): New option -u.
1471
fe8d4a7b
SJ
14722011-08-20 Szymon Janc <szymon@janc.net.pl>
1473
1474 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1475 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
1476
a5219af1
SJ
14772011-08-20 Szymon Janc <szymon@janc.net.pl>
1478
1479 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
1480 file type was not recognized correctly (not gzip or corrupted).
1481
f87abff5
VS
14822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
1485 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
1486
d94497ea
VS
14872011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
1490 loongson.
1491 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1492 video_radeon_fuloong2e.
1493 * grub-core/video/radeon_fuloong2e.c: New file.
1494 * include/grub/video.h (grub_video_id_t): Add new ID
1495 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
1496
0d1fd011
VS
14972011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
1500 define.
1501 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
1502 that PRID matches the detected subplatform and reset the subplatform
1503 if it doesn't.
1504
84beb0ee
VS
15052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
1508
1227c133
VS
15092011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Fix PCI iterating on functions >= 4.
1512
1513 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
1514 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
1515 Removed.
1516 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
1517 (grub_pci_read): Fix bitmask.
1518 (grub_pci_read_word): Likewise.
1519 (grub_pci_read_byte): Likewise.
1520 (grub_pci_write): Likewise.
1521 (grub_pci_write_word): Likewise.
1522 (grub_pci_write_byte): Likewise.
1523
9594c689
VS
15242011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
1527 can still be specified in TARGET_CFLAGS)
1528
14a2562c
VS
15292011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
1532
1533 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
1534 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
1535 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
1536 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
1537 (FULOONG): Rename to ...
1538 (FULOONG2F): ... this. All users updated.
1539 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
1540 (machtype_fuloong2f_str): ... this.
1541 (machtype_fuloong2e_str): New string.
1542 Check for machtype_fuloong2e_str.
1543 * grub-core/loader/mips/linux.c (loongson_machtypes)
1544 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
1545 * grub-core/term/serial.c (loongson_defserial)
1546 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
1547 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
1548 loongson_defserial.
1549 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
1550 Rename to ...
1551 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
1552 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
1553 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
1554 to IMAGE_FULOONG2F_FLASH. All users updated.
1555 (image_targets): Rename images.
1556 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
1557
b526cbb6
SJ
15582011-08-19 Szymon Janc <szymon@janc.net.pl>
1559
1560 Make enable of disk cache statistics code configurable.
1561
1562 * configure.ac: --enable-cache-stats added.
1563 * config.h.in (DISK_CACHE_STATS): New define.
1564 * grub-core/Makefile.core.def (cacheinfo): New command.
1565 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
1566 * grub-core/commands/cacheinfo.c: New file.
1567 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
1568 moved to cacheinfo.c.
1569 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
1570 debug code.
1571 * include/grub/disk.h: Likewise.
1572
fb739ccd
SJ
15732011-08-19 Szymon Janc <szymon@janc.net.pl>
1574
1575 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
1576 * grub-core/Makefile.am: Likewise.
1577
2bba8cfd
VS
15782011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
1581 non-zero pull.
1582
43526629
VS
15832011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
1586 All users updated.
1587 (grub_jfs_lookup_symlink): Use correct starting inode.
1588
5c144cc8
VS
15892011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * util/grub-setup.c (main): Add missing gcry initialisation.
1592
b1257f65
VS
15932011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 Don't accept text modes on EFI when booting Linux.
1596
1597 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
1598 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
1599
828bc390
ML
16002011-08-15 Mario Limonciello <mario_limonciello@dell.com>
16012011-08-15 Colin Watson <cjwatson@ubuntu.com>
1602
1603 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
1604 use of "/path/.." as in grub-install for EFI as well as handling
1605 symlinks correctly.
1606 Fixes Debian bug #637768.
1607
5f60ccac
CW
16082011-08-15 Colin Watson <cjwatson@ubuntu.com>
1609
1610 * util/grub-probe.c: Remove duplicate #include.
1611
6dc212f9
RM
16122011-08-10 Robert Millan <rmh@gnu.org>
1613
1614 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
1615
1616 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
1617 function.
1618 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
1619 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
1620
66816d85
RM
16212011-08-03 Robert Millan <rmh@gnu.org>
1622
1623 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
1624 la_array as packed.
1625 Reported by: Zachary Bedell
1626
20168fca
CW
16272011-07-26 Colin Watson <cjwatson@ubuntu.com>
1628
1629 * configure.ac: The Loongson port requires grub-mkfont due to its
1630 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
1631 be built.
1632
303b6246
CW
16332011-07-26 Colin Watson <cjwatson@ubuntu.com>
1634
1635 * util/grub-install.in: Don't source grub-mkconfig_lib until after
1636 processing arguments (otherwise help2man fails when GRUB has not yet
1637 been installed).
1638
6795300e
VS
16392011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1640
41aa28ea
VS
1641 New script grub-mkstandalone.
1642
1643 * Makefile.util.def (grub-mkstandalone): New script.
1644 * docs/man/grub-mkstandalone.h2m: New file.
1645 * util/grub-mkstandalone.in: Likewise.
1646
16472011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 Support ATA disks with 4K sectors.
6795300e
VS
1650
1651 * include/grub/ata.h (grub_ata): New member log_sector_size.
1652 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
1653 (grub_ata_identify): Read sector size.
1654 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
1655
92227597
VS
16562011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * util/grub-install.in: Don't use uhci outside of x86.
1659
c77069f5
VS
16602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * util/grub-mkrescue.in: Add missing quotes.
1663
16642011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
1665
1666 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
1667 dereference.
1668
583168a2
VS
16692011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
1672
6be1c01f
VS
16732011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * include/grub/video.h: add missing EXPORT_FUND on
1676 grub_video_edid_checksum and grub_video_edid_preferred_mode.
1677
a1167439
VS
16782011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * include/grub/mips/kernel.h: Fix define conflict.
1681
bf66054f
VS
16822011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
1685 all four ways.
1686
8fc4fa45
CW
16872011-07-21 Colin Watson <cjwatson@ubuntu.com>
1688
1689 Preferred resolution detection for VBE.
1690
1691 * grub-core/video/video.c (grub_video_edid_checksum): New function.
1692 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
1693 the Flat Panel extension, in line with the X.org VESA driver.
1694 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
1695 New function.
1696 (grub_vbe_bios_get_ddc_capabilities): Likewise.
1697 (grub_vbe_bios_read_edid): Likewise.
1698 (grub_vbe_get_preferred_mode): Likewise.
1699 (grub_video_vbe_setup): When the mode is "auto", try to get the
1700 preferred mode from VBE, and use the largest mode that is no larger
1701 than the preferred mode (some BIOSes expose a preferred mode that is
1702 not in their mode list!). If this fails, fall back to 640x480 as a
1703 safe conservative choice.
1704 (grub_video_vbe_get_edid): New function.
1705 (grub_video_vbe_adapter): Add get_edid.
1706 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
1707 (struct grub_video_adapter): Add get_edid.
1708 (grub_video_edid_checksum): Add prototype.
1709 (grub_video_edid_preferred_mode): Likewise.
1710 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
1711 structure.
1712
1713 * grub-core/commands/videoinfo.c (print_edid): New function.
1714 (grub_cmd_videoinfo): Print EDID if available.
1715
1716 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
1717 is more appropriate on a wider range of platforms than 640x480.
1718 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
1719 documentation.
1720
ca5572a9
VS
17212011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
1724
e4bcf625
VS
17252011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * po/POTFILES.in: Regenerate.
1728
c4edd548
VS
17292011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
1732 incorrect memory usage.
1733
16a2bab0
VS
17342011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * util/grub-install.in: Source grub-mkconfig_lib.
1737
2e418de6
VS
17382011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 Remove getroot.c from core on emu platform.
1741
1742 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
1743 kern/emu/raid.c.
1744 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
1745 useless.
1746 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
1747 * util/getroot.c (get_win32_path): ... here.
1748 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
1749 * util/getroot.c (fini_libzfs): ... here.
1750 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
1751 * util/getroot.c (grub_get_libzfs_handle): ... here.
1752 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
1753 Moved from here...
1754 * util/getroot.c (grub_find_zpool_from_dir): ... here.
1755 * grub-core/kern/emu/misc.c
1756 (grub_make_system_path_relative_to_its_root): Moved from here...
1757 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
1758 * grub-core/kern/emu/getroot.c: Moved from here ...
1759 * util/getroot.c: ... here. All users updated.
1760 * grub-core/kern/emu/raid.c: Moved from here ...
1761 * util/raid.c: ... here. All users updated.
1762
def9832a
VS
17632011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * po/POTFILES.in: Regenerate.
1766
cd8fe79a
VS
17672011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 Fix compilation on GNU/Linux.
1770
1771 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
1772 Disable geli.
1773 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
1774 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
1775 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
1776
a251b719
VS
17772011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17782011-07-07 Michael Gorven <michael@gorven.za.net>
17792011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
1780
1781 LUKS and GELI support.
1782
1783 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
1784 grub-core/disk/luks.c, grub-core/disk/geli.c,
1785 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
1786 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
1787 grub-core/lib/arg.c.
1788 (libgrubmods.a): Remove gcrypts cflags and cppflags.
1789 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
1790 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
1791 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
1792 (grub-bin2h): Add libgcry.a.
1793 (grub-mkimage): Likewise.
1794 (grub-mkrelpath): Likewise.
1795 (grub-script-check): Likewise.
1796 (grub-editenv): Likewise.
1797 (grub-mkpasswd-pbkdf2): Likewise.
1798 (grub-pe2elf): Likewise.
1799 (grub-fstest): Likewise.
1800 (grub-mkfont): Likewise.
1801 (grub-mkdevicemap): Likewise.
1802 (grub-probe): Likewise.
1803 (grub-ofpath): Likewise.
1804 (grub-mklayout): Likewise.
1805 (example_unit_test): Likewise.
1806 (grub-menulst2cfg): Likewise.
1807 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
1808 * grub-core/Makefile.core.def (cryptodisk): New module.
1809 (luks): Likewise.
1810 (geli): Likewise.
1811 * grub-core/disk/AFSplitter.c: New file.
1812 * grub-core/disk/cryptodisk.c: Likewise.
1813 * grub-core/disk/geli.c: Likewise.
1814 * grub-core/disk/luks.c: Likewise.
1815 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
1816 grub_util_is_lvm.
1817 (grub_util_get_dm_abstraction): New function.
1818 (grub_util_follow_gpart_up): Likewise.
1819 (grub_util_get_geom_abstraction): Likewise.
1820 (grub_util_get_dev_abstraction): Use new functions.
1821 (grub_util_pull_device): Pull GELI and LUKS.
1822 (grub_util_get_grub_dev): Handle LUKS and GELI.
1823 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
1824 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
1825 (follow_geom_up): Removed.
1826 (grub_util_fd_seek): New function.
1827 (open_device): Use grub_util_fd_seek.
1828 (nread): Rename to ..
1829 (grub_util_fd_read): ... this. All users updated.
1830 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
1831 (grub_crypto_cbc_decrypt): Likewise.
1832 (grub_crypto_hmac_write): Likewise.
1833 (grub_crypto_hmac_buffer): Likewise.
1834 (grub_password_get): Extend to util.
1835 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
1836 New member modname.
1837 (gcry_md_spec) [GRUB_UTIL]: Likewise.
1838 * include/grub/cryptodisk.h: New file.
1839 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
1840 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
1841 LUKS and GELI.
1842 (grub_util_follow_gpart_up): New proto.
1843 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
1844 (grub_util_fd_read): Likewise.
1845 (grub_cryptodisk_cheat_mount): Likewise.
1846 (grub_util_cryptodisk_print_uuid): Likewise.
1847 (grub_util_get_fd_sectors): Likewise.
1848 * util/grub-fstest.c (mount_crypt): New var.
1849 (fstest): Mount crypto if requested.
1850 (options): New option -C.
1851 (argp_parser): Parse -C.
1852 (main): Init and fini gcry.
1853 * util/grub-install.in: Support cryptodisk install.
1854 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
1855 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
1856 cryptodisk.
1857 (prepare_grub_to_access_device): Likewise.
1858 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
1859 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
1860 (probe_cryptodisk_uuid): New function.
1861 (probe_abstraction): Likewise.
1862 (probe): Use new functions.
1863 * util/import_gcry.py: Create Makefile.utilgcry.def.
1864 Add modname member.
1865
9bfdcbbc
VS
18662011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 Lazy device scanning.
1869
1870 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
1871 (grub-setup): Remove util/raid.c.
1872 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
1873 * grub-core/disk/lvm.c (scan_depth): New variable.
1874 (grub_lvm_iterate): Rescan if necessary.
1875 (find_lv): New function based on grub_lvm_open.
1876 (grub_lvm_open): Use find_lv. Rescan on error.
1877 (is_node_readable): New function.
1878 (is_lv_readable): Likewise.
1879 (grub_lvm_scan_device): Skip already found disks.
1880 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
1881 Stop if searched device is found and readable.
1882 * grub-core/disk/raid.c (inscnt): New variable.
1883 (scan_depth): Likewise.
1884 (scan_devices): New function based on grub_raid_register. Abort if
1885 looked for device is found.
1886 (grub_raid_iterate): Rescan if needed.
1887 (find_array): NEw function based on -grub_raid_open.
1888 (grub_raid_open): Use find_array and rescan.
1889 (insert_array): Set became_readable_at.
1890 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
1891 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
1892 New function.
1893 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
1894 (grub_util_pull_device): New function.
1895 (grub_util_get_grub_dev): Call grub_util_pull_device.
1896 * util/raid.c: Moved to ..
1897 * grub-core/kern/emu/raid.c: ... here.
1898 (grub_util_raid_getmembers): New parameter "bootable".
1899 All users updated. Support 1.x.
1900 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
1901 All users updated.
1902 * include/grub/disk.h (grub_disk_pull_t): New enum.
1903 (grub_disk_dev): Change iterate prototype.
1904 All users updated.
1905 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
1906 New proto.
1907 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
1908 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
1909 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
1910 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
1911 All users updated.
1912 * include/grub/util/raid.h: Removed.
1913
1c358e59
VS
19142011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * po/POTFILES.in: Regenerate.
1917
abee94ed
VS
19182011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 Unify sparc init with other ieee1275.
1921
1922 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
1923 instead of kern/sparc64/ieee1275/init.c.
1924 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
1925 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
1926 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
1927 grub/machine/kernel.h.
1928 (grub_ieee1275_original_stack) [__sparc__]: New variable.
1929 (grub_claim_heap) [__sparc__]: Use sparc version.
1930 (grub_machine_init): Moved args parsing to
1931 (grub_parse_cmdline): ...this.
1932 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
1933 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
1934 New definition.
1935 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
1936
1937 Move BOOTP to separate file.
1938
1939 * grub-core/Makefile.core.def (net): Add net/bootp.c.
1940 * grub-core/net/net.c: Move all BOOTP functions to
1941 * grub-core/net/bootp.c: ... here.
1942
1943 Use frame interface on PXE.
1944
1945 * grub-core/Makefile.core.def (pxecmd): Removed.
1946 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
1947 * grub-core/commands/i386/pc/pxecmd.c: Removed.
1948 * grub-core/i386/pc/pxe.c: Moved from here ...
1949 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
1950 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
1951 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
1952
1953 EFI network support.
1954
1955 * grub-core/Makefile.core.def (efinet): New module.
1956 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
1957 here...
1958 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
1959 All users updated.
1960 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
1961 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
1962 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
1963 * grub-core/net/drivers/efi/efinet.c: New file.
1964 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
1965 (grub_efi_net_config): New extern var.
1966
1967 Various cleanups and bugfixes.
1968
1969 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
1970 error.
1971 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
1972 disk declared as partition.
1973 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
1974 leak on failure.
1975 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
1976 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
1977 (grub_debug_zalloc): Likewise.
1978 (grub_debug_realloc): Likewise.
1979 (grub_debug_memalign): Likewise.
1980 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
1981 Check that target is IPv4.
1982 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
1983 local-mac-address as fallback.
1984 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
1985 memory leak.
1986 * grub-core/net/ip.c (ipchksum): Rename to ...
1987 (grub_net_ip_chksum): ... this. All users updated.
1988 (grub_net_recv_ip_packets): Special handling for DHCP.
1989 * util/grub-mkimage.c (generate_image): Zero-out aout header.
1990
1991 Unify prefix handling
1992
1993 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
1994 (grub_machine_get_bootlocation): ... this.
1995 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
1996 (grub_machine_get_bootlocation): ... this.
1997 (grub_prefix): New variable.
1998 (prefix): Removed.
1999 (root_dev): New variable.
2000 (dir): Likewise.
2001 (main): Use new variables.
2002 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
2003 Revamped into ...
2004 (grub_machine_get_bootlocation): ... this.
2005 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
2006 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
2007 (grub_machine_get_bootlocation): ... this.
2008 (grub_machine_set_prefix): Removed.
2009 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
2010 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
2011 Revamped into ...
2012 (grub_machine_get_bootlocation): ... this.
2013 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
2014 (grub_set_prefix_and_root): ... this. All users updated.
2015 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
2016 Revamped into ...
2017 (grub_machine_get_bootlocation): ... this.
2018 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
2019 (grub_machine_get_bootlocation): New proto.
2020 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
2021
2022 Less intrusive and more reliable seek on network implementation.
2023
2024 * grub-core/kern/file.c (grub_file_net_seek): Removed.
2025 (grub_file_seek): Don't call grub_file_net_seek.
2026 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
2027 (grub_net_fs_read_real): .. this.
2028 (grub_net_seek_real): Use net->offset.
2029 (grub_net_fs_read): Seek if necessary.
2030
2031 Unify IEEE1275 netwotk config with the other platforms.
2032
2033 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
2034 New variable.
2035 (grub_machine_get_bootlocation): Support network.
2036 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2037 Support type and device parsing.
2038 (grub_ieee1275_get_device_type): New function.
2039 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
2040 into ...
2041 (grub_ieee1275_net_config_real): ... this.
2042 (grub_ofnet_probecards): Removed.
2043 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
2044 * include/grub/ieee1275/ofnet.h: Removed.
2045 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
2046 extern var.
2047 (grub_ieee1275_get_device_type): New function.
2048
2049 Unify network device closing across platforms and make more robust.
2050
2051 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
2052 grub_grubnet_fini.
2053 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
2054 already.
2055 * grub-core/net/net.c (grub_net_network_level_interface_register):
2056 Update num_ifaces.
2057 (grub_net_card_unregister): Close all interfaces.
2058 (receive_packets): Don't poll if no iterfaces are registered.
2059 Open if necessary.
2060 (grub_net_fini_hw): New function.
2061 (grub_net_restore_hw): Likewise.
2062 (fini_hnd): New variable.
2063 (GRUB_MOD_INIT): Register preboot hook.
2064 (GRUB_MOD_FINI): Run and unregister preboot hook.
2065
2066 Poll network cards when idle.
2067
2068 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
2069 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
2070 * grub-core/net/net.c (receive_packets): Save last poll time.
2071 (grub_net_poll_cards_idle_real): New function.
2072 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
2073 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
2074 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
2075
2076 Rename ofnet interfaces.
2077
2078 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
2079 (grub_ofnet_findcards): Use ofnet_%s names.
2080
2081 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
2082
2083 Cleanup socket opening.
2084
2085 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
2086 (grub_net_fs_close): Likewise.
2087 (grub_net_fs_read_real): Use eof member.
2088 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
2089 (+grub_net_udp_close): New inline function.
2090
2091 * include/grub/net/tftp.h: Moved to the top of ...
2092 * grub-core/net/tftp.c: ... here.
2093 * include/grub/net/ip.h: Moved mostly to the top of ...
2094 * grub-core/net/ip.c: ... here.
2095 * include/grub/net/ethernet.h: Moved mostly to the top of ...
2096 * grub-core/net/ethernet.c: ... here.
2097
2098 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
2099
2100 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
2101 FS name.
2102
2103 * include/grub/net/ip.h (ipv4_ini): Removed.
2104 (ipv4_fini): Likewise.
2105
2106 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
2107 (grub_net_send_ip_packets): Likewise.
2108
cf1337aa
VS
21092011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
2112 grub_read_cmos prototype.
2113
93c06ff9
VS
21142011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 VGA text support in qemu-mips
2117
2118 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
2119 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
2120 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
2121 text.
2122 * grub-core/kern/i386/qemu/init.c: Renamed to ...
2123 * grub-core/kern/vga_init.c: ... this.
2124 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
2125 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
2126 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
2127 Adjust.
2128 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
2129 GRUB_MACHINE_PCI_IO_BASE.
2130
748ccabe
VS
21312011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 MIPS qemu flash support.
2134
2135 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
2136 magic.
2137 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
2138 (grub_machine_init): Probe memory if its size isn't known.
2139 * util/grub-mkimage.c (image_targets): Add flash targets.
2140 (generate_image): Handle flash targets.
2141
d7345994
VS
21422011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 MIPS qemu at_keyboard support.
2145
2146 * gentpl.py (videoinkernel): Add qemu-mips.
2147 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
2148 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
2149 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
2150 modules.
2151 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
2152 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
2153 * grub-core/term/serial.c (grub_serial_register)
2154 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2155
a07a81b3
VS
21562011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 CMOS support on sparc.
2159
2160 * gentpl.py (cmos): Add powerpc and sparc.
2161 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
2162 powerpc and sparc.
2163 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
2164 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
2165 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
2166 grub_set_datetime_cmos.
2167 * grub-core/lib/ieee1275/cmos.c: New file.
2168 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
2169 (find_rtc): Set no_ieee1275_rtc on error.
2170 (grub_get_datetime): Call grub_get_datetime_cmos on error.
2171 (grub_set_datetime): Call grub_set_datetime_cmos on error.
2172 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
2173 fail. Move value to argument. All users updated
2174 (grub_cmos_write): Likewise.
2175 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
2176 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
2177 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
2178 grub_get_datetime_cmos and grub_set_datetime_cmos.
2179
77546584
GS
21802011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2181
2182 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
2183 sourcing grub-mkconfig_lib.
2184 * util/update-grub_lib.in: Likewise.
2185 * util/grub.d/00_header.in: Likewise.
2186 * util/grub.d/10_hurd.in: Likewise.
2187 * util/grub.d/10_kfreebsd.in: Likewise.
2188 * util/grub.d/10_linux.in: Likewise.
2189 * util/grub.d/10_netbsd.in: Likewise.
2190 * util/grub.d/10_windows.in: Likewise.
2191 * util/grub.d/20_linux_xen.in: Likewise.
2192 * util/grub.d/30_os-prober.in: Likewise.
2193
54894791
CW
21942011-06-28 Colin Watson <cjwatson@ubuntu.com>
2195
2196 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2197 default_bg_color rather than black.
2198 (grub_gfxterm_fullscreen): Likewise.
2199 (grub_gfxterm_background_color_cmd): Save new background color in
2200 default_bg_color.
2201
8d5d8444
VS
22022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
2205
5afeb5bd
VS
22062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
2209 mismerge.
2210
ba7df45e
VS
22112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 Chainloading on coreboot support.
2214
2215 * grub-core/Makefile.core.def (chain): Add coreboot.
2216 * grub-core/loader/i386/coreboot/chainloader.c: New file.
2217
d0b526b2
VS
22182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
2221 if it happens.
2222
5ff1d945
VS
22232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 Implement time command.
2226
2227 * grub-core/Makefile.core.def (time): New module.
2228 * grub-core/commands/time.c: New file.
2229 * grub-core/script/parser.y: Remove "time" keyword.
2230 * grub-core/script/yylex.l: Likewise.
2231
5ebaad7e
VS
22322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2235
bdea3798
VS
22362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
2239 when handling leftovers.
2240
b28c5655
VS
22412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
2244 so that help2man doesn't fail.
2245
b6f945dc
VS
22462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
2249 type in pointers on sparc64.
2250 (get_card_packet): Likewise.
2251
f9b75e8a
CW
22522011-06-27 Colin Watson <cjwatson@ubuntu.com>
2253
2254 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
2255 with `*'.
2256 (grub_cmd_videoinfo): Fetch current video mode.
2257
1e3d9b86
VS
22582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
2261 because of underlying system restrictions.
2262
efff4b1c
VS
22632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
2266 necessary.
2267
9fc9ce37
VS
22682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Coreboot video support.
2271
2272 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
2273 (vbe): Likewise.
2274 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
2275 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
2276 here ...
2277 * grub-core/kern/i386/int.S: ... here.
2278 * grub-core/video/i386/pc/vbe.c: Updated includes.
2279 * grub-core/video/i386/pc/vga.c: Likewise.
2280 * include/grub/i386/coreboot/memory.h
2281 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
2282 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
2283 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
2284 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
2285 Disable interrupts.
2286 * include/grub/i386/pc/vga.h: Removed. All users updated.
2287
41bec7fe
VS
22882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
2291 definitions for dprintf.
2292 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
2293
ca80309d
VS
22942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
2297 prototype.
2298 (get_card_packet): Likewise.
2299
9e322ce8
YB
23002011-06-26 Yves Blusseau <blusseau@zetam.org>
2301
2302 Display the path of the file when file is not found
2303
2304 * grub-core/fs/fat.c: Display the filename when file is not found.
2305 * grub-core/fs/fshelp.c: Likewise.
2306 * grub-core/fs/hfs.c: Likewise.
2307 * grub-core/fs/jfs.c: Likewise.
2308 * grub-core/fs/minix.c: Likewise.
2309 * grub-core/fs/ufs.c: Likewise.
2310 * grub-core/fs/btrfs.c: Likewise.
2311 * grub-core/commands/i386/pc/play.c: Likewise.
2312
cbf597af
SJ
23132011-06-26 Szymon Janc <szymon@janc.net.pl>
2314
2315 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
2316 pointer checks before calling grub_free().
2317 * grub-core/commands/wildcard.c (match_devices): Likewise.
2318 * grub-core/commands/wildcard.c (match_files): Likewise.
2319 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
2320 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
2321 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
2322 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
2323 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
2324 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
2325 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
2326 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2327 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2328
6295b32f
P
23292011-06-25 Patrick <p55@mailinator.com>
2330
2331 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2332
77c0840b
VS
23332011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
2336 (grub_pxe_send): Likewise.
2337 (GRUB_MOD_INIT): Fix types.
2338
40ea05de
SJ
23392011-06-24 Szymon Janc <szymon@janc.net.pl>
2340
2341 * grub-core/io/xzio.c: Fix code style issues
2342
90162423
MRA
23432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
23442011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
2345
2346 Network infrastructure.
2347 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
2348
2349 * include/grub/net/arp.h: New file.
90162423
MRA
2350 * include/grub/net/device.h: Likewise.
2351 * include/grub/net/ethernet.h: Likewise.
2352 * include/grub/net/ip.h: Likewise.
2353 * include/grub/net/netbuff.h: Likewise.
2354 * include/grub/net/tftp.h: Likewise.
2355 * include/grub/net/udp.h: Likewise.
2356 * include/grub/ieee1275/ofnet.h: Likewise.
2357 * include/grub/emu/export.h: Likewise.
2358 * include/grub/net.h: Likewise.
2359 * grub-core/net/arp.c: Likewise.
2360 * grub-core/net/ethernet.c: Likewise.
2361 * grub-core/net/ip.c: Likewise.
2362 * grub-core/net/udp.c: Likewise.
2363 * grub-core/net/tftp.c: Likewise.
2364 * grub-core/net/netbuff.c: Likewise.
2365 * grub-core/net/net.c: Likewise.
2366 * grub-core/net/drivers/emu/emunet.c: Likewise.
2367 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2368 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
2369 export.h.
2370 * grub-core/Makefile.core.def (net): New module.
2371 (tftp): Likewise.
2372 (ofnet): Likewise.
2373 (emunet): Likewise.
2374 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
2375 network protocols.
2376 * grub-core/kern/device.c (grub_net_open) : New variable.
2377 (grub_device_open): Handle network device.
2378 (grub_device_close): Likewise.
2379 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
2380 (grub_grubnet_fini): Likewise.
2381 (grub_file_seek): Seek in network device.
2382 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
2383 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
2384 network root.
2385 (grub_machine_fini): Call grub_grubnet_fini.
2386 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
2387 network.
2388 (grub_ieee1275_get_aliasdevname): New function.
2389 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2390 Add unofficial Solaris network info.
2391 (grub_multiboot_make_mbi): Likewise.
2392 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
2393 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
2394 * include/grub/device.h (grub_fs): Removed.
2395 * include/grub/err.h (grub_err_t): Add network-related values.
2396 * include/grub/i386/pc/pxe.h: Removed bootp parts.
2397 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
2398 (grub_ieee1275_get_aliasdevname): New proto.
2399 * include/grub/net.h: Rewritten.
423a1849 2400
031f22a0
VS
24012011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
2404 names.
2405
4388ca72
VS
24062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
2409 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
2410 it truncates the output.
2411 Reported by: Ximin Luo.
2412
98e2f506
VS
24132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
2416
2a5e94d8
VS
24172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2420 partmap before abstraction.
2421
535c1910
AK
24222011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
2423
2424 * util/grub-mkconfig_lib.in: Add missing quotes.
2425
bc09e1a2
VS
24262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
2429 old method if mountinfo would return /dev/root and /dev/root doesn't
2430 exist.
2431
290766fb
VS
24322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 ZFS zlib support
2435
2436 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
2437 (decomp_table): Add zlib entries.
2438 (zio_read): USe 8 bits for compression function rather than 3.
2439 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
2440
24412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/disk/ahci.c: Add missing license statements.
2444 * grub-core/fs/romfs.c: Likewise.
2445 * grub-core/lib/ia64/setjmp.S: Likewise.
2446 * grub-core/loader/i386/pc/freedos.c: Likewise.
2447 * grub-core/loader/ia64/efi/linux.c: Likewise.
2448 * grub-core/video/colors.c: Likewise.
2449 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
2450
5ab3f48a
VS
24512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 AHCI support.
2454
2455 * grub-core/Makefile.core.def (ata_pthru): Removed.
2456 (ahci): New module.
2457 (pata): Likewise.
2458 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
2459 on unload.
2460 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
2461 readwrite.
2462 (grub_hdparm_do_check_powermode_cmd): Likewise.
2463 (grub_hdparm_do_smart_cmd): Likewise.
2464 (grub_hdparm_set_val_cmd): Likewise.
2465 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
2466 * grub-core/disk/ahci.c: New file.
2467 * grub-core/disk/ata.c: Factor out the low-level part into ...
2468 * grub-core/disk/pata.c: ... here.
2469 * grub-core/disk/ata_pthru.c: Contents moved to ...
2470 * grub-core/disk/pata.c: ... here.
2471 * grub-core/disk/scsi.c (grub_scsi_names): New array.
2472 (grub_scsi_iterate): Use grub_scsi_names.
2473 (grub_scsi_open): Likewise.
2474 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
2475 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
2476 (grub_ata_regs_t): New struct.
2477 (grub_disk_ata_pass_through_parms): Likewise.
2478 (grub_ata_device): Renamed to ...
2479 (grub_ata): ... this.
2480 (grub_ata_dev): New struct.
2481 Removed all low-level inline functions.
2482 * include/grub/scsi.h: Add PATA and AHCI subsystems.
2483 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
2484 iterate hooks and open. All users updated.
2485 * util/grub-install.in: Handle AHCI disk module.
2486
c31dc5f5
SJ
24872011-06-23 Szymon Janc <szymon@janc.net.pl>
2488
2489 Add support for DRI and RSTn markers in JPEG files.
2490
2491 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
2492 (JPEG_MARKER_RST0): Likewise.
2493 (JPEG_MARKER_RST1): Likewise.
2494 (JPEG_MARKER_RST2): Likewise.
2495 (JPEG_MARKER_RST3): Likewise.
2496 (JPEG_MARKER_RST4): Likewise.
2497 (JPEG_MARKER_RST5): Likewise.
2498 (JPEG_MARKER_RST6): Likewise.
2499 (JPEG_MARKER_RST7): Likewise.
2500 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
2501 (grub_jpeg_decode_dri): New function.
2502 (grub_jpeg_decode_sos): Move image data related part into
2503 grub_jpeg_decode_data function.
2504 (grub_jpeg_decode_data): New function.
2505 (grub_jpeg_reset): New function.
2506 (grub_jpeg_decode_jpeg): Handle new markers.
2507
fe12fd5b
VS
25082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * util/ieee1275/ofpath.c (check_sas): Close fd.
2511 (main): Free of_path.
2512 Reported by: David Volgyes <dvolgyes>.
2513
03147f46
VS
25142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
2517 Reported by: David Volgyes <dvolgyes>.
2518
cad3237f
VS
25192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
2522 file after stat.
2523 Reported by: David Volgyes <dvolgyes>.
2524
13548d26
VS
25252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
2528
2529 Reported by: David Volgyes <dvolgyes>.
2530
e061a1b5
VS
25312011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
2534 Prevent memory leak.
2535
1abe47dc
VS
25362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
2539 (main): Close file.
e061a1b5 2540 Reported by: David Volgyes <dvolgyes>.
1abe47dc 2541
fbc62666
VS
25422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
2545 to continue if allocation is failed.
2546
2547 Reported by: David Volgyes <dvolgyes>.
2548
e98c83e9
DV
25492011-06-23 David Volgyes <dvolgyes>
2550
2551 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
2552 dereference.
2553
a199a8cd
VS
25542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 Fix spurious warning.
2557
2558 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
2559 (acorn_partition_map_find): Use .bin member.
2560
e2d1dba0
VS
25612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
2564 /dev/root as a valid device.
2565
8a5d6919
JM
25662011-06-23 Jim Meyering <meyering@redhat.com>
2567
e2d1dba0
VS
2568 Avoid NULL deref in grub_device_open.
2569
8a5d6919
JM
2570 * grub-core/kern/device.c (grub_device_open): Don't dereference
2571 a NULL pointer upon failed grub_env_get.
2572
f7db6f4a
VS
25732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 Support non-512B sectors and agglomerate reads.
2576
2577 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
2578 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
2579 (disk_io_guid): Removed.
2580 (make_devices): Locate solely by BlockIO.
2581 (grub_efidisk_open): Fill log_sector_size and total_sectors.
2582 (grub_efidisk_read): Use read_blocks.
2583 (grub_efidisk_write): Use write_blocks.
2584 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
2585 log_sector_size.
2586 (get_safe_sectors): Handle non-512B sectors.
2587 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
2588 sectors.
2589 (grub_biosdisk_write): Handle non-512B sectors.
2590 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
2591 (grub_scsi_read): Remove special non-512B block handling (now handled
2592 one level up).
2593 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
2594 and do sanity checks.
2595 (grub_disk_adjust_range): Handle non-512B sectors.
2596 (transform_sector): New function.
2597 (grub_disk_read_small): Likewise.
2598 (grub_disk_read): Rewritten.
2599 (grub_disk_write): Handle non-512B sectors.
2600 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
2601 log_sector_size.
2602 (open_device): Use log_sector_size.
2603 (grub_util_biosdisk_read): Likewise.
2604 (grub_util_biosdisk_write): Likewise.
2605 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
2606 non-512B sectors.
2607 (pc_partition_map_embed): Likewise.
2608 * include/grub/disk.h (grub_disk): New field log_sector_size.
2609 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
2610 (GRUB_DISK_CACHE_BITS): Increased to 6.
2611 * util/grub-fstest.c (fstest): New command testload.
2612 (argp_parser): Likewise.
2613
881ac815
RM
26142011-06-16 Robert Millan <rmh@gnu.org>
2615
2616 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
2617 `ata' driver on kernel of FreeBSD 9.
2618
2619 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
2620 (get_ataraid_disk_name): New functions.
2621 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
2622 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
2623 get_ataraid_disk_name() and get_ada_disk_name().
2624
1e9aef7d
CW
26252011-06-13 Colin Watson <cjwatson@ubuntu.com>
2626
2627 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
2628 input format.
2629
351c7c8a
CW
26302011-05-29 Colin Watson <cjwatson@ubuntu.com>
2631
2632 * docs/grub.texi (Obtaining and Building GRUB): Substitute
2633 `ftp.gnu.org' for `alpha.gnu.org'.
2634
6b4e6430
CW
26352011-05-27 Colin Watson <cjwatson@ubuntu.com>
2636
2637 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
2638 partitions under /dev/disk/by-id/.
2639
c64db050
CW
26402011-05-27 Colin Watson <cjwatson@ubuntu.com>
2641
2642 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
2643 after ten consecutive open failures. Scanning all the way up to
2644 10000 is excessive and can cause serious performance problems in
2645 some configurations.
2646 Fixes Ubuntu bug #787461.
2647
245f4aba
VS
26482011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
2651 opening new one.
2652
f767c929
VS
26532011-05-21 Colin Watson <cjwatson@ubuntu.com>
26542011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 Don't stat devices unless we have to.
2657
2658 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
2659 dir == /dev/mapper.
2660 (grub_guess_root_device): Use already known os_dev if possible.
2661 * grub-core/kern/emu/hostdisk.c
2662 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
2663 if device is known to be a dm one.
2664
f35fa3a6
CW
26652011-05-20 Colin Watson <cjwatson@ubuntu.com>
2666
2667 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
2668 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
2669 Reported by: Pawel Tecza.
2670
9a79fcf2
VS
26712011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
2674 (lsefisystab): Likewise.
2675 (lssal): Likewise.
2676 (lsefimmap): Likewise.
2677 (hdparm): Enable on qemu-mips.
2678 (setjmp): Add ia64 nodist.
2679 (serial): Simplify tags.
2680
63e3eea9
CW
26812011-05-18 Colin Watson <cjwatson@ubuntu.com>
2682
2683 * Makefile.util.def (grub-ofpathname): Install manual page.
2684
09728256
CW
26852011-05-18 Colin Watson <cjwatson@ubuntu.com>
2686
2687 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
2688
8b63a142
CW
26892011-05-18 Colin Watson <cjwatson@ubuntu.com>
2690
2691 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
2692
e775d8ed
VS
26932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
2696 into dprintf.
2697
bf947d36
VS
26982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 Use full 64-bit division.
2701
2702 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
2703 (grub_divmod64): ... this.
2704 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
2705 version.
2706
b84f26c5
CW
27072011-05-18 Colin Watson <cjwatson@ubuntu.com>
2708
2709 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
2710 `source'.
2711
5626056f
CW
27122011-05-18 Colin Watson <cjwatson@ubuntu.com>
2713
2714 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
2715 to avoid accidents when debugging with 'sh -x'.
2716 * grub-core/gensyminfo.sh.in: Likewise.
2717 * tests/example_scripted_test.in: Likewise.
2718 * tests/grub_cmd_regexp.in: Likewise.
2719 * tests/grub_script_blanklines.in: Likewise.
2720 * tests/grub_script_dollar.in: Likewise.
2721 * tests/grub_script_expansion.in: Likewise.
2722 * tests/grub_script_final_semicolon.in: Likewise.
2723 * tests/partmap_test.in: Likewise.
2724 * tests/util/grub-shell-tester.in: Likewise.
2725 * tests/util/grub-shell.in: Likewise.
2726
e2965f4a
CW
27272011-05-18 Colin Watson <cjwatson@ubuntu.com>
2728
2729 Move gfxmenu color handling to video, so that gfxterm can use it
2730 too.
2731
2732 * grub-core/gfxmenu/named_colors.c: Move to ...
2733 * grub-core/video/colors.c: ... here. Rename
2734 grub_gui_get_named_color to grub_video_get_named_color.
2735 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
2736 * grub-core/video/colors.c (my_isxdigit): ... here.
2737 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
2738 Move to ...
2739 * grub-core/video/colors.c (parse_hex_color_component): ... here.
2740 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
2741 to ...
2742 * grub-core/video/colors.c (grub_video_parse_color): ... here.
2743
2744 * include/grub/gui.h (grub_gui_color_t): Move to ...
2745 * include/grub/video.h (grub_video_rgba_color_t): ... here.
2746 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
2747 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
2748 * include/grub/gui.h (grub_gui_map_color): Move to ...
2749 * include/grub/video.h (grub_video_map_rgba_color): ... here.
2750 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
2751 to ...
2752 * include/grub/video.h (grub_video_get_named_color): ... here.
2753 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
2754 * include/grub/video.h (grub_video_parse_color): ... here.
2755
2756 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
2757 video/colors.c.
2758 (gfxmenu): Remove gfxmenu/named_colors.c.
2759 (video) [videomodules]: Add video/colors.c.
2760
2761 Add a background_color command.
2762
2763 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
2764 function.
2765 (GRUB_MOD_INIT): Register background_color command.
2766 (GRUB_MOD_FINI): Unregister background_color command.
2767 (redraw_screen_rect): Allow blend/replace of text layer to be
2768 controlled independently from whether there is a background bitmap.
2769 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
2770 changing bitmap.
2771
1e4b4390
VS
27722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2773
26618ff0
VS
2774 Patch BPB in ntldr and chainloader --bpb.
2775
1e4b4390
VS
2776 * grub-core/fs/fat.c: Include grub/fat.h.
2777 (grub_fat_bpb): Moved to ...
2778 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
2779 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
2780 grub/ntfs.h.
2781 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
2782 Moved from here...
2783 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
2784 here.
2785 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
2786 New function.
2787 (grub_chainloader_cmd): Patch BPB if --bpb is given.
2788 (GRUB_MOD_INIT): Show --bpb.
2789 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
2790 * grub-core/normal/main.c (features): New variable.
2791 (GRUB_MOD_INIT): Set feature_* variables.
2792 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
2793 proto.
2794 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
2795
cf02731e
VS
27962011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
2799 for cleanness.
2800
e3a1073f
VS
28012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 FreeDOS direct loading support.
2804
2805 * docs/grub.texi (Supported OS): Add FreeDOS.
2806 * grub-core/Makefile.core.def (freedos): New module.
2807 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
2808 variable.
2809 (grub_relocator16_boot): Handle %ebx.
2810 * grub-core/lib/i386/relocator16.S: Likewise.
2811 * grub-core/loader/i386/pc/freedos.c: New file.
2812
05caa461
VS
28132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 Long Linux command line support.
2816
2817 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2818 (maximal_cmdline_size): New variable.
2819 (allocate_pages): Use maximal_cmdline_size.
2820 (grub_cmd_linux): Set and use maximal_cmdline_size.
2821 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2822 (allocate_pages): Use maximal_cmdline_size.
2823 (grub_cmd_linux): Set and use maximal_cmdline_size.
2824 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
2825 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
2826 and cmdline_size.
2827
a2491e23
VS
28282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28292011-05-18 Colin Watson <cjwatson@ubuntu.com>
2830
2831 Improve devmapper support
2832
2833 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
2834 (grub_util_is_lvm): New function.
2835 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
2836 than lvm if not dmraid.
2837 Handle mapped md nodes.
2838 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
2839 (grub_util_device_is_mapped): ... this. Make always available. All users
2840 updated.
2841 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
2842 (convert_system_partition_to_system_disk): Handle lvm, mpath and
2843 dmraid nodes.
2844 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
2845
6ad6223e
VS
28462011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
2849
2850 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
2851 * grub-core/modinfo.sh.in: New file.
2852 * grub-core/Makefile.core.def (modinfo.sh): New script.
2853 * util/grub-mknetdir.in: Use modinfo.sh.
2854 * util/grub-mkrescue.in: Likewise.
2855
543a8f6e
VS
28562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2859 Fix potential usage of Elf32 instead of Elf64 when compiling on
2860 32-bit architecture. Add endianness macros while on it.
2861
4959e111
VS
28622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 Use mipsel- rather than mips- in directories involving mipsel ports to
2865 allow both endiannesses coexist.
2866
2867 * configure.ac: proparate target_cpu=mipsel rather than resetting to
2868 mips. All conditions adjusted.
2869 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
2870 variable.
2871 * util/grub-install.in: Adjust conditions to take renaming into account.
2872 * util/grub-mkimage.c (image_targets): Likewise. New target
2873 mips-qemu_mips-elf for bigendian mips.
2874
35341bbc
VS
28752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Avoid unnecessary copying on MIPS.
2878
2879 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
2880 early if src == dest.
2881 * util/grub-mkimage.c (generate_image): Arange for src == dest if
2882 compression is none.
2883
b772baed
VS
28842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 Reduce memory footprint on SGI by putting modules before the kernel
2887 as opposed to after.
2888
2889 * grub-core/Makefile.core.def (kernel): Increase linking address.
2890 (none_decompress): Likewise.
2891 (xz_decompress): Likewise.
2892 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
2893 address.
2894 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
2895 layout change.
2896 (grub_arch_modules_addr): New function.
2897 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
2898 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
2899 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
2900 here.
2901 * grub-core/kern/mips/startup.S (total_size): Rename to ...
2902 (grub_total_modules_size): ... this. Make global.
2903 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
2904 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
2905 New definition.
2906 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
2907 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
2908 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
2909 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
2910 * util/grub-mkimage.c (image_target_desc): New flag
2911 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
2912 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
2913 (generate_image): Handle images with modules before kernel.
2914
566a1917
VS
29152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 Prevent potential loss of memory map by overwrite on qemu-mips.
2918
2919 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2920 Save ram size in $s4.
2921 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
2922 All users changed to grub_arch_memsize.
2923 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
2924 Loongson.
2925 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
2926 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
2927 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
2928 external variable.
2929
5d420cd9
CW
29302011-05-17 Colin Watson <cjwatson@ubuntu.com>
2931
2932 * .bzrignore: Remove grub-dumpbios.
2933
d064b830
CW
29342011-05-17 Colin Watson <cjwatson@ubuntu.com>
2935
2936 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
2937 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
2938 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
2939 existing options which append).
2940 * docs/grub.texi (Simple configuration): Document new options.
2941 Reported by: Ian Jackson. Fixes Debian bug #617538.
2942
3ca2b466
CW
29432011-05-17 Colin Watson <cjwatson@ubuntu.com>
2944
2945 * util/grub-fstest.c (cmd_cat): New function.
2946 (fstest): Handle CMD_CAT.
2947 (options): Add cat.
2948 (argp_parser): Handle cat.
2949
24c9143a
CW
29502011-05-17 Colin Watson <cjwatson@ubuntu.com>
2951
2952 * Makefile.util.def (grub-bin2h): Don't install.
2953 * docs/man/grub-bin2h.h2m: Remove.
2954
90f7ac19
VS
29552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
2958 place.
2959
8d4a5178
VS
29602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 Reenable qemu-mips port.
2963
2964 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
2965 Fix small arc bug while on it.
2966 * gentpl.py: Handle qemu_mips.
2967 * grub-core/Makefile.am: Likewise.
2968 * grub-core/Makefile.core.def: Likewise.
2969 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
2970 inappropriate includes.
2971 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
2972 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
2973 * grub-core/kern/main.c (grub_modules_get_end)
2974 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
2975 * grub-core/kern/mips/qemu-mips: Moved to ..
2976 * grub-core/kern/mips/qemu_mips: ... this.
2977 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
2978 (grub_machine_init): Call terminfo_init and serial_init.
2979 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
2980 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2981 New variable.
2982 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
2983 parameter passing.
2984 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
2985 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
2986 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2987 * include/grub/mips/qemu_mips/cmos.h: New file.
2988 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
2989 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
2990 Removed.
2991 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
2992 Use correct mips-style address.
2993 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
2994 (GRUB_TICKS_PER_SECOND): Removed.
2995 (grub_get_rtc): Likewise.
2996 (grub_cpu_idle): Likewise.
2997 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
2998 New definition.
2999 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
3000 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
3001 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
3002 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
3003 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3004 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3005 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
3006 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
3007
400b9371
VS
30082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 SGI ARCS port.
3011
3012 * Makefile.util.def (libgrubmods.a): Add dvh.c.
3013 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
3014 platforms.
3015 * configure.ac: New target mips-arc.
3016 * gentpl.py: Likewise.
3017 * grub-core/Makefile.am: Likewise.
3018 * grub-core/Makefile.core.def: Likewise.
3019 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
3020 (none_decompress): Likewise.
3021 (lsdev): New module.
3022 (datetime): Use lib/arc/datetime.c on ARC.
3023 (part_dvh): New module.
3024 * grub-core/commands/arc/lsdev.c: New file.
3025 * grub-core/disk/arc/arcdisk.c: Likewise.
3026 * grub-core/kern/mips/arc/init.c: Likewise.
3027 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
3028 aligned addresses.
3029 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
3030 support.
3031 (grub_arch_dl_relocate_symbols): Likewise.
3032 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
3033 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
3034 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
3035 platforms.
3036 * grub-core/lib/arc/datetime.c: New file.
3037 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
3038 pci.h on non-loongson.
3039 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
3040 (grub_linux_boot): Set unused registers to 0.
3041 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
3042 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
3043 * grub-core/mmap/mips/uppermem.c: ...here.
3044 * grub-core/partmap/dvh.c: New file.
3045 * grub-core/term/arc/console.c: Likewise.
3046 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
3047 (grub_terminfo_set_current): Add terminal "arc".
3048 (grub_terminfo_readkey): Support ARC sequences.
3049 * include/grub/arc/arc.h: New file.
3050 * include/grub/arc/console.h: Likewise.
3051 * include/grub/disk.h (grub_disk_dev_id): Add
3052 GRUB_DISK_DEVICE_ARCDISK_ID.
3053 * include/grub/mips/arc/kernel.h: New file.
3054 * include/grub/mips/arc/memory.h: Likewise.
3055 * include/grub/mips/arc/time.h: Likewise.
3056 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
3057 * include/grub/mips/kernel.h (grub_halt): ... here.
3058 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
3059 here...
3060 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
3061 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
3062 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
3063 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
3064 proto.
3065 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
3066 from here ...
3067 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
3068 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
3069 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
3070 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
3071 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
3072 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
3073 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
3074 (grub_phys_addr_t): Moved from here ...
3075 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
3076 (grub_vtop): Moved from here ...
3077 * include/grub/mips/memory.h (grub_vtop): ... here.
3078 (grub_map_memory): Moved from here ...
3079 * include/grub/mips/memory.h (grub_map_memory): ... here.
3080 (grub_unmap_memory): Moved from here ...
3081 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
3082 (grub_machine_mmap_iterate): Moved from here ...
3083 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
3084 (grub_mmap_get_lower): Moved from here ...
3085 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
3086 (grub_mmap_get_upper): Moved from here ...
3087 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
3088 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3089 here ...
3090 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3091 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
3092 here ...
3093 * include/grub/mips/time.h (grub_get_rtc): ... here.
3094 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3095 here ...
3096 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3097 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
3098 here ...
3099 * include/grub/mips/time.h (grub_cpu_idle): ... here.
3100 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
3101 definition.
3102 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
3103 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
3104 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
3105 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
3106 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3107 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3108 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
3109 (GRUB_MACHINE_LINK_ADDR): Likewise.
3110 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
3111 to 6.
3112 * util/grub-install.in: Run dvhtool on ARC.
3113 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 3114 (generate_image): Handle ECOFF output for mips-arc.
400b9371 3115
c8ecc840
VS
31162011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
3119 blocks.
3120
153a4b55
VS
31212011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
3124 after enabling port.
3125
ff44d107
VS
31262011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Skip incorrect USB devices.
3129
3130 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
3131 configcnt == 0.
3132 * include/grub/usb.h (grub_usb_err_t): New enum value
3133 GRUB_USB_ERR_BADDEVICE.
3134
638dbe4f
VS
31352011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 Fuloong video init support.
3138
3139 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
3140 well.
3141 (grub_vga_read_arx): New function.
3142 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
3143 definition.
3144 (framebuffer): New members io, mmioptr and mmiobase.
3145 (read_sis_cmd): New function.
3146 (write_sis_cmd): Likewise.
3147 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
3148 rather than 640x400.
3149 * grub-core/video/sis315_init.c: New file.
3150
c3fc520c
VS
31512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
3154 non-loongson.
3155 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
3156 to grub_dl_register_symbol.
3157
67b1e5c9
VS
31582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 Fix compilation errors.
3161
3162 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
3163 potentially unused.
3164 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
3165 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
3166 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
3167 to loongson machines.
3168
b756f75f
VS
31692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 Several FS mtime support.
3172
3173 * grub-core/fs/affs.c (grub_affs_time): New struct.
3174 (grub_affs_file): New field mtime.
3175 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
3176 type. Removed 'size'. New field 'di'. All users updated.
3177 (grub_affs_mount): Simplify checsum checking.
3178 (grub_affs_iterate_dir): New helper grub_affs_create_node.
3179 (grub_affs_dir): Handle mtime.
3180 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
3181 (grub_cpio_dir): Likewise.
3182 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
3183 (grub_hfs_filerec): New field mtime.
3184 (grub_hfs_dir): Handle mtime.
3185 (grub_hfs_mtime): New function.
3186 (grub_hfs_fs): Register grub_hfs_mtime.
3187 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
3188 (grub_iso9660_dir): New field mtime.
3189 (grub_fshelp_node): New field dirent.
3190 (iso9660_to_unixtime): New function.
3191 (iso9660_to_unixtime2): Likewise.
3192 (grub_iso9660_read_symlink): Use node->dirent.
3193 (grub_iso9660_iterate_dir): Likewise.
3194 (grub_iso9660_dir): Set mtime.
3195 (grub_iso9660_mtime): New function.
3196 (grub_iso9660_fs): Register grub_iso9660_mtime.
3197 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
3198 (grub_jfs_inode): New fields atime, ctime and mtime.
3199 (grub_jfs_dir): Set mtime.
3200 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3201 * grub-core/fs/ntfs.c (list_file): Set mtime.
3202 (grub_ntfs_dir): Likewise.
3203 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
3204 (grub_reiserfs_iterate_dir): Set mtime.
3205 (grub_reiserfs_dir): Likewise.
3206 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
3207 (grub_fshelp_node): Likewise.
3208 (grub_sfs_iterate_dir): Set mtime.
3209 (grub_sfs_dir): Likewise.
3210 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
3211 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
3212 (grub_xfs_inode): New fields atime, mtime, ctime.
3213 (grub_xfs_dir): Set mtime.
3214 * include/grub/datetime.h (grub_datetime2unixtime): New function.
3215 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
3216 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
3217
3218 Support UDF symlinks.
3219
3220 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
3221 (grub_ufs_read_symlink): New function. All users updated.
3222
3223 Check amiga partmap checksum.
3224
3225 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
3226 (grub_amiga_partition): Likewise.
3227 (amiga_partition_map_checksum): New function.
3228 (amiga_partition_map_iterate): Check checksum.
3229
5470225d
VS
32302011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 ROMFS support.
3233
3234 * Makefile.util.def (libgrubmods.a): Add romfs.
3235 * grub-core/Makefile.core.def (romfs): New module.
3236 * grub-core/fs/romfs.c: New file.
3237
d4680a35
VS
32382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 Squashfs v4 support.
3241
3242 * Makefile.util.def (libgrubmods.a): Add squash4.
3243 * grub-core/Makefile.core.def (squash4): New module.
3244 * grub-core/fs/squash4.c: New file.
3245 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
3246 disk_input_start, disk_input.
3247 (get_byte): Handle disk_input.
3248 (grub_zlib_disk_read): New function.
3249 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
3250
bcb18e74
FZ
32512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
32522011-05-15 Feiran Zheng <famcool@gmail.com>
3253
3254 * Makefile.util.def (libgrubmods.a): Add minix3.
3255 * grub-core/Makefile.core.def (minix3): New module.
3256 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
3257 (GRUB_MINIX_BSIZE): Removed.
3258 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
3259 (grub_minix_ino_t): New type.
3260 (grub_minix_le_to_cpu_ino): New macro.
3261 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
3262 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
3263 (grub_minix_data): New field block_size.
3264 (grub_minix_read_file): Handle 64-bit correctly.
3265 * grub-core/fs/minix3.c: New file.
3266
32297d5f
TG
32672011-05-15 Tristan Gingold <gingold@free.fr>
32682011-05-15 Robert Millan <rmh.grub@aybabtu.com>
32692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 IA64 support.
3272
3273 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
3274 * configure.ac: Add ia64-efi target.
3275 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
3276 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
3277 * gentpl.py: Add ia64_efi platform.
3278 Rename x86_efi to efi and Add ia64-efi. All users updated.
3279 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
3280 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
3281 Remove kern/generic/rtc_get_time_ms.c on EFI.
3282 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
3283 kern/ia64/dl_helper.c on ia64-efi.
3284 Add kern/emu/cache.c on emu.
3285 (linux): Use on loader/ia64/efi/linux.c on ia64.
3286 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
3287 whether symbol is a function.
3288 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
3289 (grub_symbol): New field 'isfunc'.
3290 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
3291 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
3292 (grub_dl_load_segments): Place all sections into the same region.
3293 [__ia64__]: Create trampolines and got.
3294 [GRUB_MACHINE_EMU]: Call mprotect.
3295 (grub_dl_resolve_symbols): Resolve symbol type as well.
3296 [__ia64__]: Create function descriptors.
3297 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
3298 (grub_rtc_get_time_ms): ... this. Expressions simplified.
3299 (grub_get_rtc): New function.
3300 * grub-core/kern/emu/cache.c [__ia64__]: New file.
3301 * grub-core/kern/emu/cache.S: Renamed to ...
3302 * grub-core/kern/emu/cache_s.S: ... this.
3303 [__ia64__]: Add a nop.
3304 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
3305 [__ia64__]: New function.
3306 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
3307 * grub-core/kern/ia64/dl.c: New file.
3308 * grub-core/kern/ia64/dl_helper.c: Likewise.
3309 * grub-core/kern/ia64/efi/init.c: New file.
3310 * grub-core/kern/ia64/efi/startup.S: Likewise.
3311 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
3312 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
3313 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
3314 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
3315 * grub-core/loader/ia64/efi/linux.c: New file.
3316 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
3317 (GRUB_MOD_DEP): Likewise.
3318 (grub_dl) [__ia64__]: New fields got and tramp.
3319 (grub_dl): New field 'base'.
3320 (grub_dl_register_symbol): New argument isfunc. All users updated.
3321 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
3322 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
3323 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
3324 (grub_ia64_dl_get_tramp_got_size): New proto.
3325 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
3326 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
3327 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
3328 * include/grub/efi/api.h: Skip call wrappers on ia64.
3329 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
3330 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
3331 * include/grub/elf.h (ELF_ST_INFO): New definition.
3332 * include/grub/ia64/efi/kernel.h: New file.
3333 * include/grub/ia64/efi/memory.h: Likewise.
3334 * include/grub/ia64/efi/time.h: Likewise.
3335 * include/grub/ia64/kernel.h: Likewise.
3336 * include/grub/ia64/setjmp.h: Likewise (from glibc).
3337 * include/grub/ia64/time.h: New file.
3338 * include/grub/ia64/types.h: Likewise.
3339 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
3340 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
3341 New protos.
3342 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
3343 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3344 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
3345 * util/grub-mkimage.c (image_target_desc): New field pe_target.
3346 All users updated.
3347 (EFI64_HEADER_SIZE): New definition. All users updated.
3348 (image_targets): Add ia64-efi.
3349 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
3350 jumpers_addr. All users updated.
3351 Create function descriptors.
3352 (count_funcs): New function.
3353 (unaligned_uint32): New struct.
3354 (MASK20): New definition.
3355 (MASK19): Likewise.
3356 (MASKF21): Likewise.
3357 (add_value_to_slot_20b): New function.
3358 (add_value_to_slot_21_real): Likewise.
3359 (add_value_to_slot_21): Likewise.
3360 (ia64_kernel_trampoline): New struct.
3361 (nopm): New variable.
3362 (jump): Likewise.
3363 (make_trampoline): New function.
3364 (relocate_addresses): Handle ia64.
3365 (make_reloc_section): Likewise.
3366 (load_image): Likewise.
3367
983b414d
VS
33682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
3371 warning. Move variables before code while on it.
3372
5d063cdc
VS
33732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 Fuloong support.
3376
3377 * configure.ac: Rename yeeloong platform to loongson. All users updated.
3378 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
3379 * grub-core/boot/mips/loongson/fuloong.S: New file.
3380 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
3381 Explicitly init CS5536.
3382 [FULOONG]: Don't use serial until CS5536 is available.
3383 Set GPIO based on dumps.
3384 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
3385 [FULOONG]: Handle GPIO and memory controller differences.
3386 Parse machine type in $a2.
3387 * grub-core/boot/mips/startup_raw.S: Determine and save the
3388 architecture.
3389 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
3390 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
3391 init on architecture type.
3392 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3393 SIS315E. Don't init at_keyboard on fuloong.
3394 (grub_halt): Support Fuloong.
3395 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
3396 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
3397 (loongson_machtypes): New array.
3398 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
3399 type.
3400 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
3401 config. All users updated. Handle CS5536 serial.
3402 * grub-core/term/serial.c (grub_serial_register): Conditionalise
3403 default port on machine type. Register serial as inactive.
3404 * grub-core/video/sis315pro.c: New file.
3405 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
3406 definition.
3407 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
3408 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
3409 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
3410 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
3411 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
3412 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
3413 to ...
3414 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
3415 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
3416 definition.
3417 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
3418 (grub_arch_machine): New extern var.
3419 * include/grub/mips/loongson/serial.h
3420 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
3421 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
3422 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
3423 (GRUB_MACHINE_SERIAL_PORT0): ... this.
3424 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
3425 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
3426 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
3427 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
3428 * include/grub/term.h (grub_term_register_input_inactive): New inline
3429 function.
3430 (grub_term_register_output_inactive): Likewise.
3431 * include/grub/video.h (grub_video_driver_id): New value
3432 GRUB_VIDEO_DRIVER_SIS315PRO.
3433 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
3434 New field "names". All users updated.
3435 New field value IMAGE_FULOONG_FLASH.
3436 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
3437
6ada82d1
JU
34382011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
3439
3440 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
3441 and add some clarification.
3442
90c571a4
VS
34432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
3446 platforms if kernel is compressed.
3447
de04eecf
VS
34482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
3451 unused modules since currently referrence counter isn't reliable and
3452 there isn't much memory to recover there anyway.
3453
57688121
VS
34542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
3457 rather than resetting it to allow modules to reference themselves
3458 in init.
3459
3d2c7e35
VS
34602011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
3463 counter on dependencies since grub_dl_unref already handles this.
3464
b25db218
VS
34652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
3468 on error if not already done.
3469
25a45338
VS
34702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 Fix few potential memory misusage.
3473
3474 * grub-core/font/font.c (load_font_index): Don't free char_index to
3475 avoid double free.
b25db218
VS
3476 (grub_font_load): Zero-fill font at alloc for safety.
3477 Close file on error.
3478 (free_font): Free bmp_idx.
25a45338 3479
0cac83df
VS
34802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * docs/grub.texi (Installation): Fix several outdated claims.
3483
2217a143
VS
34842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 Handle module_license on windows.
3487
3488 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
3489 sections shifted.
3490 (insert_string): Make argument const char * instead of char *.
3491 (write_section_data): Handle long section names.
3492 Handle module_license.
3493
d4de6b01
VS
34942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
3497 handle class-free menuentries.
3498 (grub_normal_add_menu_entry): Add a check to be sure.
3499
4c2a3b43
VS
35002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
3503 PgUp and PgDown.
3504
85c6210f
VS
35052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * configure.ac: Bump version to 1.99.
3508
36084912
VS
35092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 Give ATA device a bit more time on first try in order to allow disks
3512 to spin up.
3513
3514 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
3515 if dev->present is 1. Reset dev->present on failure.
3516 (grub_ata_device_initialize): Set dev->present to 1.
3517 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
3518 (grub_ata_device): New member 'present'.
3519
bda0e219
VS
35202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * util/grub-mkimage.c (generate_image): Update hash.
3523
19e1c41b
VS
35242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 Flush caches on DMA memory.
3527
3528 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
3529 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
3530 (grub_dma_free): Likewise.
3531 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
3532
91bbcc0c
VS
35332011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
3536 to avoid asm treating ld and sd as macros.
3537
60ddfad3
VS
35382011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
3541 decompressor.
3542
a298aa04
VS
35432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
3546 grub_decompress_core since later would fail if grub_decompress_core
3547 is too far.
3548
9b44feca
VS
35492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
3552 R_MIPS_JALR since it's used by newer compiler.
3553
56dbe7b4
VS
35542011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
3557
52856af2
VS
35582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
3561 file_path to 0 for surety.
3562 (grub_chainloader_boot): Set exit_data to NULL.
3563 Unset the loader once done.
3564 (grub_cmd_chainloader): Fix confusing error message if file is empty.
3565
9c9bfc6d
VS
35662011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
3569 unknown key into a dprintf.
3570
dd94a3df
VS
35712011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
3574 on first non-existant partition.
3575
fa68d99c
VS
35762011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
3579 openning fails.
3580 Reported by: Mark Korenberg.
3581
157effb7
VS
35822011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
3585 overflow.
3586
ea75312f
VS
35872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * util/grub-mkimage.c (main): Explicitely flush and sync the output
3590 before closing to ensure that it will be readable by grub-setup.
3591
072b5d31
VS
35922011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
3595 (devpath_1): Use MAKE_PIWG_PATH.
3596 (devpath_2): Likewise.
3597 (devpath_3): Likewise.
3598 (devpath_4): Likewise.
3599 (devpath_5): Likewise.
3600 (devpath_6): Likewise.
3601
3602 The appleldr.mod was checked that to be binary identical to previous
3603 version.
3604
7fae0051
Z
36052011-05-05 Zach <mikezackles>
3606
3607 Support 2010 Macbooks.
3608
3609 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
3610 (devs): Add devpath_6.
3611
7c515bee
VS
36122011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
3615 /dev/random. /dev/urandom is good enough for our purposes (salting).
3616
ed660bd8
VS
36172011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
3620
ee5614b7
VS
36212011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
3624 hexadecimal.
3625
664889a6
VS
36262011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
3629 and not 0 on failure.
3630
bd405bbc
CW
36312011-05-03 Colin Watson <cjwatson@ubuntu.com>
3632
3633 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
3634 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
3635 disk; otherwise grub_fs_probe will not fall back to the next
3636 filesystem.
3637 (grub_pxefs_open): Likewise, for consistency.
3638 Reported and tested by: Ezekiel Grave.
3639
4ebff753
CW
36402011-05-03 Colin Watson <cjwatson@ubuntu.com>
3641
3642 * tests/partmap_test.in: Don't hardcode path to parted.
3643 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
3644
8f942553
CW
36452011-05-01 Colin Watson <cjwatson@ubuntu.com>
3646
3647 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
3648 of `ls' to find out which devices are available.
3649
3c62402d
VS
36502011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
3653 than source address for efi mmap buffer.
3654
723f63f2
VS
36552011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
3658 wrong action on non-detecting the magic.
3659
68797f92
VS
36602011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
3663 already supplied by another part of the module (fixes compilation on
3664 FreeBSD).
3665
6be8715d
VS
36662011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
3669 match the one used by mdadm.
3670
e91dba5b
CW
36712011-04-21 Colin Watson <cjwatson@ubuntu.com>
3672
3673 * po/README: Add instructions for creating po/LINGUAS.
3674
c85140b3
CW
36752011-04-21 Colin Watson <cjwatson@ubuntu.com>
3676
3677 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
3678 #551428.
3679
3680 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
3681 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
3682 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
3683 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3684 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
3685 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
3686 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
3687 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
3688 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
3689 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3690 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
3691 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
3692 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
3693 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
3694 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
3695 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
3696 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
3697 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
3698 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
3699 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
3700 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
3701 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
3702
92051871
CW
37032011-04-21 Colin Watson <cjwatson@ubuntu.com>
3704
3705 * grub-core/kern/emu/getroot.c
3706 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
3707 test that was incorrectly reintroduced in r3214.
3708 Reported by: Ian Dall. Fixes Savannah bug #33133.
3709
b13f79a4
CW
37102011-04-21 Colin Watson <cjwatson@ubuntu.com>
3711
3712 Fix stack pointer handling in 16-bit relocator.
3713
3714 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
3715 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
3716 Fixes Ubuntu bug #683904.
3717
9b710a88
VS
37182011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * configure.ac: Bump version to 1.99~rc2.
3721
d97e7b59
VS
37222011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
3725 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
3726 * grub-core/lib/x86_64/setjmp.S: Likewise.
3727 * grub-core/lib/mips/setjmp.S: Likewise.
3728 * grub-core/lib/powerpc/setjmp.S: Likewise.
3729 * grub-core/lib/sparc64/setjmp.S: Likewise.
3730
0624551c
VS
37312011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
3734 * grub-core/lib/efi/datetime.c: Likewise.
3735
e8f28d4c
VS
37362011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
3739 New function.
3740 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
3741 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
3742 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
3743
bba79a15
VS
37442011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
3747 bitmap.
3748 (grub_gfxterm_term_init): Likewise.
3749
abc474ef
VS
37502011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 Take into account the decorations the computing menu entry width.
3753
3754 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
3755 (grub_gfxmenu_create_box): Register get_border_width.
3756 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
3757 if available.
3758 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
3759 get_border_width.
3760
e74b3947
EP
37612011-04-18 Endres Puschner <code@e7p.de>
3762
3763 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
3764 Don't skip first class.
3765
34faa595
VS
37662011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
3769 chunks.
3770 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
3771
93a777e3
VS
37722011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 Complete 64-bit division support.
3775
3776 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
3777 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
3778 * include/grub/misc.h (grub_divmod64): Rename to ...
3779 (grub_divmod64_full): ... this.
3780 (grub_divmod64): New inline function.
3781
a5102d94
VS
37822011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * util/grub-mkimage.c (generate_image): Add forgotten comma.
3785
f3fb7b36
VS
37862011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
3789 performing the necessary test.
3790
9ac718b0
VS
37912011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
3794 (kfreebsd.elf): Likewise.
3795 (pc-chainloader.elf): Likewise.
3796 (ntldr.elf): Likewise.
3797
50d2cc5a
VS
37982011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 Identify RAID by its UUID rather than (guessed) name.
3801
3802 * grub-core/disk/raid.c (ascii2hex): New function.
3803 (grub_raid_open): Accept mduuid/%s specification.
3804 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
3805 (get_mdadm_uuid): ... this.
3806 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
3807
e03f7bea
VS
38082011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
3811 to negative size.
3812
e74c3112
CW
38132011-04-13 Colin Watson <cjwatson@ubuntu.com>
3814
3815 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
3816 btrfs subvolume.
3817 * util/grub.d/20_linux_xen.in: Likewise.
3818
78fa584f
CW
38192011-04-13 Colin Watson <cjwatson@ubuntu.com>
3820
3821 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
3822 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
3823
3824 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3825 Build a list of relevant visible mounts using the mnt_id and
3826 parent_mnt_id fields, and then scan that list at the end.
3827
9d5f8162
CW
38282011-04-12 Colin Watson <cjwatson@ubuntu.com>
3829
3830 * docs/grub.texi (normal): New section.
3831 (normal_exit): New section.
3832 (Embedded configuration): Add reference to normal.
3833 (GRUB only offers a rescue shell): Likewise.
3834 * docs/grub-dev.texi (Error Handling): Fix typo.
3835
09a9d66f
CW
38362011-04-12 Colin Watson <cjwatson@ubuntu.com>
3837
3838 * NEWS: Drop obsolete entry about probe-only btrfs support.
3839
0c676933
CW
38402011-04-12 Colin Watson <cjwatson@ubuntu.com>
3841
3842 * util/import_gcry.py: Fix typo.
3843
ec9f5e0d
VS
38442011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * NEWS: Add btrfs support.
3847
fe6b2cba
VS
38482011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
38492011-04-11 Colin Watson <cjwatson@ubuntu.com>
3850
3851 BtrFS support. Written by me (Vladimir) with important bugfixes and
3852 even more important testing by Colin.
3853
3854 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
3855 * grub-core/Makefile.core.def (btrfs): Add crc.c.
3856 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
3857 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
3858 mem_input_off and mem_input. All users updated to accept in-RAM input.
3859 (gzio_seek): New function.
3860 (test_zlib_header): Likewise.
3861 (grub_gzio_read): Likewise.
3862 (grub_zlib_decompress): Likewise.
3863 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
3864 Accept partial and non-virtual mounts.
3865 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
3866 avoid receiving /dev/dm-X as device.
3867 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
3868 Handle bind and partial mounts.
3869 * grub-core/lib/crc.c: New file.
3870 * include/grub/deflate.h: Likewise.
3871 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
3872 proto.
3873 * include/grub/lib/crc.h: New file.
3874
e745cf0c
VS
38752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 Implement automatic module license checking according to new GNU
3878 guidelines.
3879
3880 * grub-core/kern/dl.c (grub_dl_check_license): New function.
3881 (grub_dl_load_core): Use grub_dl_check_license.
3882 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
3883 (GRUB_MOD_LICENSE): Likewise.
3884 (GRUB_MOD_DUAL_LICENSE): Likewise.
3885 All modules updated.
3886
2a9bc016
CW
38872011-04-11 Colin Watson <cjwatson@ubuntu.com>
3888
3889 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
3890 reserved_first_sector to 1. btrfs reserves plenty of space for boot
3891 loaders.
3892 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
3893
8a3bc88e
VS
38942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
3897
af869a4a
VS
38982011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * util/grub-fstest.c (read_file): Report GRUB error if file opening
3901 failed.
3902
9ee8d94f
VS
39032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/kern/file.c (grub_file_open): Don't take into account the
3906 parenthesis in the middle of the filename.
3907
b01abe3e
VS
39082011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
3911 rather than trying to put initrd way too high.
3912 Reported by: Ryan Lortie <desrt@desrt.ca>
3913
335bda1e
VS
39142011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
3917 improperly removed string.
3918
5ca1a64d
VS
39192011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
3922 is_disk.
3923 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
3924 (open_device) Likewise.
3925 (grub_util_biosdisk_close): Likewise.
d8ce9995 3926 Reported by: Mark Korenberg.
5ca1a64d 3927
cbac5b1e
AK
39282011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
3929
3930 * util/grub-mkconfig_lib.in: Add missing quotes.
3931
088cdb65
CW
39322011-04-10 Colin Watson <cjwatson@ubuntu.com>
3933
3934 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
3935 is NULL.
3936
8b8a81fa
VS
39372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 Dynamically count the number of lines for the lower banner.
3940
3941 * grub-core/normal/menu_entry.c (per_term_screen): New member
3942 num_entries.
3943 (print_down): Use num_entries.
3944 (update_screen): Likewise.
3945 (grub_menu_entry_run): Set num_entries.
3946 * grub-core/normal/menu_text.c (menu_viewer_data): New member
3947 num_entries.
3948 (grub_print_message_indented): Move real part to ...
3949 (grub_print_message_indented_real): ... here. Additional argument
3950 dry_run.
3951 (draw_border): Additional argument num_entries.
3952 (print_message): Additional argument dry_run.
3953 (print_entries): Receive menu viewer data.
3954 (grub_menu_init_page): New argment num_entries.
3955 (menu_text_set_chosen_entry): Use num_entries.
3956 (grub_menu_try_text): Likewise.
3957 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
3958 All users updated.
3959 (grub_ucs4_count_lines): New function.
3960 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
3961 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
3962 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
3963 (grub_term_border_height): Likewise.
3964 (grub_term_num_entries): Likewise.
3965
277f955b
VS
39662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
3969 Remove now unused string.
3970
536ce85a
CW
39712011-04-09 Colin Watson <cjwatson@ubuntu.com>
3972
3973 * docs/grub-dev.texi (Finding your way around): Update for 1.99
3974 build system.
3975 (Getting started): GRUB is developed in Bazaar now, not Subversion.
3976
3977 (Comment): Fix typo.
3978 (Getting started): General copy-editing.
3979 (Typical Development Experience): Likewise.
3980 (Error Handling): Likewise.
3981 (Video API): Likewise.
3982
2cf09e32
CW
39832011-04-09 Colin Watson <cjwatson@ubuntu.com>
3984
3985 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
3986 throughout.
3987
1ec652f4
VS
39882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * util/grub-mkimage.c (main): Handle special naming of yeeloong
3991 directory.
3992
2c583728
CW
39932011-04-08 Colin Watson <cjwatson@ubuntu.com>
3994
3995 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
3996 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
3997 "development".
3998
d7a565e9
VS
39992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
4002 grub_strcpy since the lines aren't necessarily 0-terminated.
4003
7c2e4909
VS
40042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
4007 root on legacy.
4008
34c09785
VS
40092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/commands/probe.c (options): Argument to set isn't optional.
4012 (GRUB_MOD_INIT): DEVICE isn't optional.
4013
6a6f8058
VS
40142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
4017 word on new line if it's too long anyway. Fixes a hang.
4018
2e335e90
VS
40192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
4022 const.
4023 * util/grub-setup.c (main): Reuse md device name if available.
4024 * util/raid.c (grub_util_raid_getmembers): Receive device name and
4025 not GRUB name as argument.
4026 Based on patch by: Florian Wagner <fwagner>.
4027
10a7a867
VS
40282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4031 Place mbi on low memory for better compatibility.
4032
7a3d6cd9
VS
40332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
4036
18dd6b47
VS
40372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
40382011-04-08 Colin Watson <cjwatson@ubuntu.com>
4039
4040 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 4041 * conf/Makefile.common: Likewise.
18dd6b47 4042
3c0e3f14
VS
40432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4044
f7148863
VS
4045 * grub-core/normal/menu.c: Add missing include.
4046
40472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 4050
6d1fa41f
MZ
40512011-04-08 Martin Zuther <mzuther@mzuther.de>
4052
4053 * util/grub-mkconfig.in: Ignore emacsen backup.
4054
478182a8
VS
40552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
4058 on open.
4059 (grub_util_biosdisk_close): Likewise.
4060
72a89a54
VS
40612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
4064 const attribute and use grub_isdigit.
4065
b5ebecfa
A
40662011-04-06 Andrey <dev_null@ukr.net>
4067
4068 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
4069 gcc warning.
4070
7755f66e
VS
40712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
4074 useful grub_dprintf's.
4075
461121ff
VS
40762011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
4079
2a961775
VS
40802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
4083
adf594cc
VS
40842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 Output errors if theme loading failed.
4087
4088 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
4089 grub_gfxterm_fullscreen on error paths to ...
4090 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
4091 theme loading error.
4092
665900a3
VS
40932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
4096 space for older compilers.
4097 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4098
a562b479
VS
40992011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
4102 and report them as not RAID members since they are useless for GRUB.
4103 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4104
850e9373
VS
41052011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 Increase LVM implementation robustness in order not to crash on
4108 configurations like pvmove. Previously code assumed that in some places
4109 only lvs or only pvs are used whereas it seems that they are used
4110 interchangeably.
4111
4112 * grub-core/disk/lvm.c (read_node): New function.
4113 (read_lv): Use read_node.
4114 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
4115 Match volumes only at the end when all lvs are found. Take both
4116 pvs (first) and lvs (second) into account.
4117 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
4118 mirror_* into node_*. All users updated.
4119 (grub_lvm_stripe): Merge this ...
4120 (grub_lvm_mirror): ... and this ...
4121 (grub_lvm_node): ... into this. All users updated.
4122
6f332153
VS
41232011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
4126 of function to allow further scanning for LVMs.
4127
829ea451
VS
41282011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
4131 on failed seek as it breaks open fd reusage.
4132
09ceb9a5
VS
41332011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * util/grub-install.in: Add a recommendation to use --recheck before
4136 reporting bugs.
4137
67e11623
VS
41382011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
4141 are obtained.
4142
caee5efd
VS
41432011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 GRUB developper manual based on existing Internals section and
4146 contributions by the various authors with active copyright assignment.
4147
4148 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
4149 * docs/font_char_metrics.png: New file.
4150 * docs/font_char_metrics.txt: Likewise.
4151 * docs/grub-dev.texi: Likewise.
4152 * docs/grub.texi (Internals): Move from here ...
4153 * docs/grub-dev.texi: ... here.
4154
2cccc747
CW
41552011-04-01 Colin Watson <cjwatson@ubuntu.com>
4156
4157 Store the loopback device as data on loopback grub_disk structures,
4158 rather than the file it points to. This fixes use of freed memory
4159 if an existing loopback device is replaced.
4160
4161 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
4162 disk->data, not dev->file.
4163 (grub_loopback_read): Adjust file assignment to match.
4164 Fixes Ubuntu bug #742967.
4165
186ae367
CW
41662011-04-01 Colin Watson <cjwatson@ubuntu.com>
4167
4168 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
4169 when replacing an existing device.
4170
cfed2ad0
VS
41712011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
4174 memory corruptions.
4175
4176 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
4177 unsigned.
4178 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
4179 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
4180 (grub_jfs_read_inode): Likewise.
4181 (grub_jfs_opendir): Likewise. Remove now useless casts.
4182 (grub_jfs_getent): Likewise.
4183 Make ino a grub_uint32_t rather than int.
4184 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
4185 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
4186 division and module with bit operations.
4187 (grub_jfs_find_file): Make ino a grub_uint32_t.
4188 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
4189
05d2ed32
CW
41902011-04-01 Colin Watson <cjwatson@ubuntu.com>
4191
4192 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
4193 warning. (This was in fact always initialised before use, but GCC
4194 wasn't smart enough to prove that.)
4195 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4196
91dc6073
VS
41972011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
4200 stack alignment.
4201 (efi_wrap_1): Likewise.
4202 (efi_wrap_2): Likewise.
4203 (efi_wrap_3): Likewise.
4204 (efi_wrap_4): Likewise.
4205 (efi_wrap_5): Likewise.
4206 (efi_wrap_6): Likewise.
4207 (efi_wrap_10): Likewise.
4208 Based on information by: Red Hat/Peter Jones.
4209
a8afc1d1
CW
42102011-03-31 Colin Watson <cjwatson@ubuntu.com>
4211
4212 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
4213 set-but-not-used variable.
4214
a826cc7d
CW
42152011-03-31 Colin Watson <cjwatson@ubuntu.com>
4216
4217 * docs/grub.texi (Simple configuration): Be more explicit about
4218 GRUB_DEFAULT, and add an example.
4219 Reported by: Leslie Rhorer.
4220
875b67ba
CW
42212011-03-30 Colin Watson <cjwatson@ubuntu.com>
4222
4223 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
4224 shell".
4225
fd7cd914
AS
42262011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4227
4228 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
4229 * util/grub.d/20_linux_xen.in: Likewise.
4230
090b1b6a
VS
42312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * util/grub.d/10_linux.in: Try alternative config filenames where
4234 we parse config file.
4235 * util/grub.d/20_linux_xen.in: Likewise.
4236
baad885c
AS
42372011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4238
4239 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
4240 * util/grub.d/20_linux_xen.in: Likewise.
4241
241e41f5
VS
42422011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * grub-core/disk/raid.c (insert_array): Add few potentially
4245 useful grub_util_info.
4246 (grub_raid_register): Likewise.
4247
56445fb2
VS
42482011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
4251 Preserve partition number in mdadm code path.
4252
c871b1c6
VS
42532011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
4256 few potentially useful grub_util_info.
4257
5e631b4f
CW
42582011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4259
4260 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
4261
2d5d0333
CW
42622011-03-30 Colin Watson <cjwatson@ubuntu.com>
4263
4264 * docs/grub.texi (default): Use @example rather than nested
4265 itemized lists to avoid breaking gendocs.
4266
3d7ed04e
CW
42672011-03-30 Colin Watson <cjwatson@ubuntu.com>
4268
4269 * docs/grub.texi (Future): Update.
4270
abf04200 42712011-03-30 Colin Watson <cjwatson@ubuntu.com>
4272
4273 * docs/grub.texi (Environment): New chapter.
4274 (Changes from GRUB Legacy): Link to "Environment block" section for
4275 details of limitations.
4276 (Simple configuration): Likewise. Link to documentation of gfxmode
4277 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
4278 respectively.
4279 (Shell-like scripting): Note that normal variables are stored in the
4280 environment.
4281 (gettext): Link to documentation of lang and locale_dir.
4282 (list_env): New section.
4283 (load_env): New section.
4284 (save_env): New section.
4285
4286 (Reporting bugs): Fix typo.
4287
e1ad0edd
VS
42882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
4291 the example.
4292
5d803174
VS
42932011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/term/at_keyboard.c (set_scancodes)
4296 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
4297
2a2da1d0
CW
42982011-03-30 Colin Watson <cjwatson@ubuntu.com>
4299
4300 * docs/grub.texi (Menu-specific commands): Remove some semantics
4301 that were true in GRUB Legacy but not in GRUB 2.
4302 (submenu): New section.
4303 (false): New section.
4304 (read): New section.
4305 (true): New section.
4306
a7527639
CW
43072011-03-30 Colin Watson <cjwatson@ubuntu.com>
4308
4309 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
4310
43112011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
4312
4313 * docs/grub.texi (Simple configuration): Explain some of the
4314 current limitations of grub-mkconfig.
8a748df2 4315 Reported by: Leslie Rhorer.
e30af029 4316
fc858482
VS
43172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 Old macs search for boot.efi rather than for bootia32.efi.
4320
4321 * util/grub-install.in: Copy bootia32.efi to boot.efi.
4322 * util/grub-mkrescue.in: Likewise.
4323 Suggested by: Peter Jones.
4324
e1eb511d
VS
43252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
4328
70e75364
VS
43292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
4332 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
4333 (grub_lvm_mirror): New struct.
4334 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
4335 (grub_lvm_iterate): Iterate only visible volumes.
4336 (grub_lvm_read): Factor out to ..
4337 (read_lv): ... this. Support mirrors.
4338 (grub_lvm_read): New wrapper function.
4339 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
4340 stripped or mirrored.
4341
fc18f6a3
VS
43422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
4345
5c650f4c
CW
43462011-03-29 Colin Watson <cjwatson@ubuntu.com>
4347
4348 * docs/grub.texi (loopback): New section.
4349
61d7156b
CW
43502011-03-29 Colin Watson <cjwatson@ubuntu.com>
4351
4352 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
4353 removed -p option.
4354
994b8264
CW
43552011-03-29 Colin Watson <cjwatson@ubuntu.com>
4356
4357 * docs/grub.texi (BIOS installation): New section, partly based on
4358 previous text in other sections.
4359 (Installing GRUB using grub-install): Replace BIOS discussion with a
4360 cross-reference.
4361 (Images): Likewise.
4362
9e4d19e0
VS
43632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * grub-core/kern/emu/hostdisk.c (find_partition_start)
4366 [HAVE_DIOCGDINFO]: Add safety checks.
4367
a307c0b2
VS
43682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
4371 per default compiled in kernel and prior to 8.0 isn't shipped at all.
4372
b4db4f39
CW
43732011-03-29 Colin Watson <cjwatson@ubuntu.com>
4374
4375 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
4376 real_sb->size is zero (e.g. RAID-0), get the disk size from
4377 real_sb->data_size instead.
4378 Fixes Ubuntu bug #743136.
4379
35e5f84c
VS
43802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
4383 printf clauses for printing size and start.
4384
d2e29d81
VS
43852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
4388 Reported and tested by: Timothy Nikkel.
4389
ed5587af
VS
43902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
4393 (dirty_region_add_real): ... this.
4394 (dirty_region_add): Don't discard margin refresh when performing
4395 scheduled repaint.
4396
a1dc717c
VS
43972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * grub-core/lib/relocator.c (allocate_regstart)
4400 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
4401 terminals are capabple of malloc-free operation.
4402 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4403 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4404
9f3677d3
VS
44052011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
4406
4407 * util/grub-setup.c: Copy the partition table zone if floppy support
4408 is disabled, even if no partition table is found.
4409
4410 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
4411 during POST if an invalid partition table is contained in the PBR
4412 of the active partition when GRUB is installed to a partition.
4413
24148725
CW
44142011-03-28 Colin Watson <cjwatson@debian.org>
4415
4416 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
4417 comment.
4418
f329eda7
CW
44192011-03-28 Colin Watson <cjwatson@debian.org>
4420
4421 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
4422 to be specific about what kind of RAID device we're scanning for.
4423
c482ad98
SG
44242011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
4425
4426 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
4427 return freed string.
4428
5ee04984
VS
44292011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
4432
f4727da9
VS
44332011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 Use libgeom on FreeBSD to detect partitions.
4436
4437 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
4438 (grub-mkrelpath): Likewise.
4439 (grub-script-check): Likewise.
4440 (grub-editenv): Likewise.
4441 (grub-mkpasswd-pbkdf2): Likewise.
4442 (grub-fstest): Likewise.
4443 (grub-mkfont): Likewise.
4444 (grub-mkdevicemap): Likewise.
4445 (grub-probe): Likewise.
4446 (grub-setup): Likewise.
4447 (grub-ofpathname): Likewise.
4448 (grub-mklayout): Likewise.
4449 (example_unit_test): Likewise.
4450 (grub-menulst2cfg): Likewise.
4451 * grub-core/Makefile.core.def (grub-emu): Likewise.
4452 (grub-emu-lite): Likewise.
4453 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
4454 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
4455 define HAVE_DIOCGDINFO.
4456 (follow_geom_up) [FreeBSD]: New function.
4457 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
4458 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
4459 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
4460 unconditionally of HAVE_DIOCGDINFO.
4461
82fe6c75
VS
44622011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 Fix FreeBSD compilation problem.
4465
4466 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
4467 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
4468
4c6c9431
CW
44692011-03-24 Colin Watson <cjwatson@ubuntu.com>
4470
4471 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
4472 Switch back to page zero before loading a kernel, since some kernel
4473 drivers expect that.
4474 Thanks to: Felix Kuehling.
4475
c7064d94
VS
44762011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
4479 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
4480 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
4481
3f71cded
VS
44822011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
4485 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
4486
ef6de21a
VS
44872011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
4490 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
4491 malloc is disabled.
4492
8bc66a2c
VS
44932011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
4496 for modules headers when counting the needed allocation size.
4497
5657722c
VS
44982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
4501 if no ASCII character is found to prevent crash.
4502
41a85f55
AK
45032011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
4504
4505 * grub-core/video/bitmap.c (match_extension): Ignore case.
4506
59e1e5f1
VS
45072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
4510
bd4d051a
VS
45112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/script/parser.y: Declare "time" as valid argument.
4514
bae7fcc1
PJ
45152011-03-23 Peter Jones <pjones@redhat.com>
4516
4517 Fix incorrect assert failure reporting.
4518
4519 * grub-core/tests/example_functional_test.c (example_test): Add
4520 a failure comment.
4521 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
4522 (failure_start): ...this. Check that malloc succeeded.
4523 Don't call xvasprintf. Return failure struct.
4524 (failure_append_vtext): New function.
4525 (failure_append_text): Likewise.
4526 (add_failure): Likewise.
4527 (grub_test_assert_helper): Likewise.
4528 * include/grub/test.h (grub_test_assert_helper): New declaration.
4529 (grub_test_assert): Macro rewritten.
4530
537dc9be
VS
45312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
4534
fa3e01bf
VS
45352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
4538
b1d28404
VS
45392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
4542 into GRUB-style one.
4543
2e3e2e09
VS
45442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
4547 error and not grub_errno.
4548 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
4549
ed57e557
VS
45502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
4553 GRUB_USB_SPEED_NONE in case of failure and not the error code.
4554
d1611f01
VS
45552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * grub-core/efiemu/i386/pc/cfgtables.c
4558 (grub_machine_efiemu_init_tables): Make declaration a prototype.
4559 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
4560 (grub_xnu_unlock): Likewise.
4561 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
4562
7d4e39d6
VS
45632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
4566 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
4567 * grub-core/commands/hashsum.c (aliases): Likewise.
4568 * grub-core/commands/setpci.c (pci_registers): Likewise.
4569 * grub-core/disk/usbms.c (attach_hook): Likewise.
4570 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
4571 (zio_checksum_table): Likewise.
4572 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
4573 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
4574 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
4575 * grub-core/lib/relocator.c (leftovers): Likewise.
4576 (extra_blocks): Likewise.
4577 * grub-core/loader/i386/bsd.c (relocator): Likewise.
4578 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
4579 (modules_last): Likewise.
4580 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
4581 (devices): Likewise.
4582 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
4583 (modules_last): Likewise.
4584 * grub-core/normal/auth.c (users): Likewise.
4585 * grub-core/normal/context.c (initial_menu): Likewise.
4586 (current_menu): Likewise.
4587 * grub-core/normal/crypto.c (crypto_specs): Likewise.
4588 * grub-core/term/serial.c (grub_serial_ports): Likewise.
4589 (grub_serial_terminfo_input_template): Likewise.
4590 (grub_serial_terminfo_output_template): Likewise.
4591 (grub_serial_terminfo_input): Likewise.
4592 (grub_serial_terminfo_output): Likewise.
4593 (registered): Likewise.
4594 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
4595
40fc4659
VS
45962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
4599 grub_video_mode_type_t.
4600 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
4601 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
4602 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
4603
2da48d28
VS
46042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * util/grub-install.in: Correct the x86-64 name as x86_64.
4607
9b43bf39
CW
46082011-03-11 Colin Watson <cjwatson@ubuntu.com>
4609
4610 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
4611 initial chunk read from the kernel always includes GRUB's multiboot
4612 header, which is now outside the first sector.
4613
be1a7ce0
CW
46142011-03-09 Colin Watson <cjwatson@ubuntu.com>
4615
4616 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
4617 cached mmap_size, so that this works correctly when called multiple
4618 times.
4619 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
4620
83a3c48d
CW
46212011-03-09 Colin Watson <cjwatson@ubuntu.com>
4622
4623 * docs/grub.texi (Simple configuration): Tidy up formatting.
4624
57d75699
SJ
46252011-03-07 Szymon Janc <szymon@janc.net.pl>
4626
4627 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
4628 Set-but-not-used variable removed.
4629
028501a0
VS
46302011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 Workaround yet another IEEE1275 bug.
4633
4634 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4635 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
4636 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
4637 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
4638 is set.
4639 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4640 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
4641
d998657d
VS
46422011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
4645 error.
4646
fee7cdd4
CW
46472011-02-11 Colin Watson <cjwatson@ubuntu.com>
4648
4649 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
4650 empty, since in that case we can only generate either nothing or a
4651 syntactically invalid configuration file.
4652 Reported by: Michal Suchanek. Fixes Debian bug #612898.
4653
97286eb5
CW
46542011-02-09 Colin Watson <cjwatson@ubuntu.com>
4655
4656 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
4657 (Making a GRUB bootable CD-ROM): Likewise.
4658 (Invoking grub-mkrescue): New section.
4659 Reported by: Yann Dirson. Fixes Debian bug #612585.
4660
22b28eb3
CW
46612011-02-09 Colin Watson <cjwatson@ubuntu.com>
4662
4663 * util/grub-install.in: Remove unnecessary brackets from tr
4664 arguments.
4665 * util/grub.d/10_hurd.in: Likewise.
4666 * util/grub.d/10_kfreebsd.in: Likewise.
4667 * util/grub.d/10_linux.in: Likewise.
4668 * util/grub.d/20_linux_xen.in: Likewise.
4669 Reported by: Jamie Heilman. Fixes Debian bug #612564.
4670
7e735e43
CW
46712011-02-08 Colin Watson <cjwatson@ubuntu.com>
4672
4673 * include/grub/file.h (not_easly_seekable): Rename to ...
4674 (not_easily_seekable): ... this. Update all users.
4675
800f1881
CW
46762011-01-28 Colin Watson <cjwatson@ubuntu.com>
4677
4678 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
4679 grub-mkrescue.
4680
3281d3d6
VS
46812011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * util/grub-mkimage.c (generate_image): Refuse to create the images
4684 bigger than the actual flash (512K) in Loongson machines. 512K is also
4685 the biggest chip supported by them.
4686
3533413c
VS
46872011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
4690
73ae4f4f
VS
46912011-01-22 Anthony DeRobertis <anthony@derobert.net>
4692
4693 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
4694 super_offset field.
4695
37f4f608
VS
46962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * util/grub-install.in: Ignore install device on platforms
4699 where it doesn't make sense. Always use UUIDs except on pc, efi and
4700 sparc64.
4701 Reported by: Daniel Kahn Gillmor.
4702
03a4ccb5
VS
47032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
4706
ffc8f4d8
VS
47072011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
4710 (iterate_real): Don't rely on partition being non-NULL.
4711
80f23be7
VS
47122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
4715 supported platforms. Put a compile time assert for this rather than
4716 generate a warning with 32-bit shift.
4717
5d4f4dd5
VS
47182011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
4721 logical expression more readable.
4722
e489601a
VS
47232011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
4726 even if some elements have a name.
4727 Reported by: Alexander GQ Gerasiov.
4728
96e0a6ea
CW
47292011-01-22 Colin Watson <cjwatson@ubuntu.com>
4730
4731 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
4732 path unreadable if `grub-probe -t abstraction' fails, for example if
4733 memberlist fails on an LVM volume group.
4734 Reported by: Darius Jahandarie.
4735
81431e2b
CW
47362011-01-22 Colin Watson <cjwatson@ubuntu.com>
4737
4738 * docs/grub.texi (Simple configuration): Document
4739 GRUB_PRELOAD_MODULES.
4740
5e79d66a
CW
47412011-01-17 Colin Watson <cjwatson@ubuntu.com>
4742
4743 * .bzrignore: Remove nonexistent grub-pbkdf2.
4744
646ada34
VS
47452011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * configure.ac: Bump version to 1.99~rc1.
4748
04360337
VS
47492011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
4752 for safety.
4753
46c9db88
VS
47542011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
4757 module.
4758
47592011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
4760
4761 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
4762
4fbf1852
VS
47632011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
4766 diskdevid.
4767
f1632d4d
VS
47682011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 Fix compilation on cygwin.
4771
4772 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
4773 -R .drectve on cygwin.
4774 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
4775 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
4776 (COND_CYGWIN): New condition.
4777 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
4778 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
4779 not @TARGET_OBJ2ELF@.
4780 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
4781 type to determine whether aux is to be used.
4782
0b5e127b
VS
47832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
4786 realpath'ed device string.
4787 Handle floppy (somewhat).
4788 Issue error in unknown case rather than garbage.
4789 Reported by: Axel Beckert.
4790
173b71e9
VS
47912011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * util/grub.d/00_header.in (load_video): Handle the case when no video
4794 drivers available.
4795 Thanks to: Axel Beckert.
4796
f8f479db
VS
47972011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
4800 variable. Fixes problem on big endian platforms.
4801
8fc0a245
VS
48022011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
4805 It doesn't work well there.
4806
b8494fbe
VS
48072011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
4810 warning.
4811 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
4812 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
4813 counter.
4814
b44a558c
VS
48152011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 Use alias->path rather than buggy "canon".
4818
4819 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
4820 (ofdisk_hash_add): New argument curcan. All users updated.
4821
51fa856c
CW
48222011-01-11 Colin Watson <cjwatson@ubuntu.com>
4823
4824 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
4825
9da068a5
VS
48262011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
4829 loadmask before doing any calculations. Use correct type for offset.
4830 (grub_linux_load64): Likewise.
4831
86205c94
CW
48322011-01-11 Colin Watson <cjwatson@ubuntu.com>
4833
4834 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
4835 with NULL.
4836 (console_grub_equivalences_unshift): Likewise.
4837 Reported by: Daniel Dehennin.
4838
4531a206
VS
48392011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
4842 (set_env_limn_ro): Likewise.
4843 (GRUB_MOD_INIT): Likewise.
4844 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
4845 ARRAY_SIZE while on it.
4846 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
4847 * grub-core/normal/context.c (grub_env_export): Move from here ...
4848 * grub-core/kern/env.c (grub_env_export): ... here.
4849 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
4850 prefix.
4851 * grub-core/kern/main.c (grub_main): Export root and prefix.
4852 * include/grub/env.h (grub_env_export): Export.
4853 Reported by: Seth Goldberg.
4854
45146057
VS
48552011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4858 Take into account space used by ELF sections and multiboot palette.
4859 Reported by: Grégoire Sutre.
4860
f093110b
VS
48612011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * BUGS: New file.
4864
3395fe52
VS
48652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 Pass more appropriate video id to Linux.
4868
4869 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
4870 grub_video_get_driver_id and variable gfxpayloadforcelfb to
4871 fill have_vga.
4872 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
4873 shift params->lfb_size.
4874 * include/grub/i386/linux.h: Make an enume out of have_vga values.
4875
c2fa6cbb
VS
48762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * util/grub-menulst2cfg.c: Add missing include of misc.h.
4879
b3ff6ff0
VS
48802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
4883 separator and pass bootpath/devid even if only one of them is available.
4884 Reported by: Seth Goldberg.
4885
ae67942e
VS
48862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
4889 implementations bug on them.
4890
4891 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
4892 memory.
4893 (filter_memory_map): Likewise.
4894
d570097a
VS
48952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
4898 Reported by: nebuchadnezzar.
4899
a508e776
VS
49002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
4903 Reported by: nebuchadnezzar.
4904
dcb883b1
VS
49052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 Submenu default support.
4908
4909 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
4910 auto_boot. All users updated.
4911 Declared static.
4912 Handle chosen and default with submenus.
4913 (grub_menu_execute_with_fallback): Declared static.
4914 Don't notify failure if autobooted. Upper level does it.
4915 (menuentry_eq): New function.
4916 (get_entry_number): Use menuentry_eq.
4917 (show_menu): New parameter "autobooted". All users updated.
4918 (grub_show_menu): Likewise.
4919 * include/grub/normal.h (grub_show_menu): Likewise.
4920 * include/grub/menu.h (grub_menu_execute_entry): Removed.
4921 (grub_menu_execute_with_fallback): Likewise.
4922
6fef99b4
VS
49232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * util/grub-mklayout.c (usage): Update help text.
4926
47a77af5
VS
49272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
4930
ce6bb3ee
VS
49312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * util/grub-menulst2cfg.c (main): Trim the line.
4934
db87be2a
VS
49352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
4938 (grub_machine_init): Don't check amount of low memory as reportedly
4939 INT 12h can be broken and if low memory is too low we wouldn't have
4940 gotten into grub_machine_init anyway.
4941
c49849cc
VS
49422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
4945 (grub_machine_mmap_iterate): Take low memory into account
4946
b1969b30
VS
49472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
4950 badfs.
4951 Reported by: TiCPU.
4952
cf0eaf13
VS
49532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
4956 members errors.
4957
1f060f39
GS
49582011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4959
4960 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
4961 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
4962
a21e5672
GS
49632011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4964
4965 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
4966 openbsd and netbsd types being in part_bsd module.
4967
c88172fa
VS
49682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
4971 (_FILE_OFFSET_BITS): Likewise.
4972 Reported by: Seth Goldberg.
4973
53798c4b
GS
49742011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
4975
4976 * configure.ac: Check for libdevmapper header.
4977
e7121b69
VS
49782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
4981 avoid aliasing.
4982 (fzap_lookup): Likewise.
4983 (dnode_get): Likewise.
4984 (make_mdn): Likewise.
4985 (zfs_mount): Likewise.
4986 (fzap_iterate): Use temporary pointer to avoid aliasing.
4987 (grub_zfs_read): Likewise.
4988 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
4989 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
4990 pointers to avoid aliasing.
4991 (grub_cmd_xnu_kernel64): Likewise.
4992 (grub_xnu_load_driver): Likewise.
4993
fc836af9
VS
49942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
4997 aliasing warning.
4998 (grub_cmd_terminal_output): Likewise.
4999 Reported and tested by: Grégoire Sutre.
5000
f9f37648
VS
50012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
5004 warning.
5005 Reported and tested by: Grégoire Sutre.
5006
ec1dfd63
VS
50072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * configure.ac: Do CPU substitution even if it's specified explicitly.
5010 Reported and tested by: Alain Greppin.
5011
9462775a
VS
50122011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
5015 Reported and tested by: Alain Greppin.
5016
0fd48e35
VS
50172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Satisfy some bison versions need for inttypes.h.
5020
5021 * grub-core/lib/posix_wrap/inttypes.h: New file.
5022 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
5023 (int16_t): Likewise.
5024 (int32_t): Likewise.
5025 (int64_t): Likewise.
5026 Reported and tested by: Alain Greppin.
5027
43f1bc83
VS
50282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
5031 Silence spurious warning.
5032 Reported and tested by: Alain Greppin.
5033
64d1f041
SJ
50342011-01-07 Szymon Janc <szymon@janc.net.pl>
5035
5036 * docs/grub.texi (Support automatic decompression): Update with xz
5037 decompression support.
5038
25953e10
SJ
50392011-01-07 Szymon Janc <szymon@janc.net.pl>
5040
5041 Improve loaders' kernel command line handling.
5042
5043 * grub-core/lib/cmdline.c: New file.
5044 * include/grub/lib/cmdline.h: Likewise.
5045 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
5046 grub_create_loader_cmdline to create kernel command line.
5047 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5048 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
5049 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
5050 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
5051 (linux): Add lib/cmdline.c on common.
5052
e72d259f
VS
50532011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
5056 inopos might be unaligned.
5057
c0cf26da
VS
50582011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5061 endian transformations.
5062 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5063 Based on report by: Doug Nazar.
5064
0ca09e6c
DN
50652011-01-07 Doug Nazar <nazard.michi@gmail.com>
5066
5067 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
5068 array->members[i].start_sector.
5069 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5070
014b6806
VS
50712011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
5074 Reported and tested by: Grégoire Sutre.
5075
415502c2
CW
50762011-01-06 Colin Watson <cjwatson@ubuntu.com>
5077
5078 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
5079 avoid causing test failures by clearing the screen.
5080
71b6a2b7
CW
50812011-01-06 Colin Watson <cjwatson@ubuntu.com>
5082
5083 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5084 Fix prefix check to handle the case where dir ends with a slash
5085 (most significantly, "/" itself).
5086 Reported by: Michael Vogt.
5087
b3f8d28a
VS
50882011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 Run terminfo_cls on initing terminfo output to clear the screen and
5091 move the cursor to (0,0).
5092
5093 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
5094 Call grub_terminfo_output_init.
5095 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
5096 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
5097 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
5098
4c3e4f37
VS
50992011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
5102 only when needed.
5103
488f71f1
VS
51042011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
5107 CTRL.
5108
18a38098
VS
51092011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 The E820 type 5 is BADRAM, not EXEC_CODE.
5112
5113 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5114 (GRUB_E820_BADRAM): New define.
5115 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
5116 into reserved. Propagate BADRAM.
5117 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5118 (GRUB_E820_BADRAM): New define.
5119
9eae2084
VS
51202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
5123 Ignore the memory post-4G.
5124 (grub_relocator_firmware_alloc_region): Additional debug statement.
5125
ebc71d28
VS
51262011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
5129 names.
5130 Reported by: David Pravec.
5131
446fa400
VS
51322011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
5135 BIOSes.
5136
a0159f37
VS
51372011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
5140 Prevent overflow.
5141 (grub_reed_solomon_recover): Likewise.
5142
e5146ca1
VS
51432011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
5146
51472011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
5148
5149 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
5150 variable.
5151
5b1bdf12
CW
51522011-01-04 Colin Watson <cjwatson@ubuntu.com>
5153
5154 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
5155 descriptions of extract_legacy_entries_source and
5156 extract_legacy_entries_configfile.
5157 Reported by: Seung Soo, Ha.
5158
99d925aa
CW
51592011-01-03 Colin Watson <cjwatson@ubuntu.com>
5160
5161 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
5162 on devices that do not implement function 0.
5163
4af0504b
DV
51642011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
5165
5166 * grub-core/fs/hfsplus.c: Make parent unsigned.
5167 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
5168 overflows.
5169 (grub_hfsplus_cmp_extkey): Likewise
5170
469ee10a
VS
51712011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * util/grub-install.in: Correctly use bootloader_id and not
5174 GRUB_DISTRIBUTOR on efibootmgr line.
5175
323a8e9c
VS
51762011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
5179
1b394975
IC
51802010-12-31 Ian Campbell <ijc@hellion.org.uk>
5181
5182 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
5183 Xen and reorder menu item wording to make it clearer that this entry
5184 will launch Xen. Print separate messages when loading Xen and
5185 Linux.
5186
275bff5f
VS
51872010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
5190 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
5191 loop in case of incorrect amiga partmap.
5192
307806cb
VS
51932010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
5196 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
5197 Reported by:EHeM.
5198
b12b923e
VS
51992010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
5202 spurious warning.
5203 Reported by: crocket
5204
14b48a19
VS
52052010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
5208 Preload EFIemu.
5209 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
5210
693db2df
VS
52112010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
5214 is loaded
5215 (grub_cmd_xnu_kextdir): Likewise.
5216 (grub_cmd_xnu_splash): Likewise.
5217
c7638645
VS
52182010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 Avoid using Reed-Solomon with 0 redundancy.
5221
5222 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
5223 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
5224 or 0 redundancy.
5225 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
5226 (grub_reed_solomon_recover): Likewise.
5227
25dd4780
VS
52282010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 Don't use disk subsystem in freebsd_boot.
5231
5232 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
5233 (freebsd_biosdev): Likewise.
5234 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
5235 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
5236
0b2db943
VS
52372010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 Handling of files of unknown size is currently limited. They can't be
5240 used e.g. for initrd or modules. Moreover gzip handling of not
5241 easily seekable files is buggy. Disable unknown file size for now. May
5242 be inefficient but works.
5243
5244 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
5245 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5246
5c408d0f
MP
52472010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
5248
5249 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
5250 floppy probe.
5251
190a011a
JD
52522010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
5253
5254 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
5255
022d01b8
SL
52562010-12-25 Shea Levy <shlevy>
5257
5258 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
5259
c4855fdc
VS
52602010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
5263 Windows Server 2008.
5264 Reported by: Devin Giddings.
5265
0354b867
VS
52662010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
5269 writing an error message because of async power management.
5270 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
5271 (grub_reboot): Likewise.
5272
ab66c69f
JU
52732010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
5274
5275 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
5276 keep unit tests from failing when they shouldn't.
5277
1426ef35
CW
52782010-12-21 Colin Watson <cjwatson@ubuntu.com>
5279
5280 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
5281 previous patch increased the size of the RS code by 20 bytes (at
5282 least with gcc-4.4), so increase this by 20 bytes to match.
5283 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5284
20641b6b
CW
52852010-12-21 Colin Watson <cjwatson@ubuntu.com>
5286
5287 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
5288 scratch area. Make sure to initialise chosen in standalone mode as
5289 well as non-standalone.
5290 Reported by: Robert Hooker and Andy Whitcroft.
5291 Tested by: Andy Whitcroft.
5292
d060ad60
CW
52932010-12-21 Colin Watson <cjwatson@ubuntu.com>
5294
5295 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
5296 constructing a new unescaped string and passing it to grub_xputs in
5297 one go, rather than passing characters to grub_printf one at a time.
5298
b889cfad
CW
52992010-12-21 Colin Watson <cjwatson@ubuntu.com>
5300
5301 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
5302 initialising utf16.
5303
4e01b6c8
CW
53042010-12-21 Colin Watson <cjwatson@ubuntu.com>
5305
5306 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
5307 comment. Add an extra layer of quotation, requiring the output of
5308 this function to be used in a printf format string.
5309 (gettext_printf): New function.
5310 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
5311 Extract translatable strings from here-documents and use a temporary
5312 variable instead, so that xgettext can find them.
5313 * util/grub.d/10_kfreebsd.in: Likewise.
5314 * util/grub.d/10_linux.in: Likewise.
5315 * util/grub.d/20_linux_xen.in: Likewise.
5316
5317 * po/grub.d.sed: New file.
5318 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
5319 arguments. Set c-format flags on all strings extracted from
5320 util/grub.d/ (xgettext refuses to include these itself for strings
5321 it extracted from a shell file, but these really are c-format).
5322
5318fe98
VS
53232010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
5326 Avoid next pointing to nowhere.
5327
6c85b743
VS
53282010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
5331 rather than assuming than rootblock is exactly in the middle.
5332 (grub_affs_label): Likewise.
5333
a2a08a35
VS
53342010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
5337 reserved_first_sector to 0.
5338 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
5339 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
5340 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
5341
7059d1ec
VS
53422010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 Fix handling of UTF-16 UDF labels.
5345
5346 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
5347 (read_string): .. here.
5348 (grub_udf_label): Use read_string.
5349
30aff4cb
BC
53502010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
5351
5352 * grub-core/normal/menu_entry.c (run): Execute commands from menu
5353 editor under argument scope.
5354 Reported by: Jordan Uggla
5355
5cf86f4b
VS
53562010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
5359
32570200
CW
53602010-12-18 Colin Watson <cjwatson@ubuntu.com>
5361
5362 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
5363 line, and other keys scroll an entire page (previous handling was
5364 for \r and \n to scroll a page and other keys to scroll two lines).
5365
e1dffcf2
VS
53662010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5369 Set ptrdest to correct get_physical_target_address rather than
5370 incorrect get_virtual_current_address.
5371
b04298cf 53722010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
5373
5374 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
5375 correct cat to grub_uint8_t * rather than grub_uint32_t *.
5376
5367ecd3
CW
53772010-12-10 Colin Watson <cjwatson@ubuntu.com>
5378
5379 * .bzrignore: Ignore grub-core/rs_decoder.S.
5380
1fb430f8
CW
53812010-12-10 Colin Watson <cjwatson@ubuntu.com>
5382
5383 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
5384 .mo/.mo.gz opening sequence to ...
5385 (grub_mofile_open_lang): ... here.
5386 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
5387 * util/grub.d/00_header.in (grub_lang): Include country part of
5388 locale.
5389 Reported by: Mario Limonciello.
5390
a94a6671
RM
53912010-12-09 Robert Millan <rmh@gnu.org>
5392
5393 * NEWS: Document addition of ZFS support.
5394
24b7938b
CW
53952010-12-04 Colin Watson <cjwatson@ubuntu.com>
5396
5397 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
5398 rather than `/ 2', as the latter requires -Wa,--divide which would
5399 require bumping our minimum binutils version.
5400
bddc3ef6
BC
54012010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
5402
5403 * util/grub-script-check.c (main): Print script line number on
5404 error.
5405
bf78d5b2
RM
54062010-12-01 Robert Millan <rmh@gnu.org>
5407
5408 * grub-core/fs/zfs/zfs.c: New file.
5409 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
5410 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
5411 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
5412 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5413
5414 * include/grub/zfs/dmu.h: Likewise.
5415 * include/grub/zfs/dmu_objset.h: Likewise.
5416 * include/grub/zfs/dnode.h: Likewise.
5417 * include/grub/zfs/dsl_dataset.h: Likewise.
5418 * include/grub/zfs/dsl_dir.h: Likewise.
5419 * include/grub/zfs/sa_impl.h: Likewise.
5420 * include/grub/zfs/spa.h: Likewise.
5421 * include/grub/zfs/uberblock_impl.h: Likewise.
5422 * include/grub/zfs/vdev_impl.h: Likewise.
5423 * include/grub/zfs/zap_impl.h: Likewise.
5424 * include/grub/zfs/zap_leaf.h: Likewise.
5425 * include/grub/zfs/zfs.h: Likewise.
5426 * include/grub/zfs/zfs_acl.h: Likewise.
5427 * include/grub/zfs/zfs_znode.h: Likewise.
5428 * include/grub/zfs/zil.h: Likewise.
5429 * include/grub/zfs/zio.h: Likewise.
5430 * include/grub/zfs/zio_checksum.h: Likewise.
5431
5432 * Makefile.util.def: Build ZFS into libgrubmods.
5433 * grub-core/Makefile.core.def: Build zfs.mod.
5434
3f0f3831
SJ
54352010-11-30 Szymon Janc <szymon@janc.net.pl>
5436
5437 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
5438 variable.
5439 * grub-core/commands/wildcard.c (match_files): Likewise.
5440
3a4253b2
RM
54412010-11-30 Robert Millan <rmh@gnu.org>
5442
5443 * grub-core/loader/i386/bsd.c
5444 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
5445 whether kernel is loaded using grub_loader_is_loaded(), rather
5446 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
5447 certain error conditions.
5448
8c317b27
RM
54492010-11-30 Robert Millan <rmh@gnu.org>
5450
c5c9cd3e
RM
5451 * grub-core/commands/echo.c: Include `<grub/term.h>'.
5452 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 5453
49d3ab46
VS
54542010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 Avoid using tricks for initialising endian variables.
5457
5458 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
5459 Make const.
5460 (GRUB_MOD_INIT): Don't byte-swap.
5461 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5462 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
5463 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
5464 (grub_swap_bytes32_compile_time): Likewise.
5465 (grub_cpu_to_le32_compile_time): Likewise.
5466 (grub_cpu_to_le16_compile_time): Likewise.
5467
f420a804
VS
54682010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * util/grub-setup.c (setup): Stop recommending --force. People who
5471 understand the dangers of blocklists are able to find this option
5472 anyway and the ones who don't shouldn't use it anyway.
5473
4e7db17b
RM
54742010-11-26 Robert Millan <rmh@gnu.org>
5475
5476 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
5477 Update all users.
5478
9be57a0d
CW
54792010-11-26 Colin Watson <cjwatson@ubuntu.com>
5480
5481 Fix LVM-on-RAID probing.
5482
5483 * util/grub-probe.c (probe): Remember which disk was detected as
5484 RAID (perhaps an LVM physical volume). Use that disk's raidname
5485 rather than that of the top-level disk.
5486
2c7859b3 54872010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 5488
d7647bb6
BC
5489 Fix cmdline argument quotes for setparams command of menuentry
5490 definitions.
7e623b0d
BC
5491
5492 * grub-core/commands/menuentry.c (setparams_prefix): Use single
5493 quotes for arguments.
f866fe80 5494 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 5495 grub_strchrsub function instead.
f866fe80 5496
7955bea0 5497 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 5498
74f72a64
CW
54992010-11-24 Colin Watson <cjwatson@ubuntu.com>
5500
5501 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
5502 effort by skipping "." and ".." entries up-front.
5503 Suggested by: Michael Lazarev.
5504
5a407278
CW
55052010-11-24 Colin Watson <cjwatson@ubuntu.com>
5506
5507 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
5508 ldflags to ldadd, to fix link line ordering.
5509 (none_decompress): Likewise.
5510
3030d8ec
CW
55112010-11-24 Colin Watson <cjwatson@ubuntu.com>
5512
5513 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
5514 platforms.
5515 (grub-emu-lite): Remove kern/emu/cache.S.
5516
b7fbac12
CW
55172010-11-23 Colin Watson <cjwatson@ubuntu.com>
5518
5519 * util/deviceiter.c (compare_devices): If the by-id link for a
5520 device couldn't be resolved, fall back to sorting by the by-id link
5521 rather than segfaulting.
5522 Reported and tested by: Daniel Mierswa.
5523
5225f328
CW
55242010-11-23 Colin Watson <cjwatson@ubuntu.com>
5525
5526 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
5527 ldflags, to fix link line ordering.
5528
038b3ce8
CW
55292010-11-23 Colin Watson <cjwatson@ubuntu.com>
5530
5531 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
5532 linkers are picky about this.
5533
bf16e98e
CW
55342010-11-23 Colin Watson <cjwatson@ubuntu.com>
5535
5536 * grub-core/Makefile.am (command.lst): Adjust sed expression
5537 ordering so that extended and priority commands aren't treated as
5538 ordinary commands.
5539
7242bab6
CW
55402010-11-23 Colin Watson <cjwatson@ubuntu.com>
5541
5542 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5543 Remove byte-swapping function calls, which are not valid in
5544 structure initialisers.
5545 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
5546 non-const.
5547 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
5548 grub_gpt_partition_type_bios_boot.
5549
14e8b279
CW
55502010-11-22 Colin Watson <cjwatson@ubuntu.com>
5551
5552 Fix test program build on GNU/kFreeBSD.
5553
5554 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
5555 $(LIBNVPAIR)' library dependencies.
5556
e6f63338 55572010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
5558
5559 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
5560
cf8ffc38
CW
55612010-11-22 Colin Watson <cjwatson@ubuntu.com>
5562
5563 * util/grub-install.in: Remove excessive quoting that broke
5564 installations to RAID devices.
5565
7f8b0fd7
VS
55662010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
5569 bootloader version instead of 0.
5570
dfd240b1
VS
55712010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
5574 warning.
5575
7b61e609
VS
55762010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
5579 retrieve the metadat sector if size isn't known.
5580 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5581
9dfe92d0
RM
55822010-11-18 Robert Millan <rmh@gnu.org>
5583
5584 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
5585 with grub_memcmp().
5586
41cc919e
VS
55872010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
5590 arrow.
5591 Reported by: Jordan Uggla.
5592
1afcc914
VS
55932010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 Make better UTF compliant.
5596
5597 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
5598 sequences as incorrect.
5599 (grub_is_valid_utf8): Likewise.
5600 (grub_utf8_to_ucs4): Likewise.
5601 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
5602 (grub_ucs4_to_utf8_alloc): Likewise.
5603 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
5604
f1808884
VS
56052010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 Make legacy_source behave like source.
5608
5609 * grub-core/commands/legacycfg.c (legacy_file): Don't call
5610 grub_show_menu.
5611 (grub_cmd_legacy_source): Call grub_show_menu if needed.
5612
24ec575b
CW
56132010-11-16 Colin Watson <cjwatson@debian.org>
5614
5615 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
5616 (-Wunused implies -Wunused-parameter, but not vice versa).
5617
72b7c7aa
CW
56182010-11-16 Colin Watson <cjwatson@ubuntu.com>
5619
5620 * configure.ac: Make error messages less confusing by testing for
5621 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
5622 accepted, but produces a diagnostic if something else is wrong).
5623
e98937aa
VS
56242010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
5627 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
5628 (now unused).
5629 (grub_keyboard_controller_init)
5630 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
5631 read the initial state since controller isn't inited yet.
5632
f6bbabc3
VS
56332010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
5636 allocate_regbeg may need to create new chunk header.
5637
22e7dbb2
VS
56382010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 Fix quoting in legacy parser.
5641
5642 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
5643 single quotes.
5644 (grub_legacy_parse): Likewise.
5645 Reported by: Jordan Uggla.
5646 Tested by: Jordan Uggla.
5647
03f80960
VS
56482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 Don't add -lgcc on i386 and x86_64.
5651
5652 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
5653 * conf/Makefile.common (LDADD_KERNEL): Likewise.
5654 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
5655
779dc15b
VS
56562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * configure.ac: Add -Wno-trampolines when supported.
5659
d20a3b37
MV
56602010-11-14 Modestas Vainius <modax@debian.org>
5661
5662 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
5663 fakeraid.
5664
e5360933
GC
56652010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5666
5667 Add generic logical block size support for UDF.
5668
5669 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
5670 (GRUB_UDF_BLKSZ): Removed.
5671 (struct grub_udf_data): New field "lbshift" to hold the logical block
5672 size of the file system in log2 format. All users updated.
5673 (sblocklist): Change type to unsigned.
5674 (grub_udf_mount): Change type of "sblklist" to unsigned.
5675 Move AVDP search before VRS recognition, because the latter requires
5676 knowledge of the logical block size, which is detected during the
5677 former.
5678 Detect and validate logical block size during AVDP search, adding
5679 support for block sizes 512, 1024 and 4096.
5680 Make VRS recognition independent of block size.
5681
cb0229c5
GC
56822010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5683
5684 Properly handle deleted files on UDF.
5685
5686 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
5687 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
5688 set.
5689
406858a8
GC
56902010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5691
5692 Support reading files larger than 2 GiB.
5693
5694 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
5695 "offset" to grub_off_t.
5696 (grub_udf_read_file): Likewise for parameter "pos".
5697
130da6a7
VS
56982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
5701 unavailable.
5702 (Simple configuration): Refer to Changes from GRUB Legacy about
5703 save_env availability.
5704
65e93f6b
VS
57052010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * util/grub-install.in: Ignore empty partition table detection
5708 instead of trying to include part_ module.
5709
1fd08bf1
VS
57102010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
5713 LVM on RAID support.
5714
de1a024f
VS
57152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 Properly define WORDS_BIGENDIAN in wrapped environments.
5718
5719 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
5720 definition.
5721 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
5722
5723 Reported by: Manoel Rebelo Abranches.
5724 Tested by: Manoel Rebelo Abranches.
5725
bc5dd0b9
VS
57262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * util/grub-mkconfig.in: Fix quoting.
5729
58c184be
VS
57302010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 Support big ext2 files.
5733
5734 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
5735 (grub_ext2_read_block): Support triple indirect blocks.
5736 (grub_ext2_read_file): Use 64-bit types and read size_high.
5737 (grub_ext2_open): Read size_high.
5738 Reported by: Ximin Luo.
5739 Tested by: Manoel Rebelo Abranches.
5740
5f0c02b3
VS
57412010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * util/grub-install.in: Handle filenames containing spaces.
5744 Reported by: Jordan Uggla.
5745 Tested by: Jordan Uggla.
5746
4417aae6
VS
57472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * util/grub-mkconfig.in (grub_script_check): New variable.
5750 Use grub_script_check instead of grub-script-check.
5751 Reported by: Barry Jackson.
5752
7625a68e
VS
57532010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * docs/grub.texi (menu): Correct the order.
5756 Reported by: D. Hugh Redelmeier.
5757
10001ac5
VS
57582010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
5761 jump.
5762
9c4cf53b
MRA
57632010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
5764
10001ac5
VS
5765 * include/grub/elfload.h (grub_elf32_size): New parameter.
5766 All users updated.
9c4cf53b
MRA
5767 Return maximum segments alignment.
5768 (grub_elf64_size): Likewise.
5769 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
5770 Return maximum segments alignment.
5771 (grub_elf64_size): Likewise.
5772 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
5773 (grub_linux_claimmap_iterate): New function. Uses the
5774 "available" property in the "memory" node for memory allocation
5775 for kernel in the PowerPC loader.
9c4cf53b
MRA
5776 (grub_linux_load32): Correctly find linux entry point offset.
5777 (grub_linux_load64): Likewise.
5778
d2bf06bf
RM
57792010-11-07 Robert Millan <rmh@gnu.org>
5780
5781 On mips-yeeloong, build with -march=loongson2f when this flag is
5782 available (GCC >= 4.4).
5783 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
5784 `-march=mips3'.
5785 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
5786 or otherwise add -march=mips3.
5787
898c99a2
BC
57882010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
5789
87220a68
BC
5790 Suppress shell expansion on echo '*' and echo "*" like cases.
5791 Reported by: Jordan Uggla.
898c99a2
BC
5792
5793 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5794 string arguments before shell expansion.
5795 * tests/grub_cmd_echo.in: New testcases.
5796
4f9b406a
RM
57972010-11-07 Robert Millan <rmh@gnu.org>
5798
5799 * conf/mips-qemu-mips.rmk: Remove stale file from previous
5800 transition.
5801
80c6d25e
VS
58022010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * grub-core/kern/emu/hostdisk.c
5805 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
5806
4a1a0153
VS
58072010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
5810 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
5811 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
5812
34706ddc
VS
58132010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
5816
6972dea9
VS
58172010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * util/grub-install.in: Replace useless recomendation to pass
5820 --modules with a recomendation to report a bug.
5821
9c693bd6
VS
58222010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 Properly register serial terminfo.
5825 Reported by: Jordan Uggla
5826
5827 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
5828 const.
5829 (grub_serial_terminfo_output_template): Likewise.
5830 (grub_cmd_serial): Register "serial" with terminfo.
5831 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
5832 grub_serial_terminfo_output.
5833
6c9e4c0c
RM
58342010-11-05 Robert Millan <rmh@gnu.org>
5835
5836 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
5837 needed).
5838
b9b3839f
RM
58392010-11-05 Robert Millan <rmh@gnu.org>
5840
5841 On Yeeloong, pass machine type information to Linux.
5842
5843 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
5844 (LOONGSON_MACHTYPE): New macro, set to
5845 "machtype=lemote-yeeloong-2f-8.9inches".
5846 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
5847 additional argument to Linux.
5848
1a3aaff4
RM
58492010-11-04 Robert Millan <rmh@gnu.org>
5850
5851 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
5852 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
5853 (its SATA disks are detected as slaveless IDE master drives on
5854 kFreeBSD).
5855 Reported by Carsten Aulbert.
5856
a75f4f62
CW
58572010-11-02 Colin Watson <cjwatson@ubuntu.com>
5858
5859 * util/bin2h.c (main): Fix spelling error in generated output.
5860
33b4b0c6
GS
58612010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
5862
5863 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
5864
2b36fbf4
VS
58652010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
5868 vga= option is supplied.
5869
74aaf558
VS
58702010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
5873 * util/grub.d/10_kfreebsd.in: Likewise.
5874 * util/grub.d/10_linux.in: Likewise.
5875 * util/grub.d/20_linux_xen.in: Likewise.
5876
6428dec3
VS
58772010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
5880 argument as an argument to no-argument option.
5881
f8729d98
VS
58822010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * util/grub.d/10_linux.in: Add missing load_video with explicit
5885 GRUB_GFXPAYLOAD_LINUX.
5886
89d68fa6
VS
58872010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
5890
3a1197cd
VS
58912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
5894 elements with invlid index.
5895 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5896 * grub-core/disk/raid.c (insert_array): Automatically reallocate
5897 members.
5898 * include/grub/raid.h (grub_raid_member): New struct.
5899 (grub_raid_array): Transform devices and start_sector into usage of
5900 grub_raid_member. All users updated
5901 (allocated_devs): New member.
5902
71574288
VS
59032010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
5906 is modified
5907
8d40ec65
BC
59082010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
5909
5910 NetBSD build fix for getline function conflict from gnulib.
5911
5912 * Makefile.util.def (libgrubkern.a): New library for grub kernel
5913 components that depend on gnulib headers.
5914 (libgrubmods.a): Renamed from earlier libgrub.a.
5915 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
5916
95b9257e
VS
59172010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
5920 install rather than creating a broken install.
5921
26c53dc6
VS
59222010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * util/grub-setup.c (argp): Remove misleading example of installing to
5925 a partition.
5926
4171b3c5
VS
59272010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * util/grub-setup.c (setup): Clarify the error message.
5930
18568d18
VS
59312010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
5934
4f6a2e21
VS
59352010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/kern/emu/misc.c
5938 (grub_make_system_path_relative_to_its_root)
5939 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
5940
59412010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
5942
5943 * grub-core/kern/emu/misc.c
5944 (grub_make_system_path_relative_to_its_root): Revert r2882.
5945
e138c458
VS
59462010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
5949 useless field head. All users updated.
5950 (free_subchunk): Correct handling of IN_REGION subchunk.
5951
0cbcdf0e
CW
59522010-10-22 Colin Watson <cjwatson@ubuntu.com>
5953
5954 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
5955 (Supported kernels): Likewise.
5956
b65ea155
GS
59572010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
5958
5959 Make mktemp invocations portable.
5960
5961 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
5962 exit if mktemp fails.
5963 * tests/grub_script_blockarg.in: Likewise.
5964 * tests/partmap_test.in: Likewise.
5965 * tests/util/grub-shell-tester.in: Likewise.
5966 * tests/util/grub-shell.in: Likewise.
5967 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5968 * Makefile.am: Likewise, and chain shell commands with `&&'
5969 instead of ';'.
5970 * util/grub-mkrescue.in: Use the same explicit template as above, and
5971 exit if mktemp fails.
5972
05f43cdd
BC
59732010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
5974
5975 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
5976 Linux kernel, reported by Dennis Schridde.
5977
800e6a9b
SJ
59782010-10-17 Szymon Janc <szymon@janc.net.pl>
5979
5980 * grub-core/normal/auth.c (grub_auth_check_authentication):
5981 Set-but-not-used variable removed.
5982
d82df574
VS
59832010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * docs/grub.texi (GNU/Linux): Document APM unavailability with
5986 32-bit linux protocol.
5987
7bced458
VS
59882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
5991 cursor shape for sanity.
5992
5b027690
VS
59932010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * docs/grub.texi (Installation): Document buggy BIOS install.
5996
ba5f65cf
VS
59972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * docs/grub.texi (Installation): Indent.
6000
fdf2ec9c
VS
60012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * util/grub-setup.c (setup): New parameter allow_floppy.
6004 (arguments): New member allow_floppy.
6005 (argp_parser): Handle --allow-floppy.
6006 (main): Pass allow_floppy.
6007 * util/grub-install.in: New option --allow-floppy passed though to
6008 grub-setup.
6009
861dfd4c
VS
60102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * util/grub-install.in: Handle partitionless disks.
6013
f77a8c24
VS
60142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * util/grub-setup.c (setup): Don't clean blocklists before readability
6017 verfification.
6018
27d9ee32
VS
60192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * docs/grub.texi (Installation): Document embedding zone. Remove
6022 obsolete grub-install example.
6023
6bdda8f8
SJ
60242010-10-16 Szymon Janc <szymon@janc.net.pl>
6025
6026 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6027 Set-but-not-used variable ifdef'ed.
6028 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
6029 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
6030 variable removed.
6031 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
6032 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
6033 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6034 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
6035 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
6036 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
6037 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
6038 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
6039 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6040 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
6041 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
6042 Likewise.
6043
e19b016b
VS
60442010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
6047 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
6048 enum value.
6049
6c8d3002
VS
60502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
6053 synonym to _S5_. Needed for some DSDTs.
6054
c32b51c9
VS
60552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 Userspace ACPI parser debugging.
6058
6059 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
6060 headers and add relevant defines. Don't include standard headers.
6061 (main) [GRUB_DSDT_TEST]: New function.
6062 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
6063 Don't declare functions.
6064
fbfbeb39
VS
60652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 Remove dead grub_efi_mm_fini.
6068
6069 * grub-core/kern/efi/mm.c (allocated_page): Removed.
6070 (ALLOCATED_PAGES_SIZE): Likewise.
6071 (MAX_ALLOCATED_PAGES): Likewise.
6072 (allocated_pages): Likewise.
6073 (grub_efi_allocate_pages): Don't record allocated pages.
6074 (grub_efi_free_pages): Likewise.
6075 (grub_efi_mm_init): Likewise.
6076 (grub_efi_mm_fini): Removed.
6077
65f7ed7c
VS
60782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
6081 (grub_efi_mm_init): Take into account the memory map size increase.
6082
24977b44
VS
60832010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
6086 (serial_hw_put): Wait based on real time rather than port reads. Don't
6087 roken ports.
6088 * include/grub/serial.h (grub_serial_port): New field broken.
6089
1eb01cd2
RM
60902010-10-16 Robert Millan <rmh@gnu.org>
6091
6092 * grub-core/kern/emu/misc.c
6093 (grub_make_system_path_relative_to_its_root): Fix premature return
6094 when processing non-root ZFS filesystems.
5f8b440b 6095 Reported by Sergio Talens-Oliag.
1eb01cd2 6096
2d5fed60
RM
60972010-10-15 Robert Millan <rmh@gnu.org>
6098
6099 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
6100 guarantee compressed ones are processed first.
6101
d0f4c1ea
VS
61022010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
6105 grub_efiemu_autocore.
6106
d87c681f
VS
61072010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
6110 rather than 0x1b.
6111 (grub_console_getkey): Use correct jae opcode rather than ja.
6112
219b3564
RM
61132010-10-12 Robert Millan <rmh@gnu.org>
6114
6115 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
6116 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
6117 variable. All references updated.
6118
6119 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
6120
20c6bb7e
VS
61212010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 Correctly distinguish mdraid flavours.
6124
6125 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
6126 (insert_array): New argument raid.
6127 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
6128 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
6129 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
6130
74baff84
VS
61312010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
6134 handling of special keys.
6135
3ef068df 61362010-10-02 Aleš Nesrsta <starous@volny.cz>
6137
c7980ad9
VS
6138 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
6139 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 6140
a9455194 61412010-10-02 Aleš Nesrsta <starous@volny.cz>
6142
c7980ad9
VS
6143 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
6144 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
6145 users updated.
a9455194 6146 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 6147 Use right endpoint when querying descriptor.
a9455194 6148
441cfe65
VS
61492010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 Clear out 0x80 color bit on EFI.
6152 Tested by: decoder
6153 Reported by: decoder and meta tech.
6154
6155 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
6156 (grub_console_setcolorstate): Clear out 0x80 bit.
6157 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
6158 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
6159 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
6160
bf26bcc4
VS
61612010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
6164 Set to "auto".
6165
6e3c515d
VS
61662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
6169 mo_file after freeing.
6170
e6d983ba
VS
61712010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
6174
74ccb5b5
VS
61752010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
6178 flags.
6179
17821956
VS
61802010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
6183 usage.
6184
ee74fa48
VS
61852010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 Put terminfo into core on ieee1275 and yeeloong (needed for console).
6188
6189 * gentpl.py: New groups terminfoinkernel and terminfomodule.
6190 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
6191 and terminfo.h when needed.
6192 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
6193 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
6194 (terminfo): Enable only on terminfokernel.
6195 (extcmd): Likewise.
6196 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
6197 * include/grub/lib/arg.h: Likewise.
6198 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
6199 incorrect usage of ->.
6200
aa438e68
VS
62012010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
6204 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
6205
57994012
VS
62062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 Fix coreboot compilation.
6209
6210 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6211 Take VBE info into account even if only text is supported.
6212 (fill_vbe_info): Take into account the case when only VGA text
6213 is supported.
6214 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
6215 on coreboot, multiboot and qemu.
6216
2a406611
VS
62172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
6220 debug messages.
6221 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
6222
d33613fc
VS
62232010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
6226 parameters.
6227
44a1b432
VS
62282010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
6231 if they were BSD-style.
6232
edde54e6
VS
62332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/boot/i386/pc/lnxboot.S: Replace
6236 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
6237 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
6238
b65830fa
VS
62392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 Write embedding zone using Reed-Solomon.
6242
6243 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
6244 * grub-core/Makefile.am (rs_decoder.S): New target.
6245 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
6246 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
6247 (multiboot): Move to RS part.
6248 (post_reed_solomon): New label.
6249 (grub_boot_drive): Move to non-RS part since it's modified in memory
6250 on boot.
6251 Include rs_decoder.S.
6252 * grub-core/lib/reed_solomon.c: New file.
6253 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
6254 New definition.
6255 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
6256 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
6257 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
6258 * include/grub/partition.h (grub_partition_map): Change prototype of
6259 embed to allow returning additional sectors.
6260 * include/grub/reed_solomon.h: New file.
6261 * util/grub-setup.c (setup): Handle Reed-Solomon.
6262
0b4b227f
CW
62632010-09-28 Colin Watson <cjwatson@ubuntu.com>
6264
6265 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6266 i386 and x86-64 definedness tests.
6267
f772623b
YB
62682010-09-27 Yves Blusseau <blusseau@zetam.org>
6269
6270 Fix generation of kernel_syms.lst
6271
6272 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
6273 ASM_PREFIX
6274
8e57a6ca
RM
62752010-09-26 Robert Millan <rmh@gnu.org>
6276
6277 Support degraded ZFS arrays in "grub-probe -t device" resolution.
6278
6279 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
6280 the pool is an array of devices, iterate through it and return the
6281 first device that passes a stat() test (instead of blindly returning
6282 the first one).
6283
f9130836
RM
62842010-09-26 Robert Millan <rmh@gnu.org>
6285
6286 Build fixes for GNU/kFreeBSD.
6287
6288 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
6289 to programs that require ZFS conversion.
6290 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
6291 kernels that don't have FLOPPY_MAJOR.
6292
96510faf
BC
62932010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6294
6295 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
6296
449333eb
BC
62972010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6298
6299 Fix grub-emu build.
6300
6301 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
6302 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
6303 mdraid09 and mdraid1x.
6304
e1fd1939
CW
63052010-09-24 Colin Watson <cjwatson@ubuntu.com>
6306
6307 Re-enable grub-extras.
6308
6309 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
6310 avoid confusing Automake. Run autogen only twice, once for the top
6311 level and once for grub-core. Add Makefile.util.def and
6312 Makefile.core.def from extra modules to the appropriate autogen
6313 invocations. If Makefile.common exists in an extra module, include
6314 it in both Makefile.util.am and grub-core/Makefile.core.am;
6315 similarly, include any Makefile.util.common file in Makefile.util.am
6316 and any Makefile.core.common file in grub-core/Makefile.core.am.
6317 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
6318 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
6319 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
6320 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
6321
6322 * gentpl.py (gvar_add): Turn GVARS into a set.
6323 (global_variable_initializers): Sort global variables on output.
6324 (vars_init): New function.
6325 (first_time): Likewise.
6326 (library): Ensure that non-global variable initialisations are
6327 emitted before the first time we emit code for a library block.
6328 Append to variables rather than setting them. Only emit
6329 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
6330 each conditional path.
6331 (program): installdir() emits an Autogen macro, so must be passed to
6332 var_add rather than gvar_add.
6333 (data): Likewise.
6334 (script): Likewise.
6335 (rules): New function, centralising handling for different target
6336 types. Set up Guile association lists for first_time and vars_init,
6337 and send most output to a diversion so that variable initialisations
6338 can be emitted first.
6339 (module_rules): Use new rules function.
6340 (kernel_rules): Likewise.
6341 (image_rules): Likewise.
6342 (library_rules): Likewise.
6343 (program_rules): Likewise.
6344 (script_rules): Likewise.
6345 (data_rules): Likewise.
6346
6347 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
6348
6349 * .bzrignore: Add contrib and grub-core/contrib. Remove
6350 grub-core/Makefile.gcry.am.
6351
1d12cf29
YB
63522010-09-24 Yves Blusseau <blusseau@zetam.org>
6353
6354 * grub-core/lib/LzFind.c: Add missing include.
6355 * grub-core/lib/LzmaEnc.c: Likewise.
6356 * grub-core/script/lexer.c: Likewise.
6357 * grub-core/script/yylex.l: Likewise.
6358 * util/grub-macho2img.c: Likewise.
6359 * util/grub-menulst2cfg.c: Likewise.
6360 * util/grub-mklayout.c: Likewise.
6361 * util/grub-mkpasswd-pbkdf2.c
6362 * util/grub-mkrelpath.c: Likewise.
6363 * util/resolve.c: Likewise.
6364
dd363028
BC
63652010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
6366
6367 * Makefile.util.def (example_unit_test): Add
6368 grub-core/gnulib/libgnu.a.
6369
f5a109e2
GS
63702010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
6371
6372 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
6373
6d0fa83c
VS
63742010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 Support xz compression on yeeloong.
6377
6378 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
6379 * configure.ac: Check for LZMA.
6380 * grub-core/Makefile.core.def (xz_decompress): New target.
6381 (none_decompress): Likewise.
6382 * grub-core/boot/decompressor/minilib.c: New file.
6383 * grub-core/boot/decompressor/none.c: Likewise.
6384 * grub-core/boot/decompressor/xz.c: Likewise.
6385 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
6386 * grub-core/kern/mips/cache_flush.S: Likewise.
6387 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
6388 * grub-core/kern/mips/startup.S: Move first stage to ...
6389 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
6390 nomacro.
6391 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
6392 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
6393 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
6394 Allocate statically.
6395 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
6396 Allocate statically or use scratch. Don't check CRC32.
6397 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
6398 Allocate statically. Don't check CRC32.
6399 * include/grub/decompressor.h: New file.
6400 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
6401 Removed.
6402 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
6403 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
6404 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
6405 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
6406 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
6407 * util/grub-mkimage.c (grub_compression_t): New type.
6408 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
6409 (image_target_desc): New field default_compression.
6410 (image_targets): Adjust yeeloong targets.
6411 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
6412 (compress_kernel): New parameter comp.
6413 (generate_image): Likewise. Handle new compression case.
6414 (options): New option --compression
6415 (help): Likewise.
6416 (main): Handle new option.
6417
1b655af6
GS
64182010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
6419
6420 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
6421
8f03f0b5
CW
64222010-09-22 Colin Watson <cjwatson@ubuntu.com>
6423
6424 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6425 typo in __i386__ conditional.
6426
7835dfd3
VS
64272010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
6430 include.
6431
e255597e
VS
64322010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6433
6d0fa83c 6434 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
6435
6436 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
6437 new tags as supported.
6438 (acpiv2_size): New function.
6439 (grub_multiboot_get_mbi_size): Take new tags into account.
6440 (grub_multiboot_make_mbi): Add new tags.
6441 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 6442
6cc14051 64432010-09-21 Aleš Nesrsta <starous@volny.cz>
6444
6445 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
6446 Added missing configuration of USB device.
6447
df7769d8
CW
64482010-09-21 Colin Watson <cjwatson@ubuntu.com>
6449
6450 * grub-core/normal/menu_entry.c (run): Make sure we always return
6451 a value.
6452
b031012d
CW
64532010-09-21 Colin Watson <cjwatson@ubuntu.com>
6454
6455 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
6456 NumberOfPages is UINT64 according to the UEFI specification, not
6457 UINTN. Fix printf format.
6458
174de8f3
CW
64592010-09-21 Colin Watson <cjwatson@ubuntu.com>
6460
6461 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
6462 `err' to grub_usb_err_t.
6463 Reported and tested by: KESHAV P.R.
6464
d7dbe923
CW
64652010-09-21 Colin Watson <cjwatson@ubuntu.com>
6466
6467 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
6468 tpart non-const, so that we can assign to it. (Since this is a
6469 typedef, the constness refers to the pointer rather than what it
6470 points to.)
6471
8d5e2af3
CW
64722010-09-21 Colin Watson <cjwatson@ubuntu.com>
6473
6474 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
6475 $(top_srcdir)/grub-core/gnulib as well as
6476 $(top_builddir)/grub-core/gnulib.
6477 Reported by: KESHAV P.R.
6478
5c527783
CW
64792010-09-21 Colin Watson <cjwatson@ubuntu.com>
6480
6481 * util/grub-install.in: Fix the bootloader ID option to be
6482 consistently --bootloader-id, not --bootloader_id.
6483 Reported by: KESHAV P.R.
6484
d309a16e
CW
64852010-09-21 Colin Watson <cjwatson@ubuntu.com>
6486
6487 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
6488 check hash checksum." consistently translatable.
6489
b830cd16
YB
64902010-09-21 Yves Blusseau <blusseau@zetam.org>
6491
6492 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
6493 $(top_builddir).
6494
c4fe27a8
CW
64952010-09-21 Colin Watson <cjwatson@ubuntu.com>
6496
6497 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
6498 (GRUB_MOD_INIT): Register sha1sum command.
6499 (GRUB_MOD_FINI): Unregister sha1sum command.
6500
a4c1d277
YB
65012010-09-21 Yves Blusseau <blusseau@zetam.org>
6502
6503 Keep boot and grub directory names in sync with utils scripts
6504
6505 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
6506 * config.h.in: Add previous macros.
6507 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
6508 * util/grub-install.in: Use $bootdir and $grubdir variables.
6509
4eff79d2
CW
65102010-09-21 Colin Watson <cjwatson@ubuntu.com>
6511
6512 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
6513 convert partition names to disk names if the new `convert' parameter
6514 is set.
6515 (grub_util_biosdisk_get_grub_dev): If opening the disk device
6516 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
6517 disk in its own right. This can happen with Xen disk images.
6518
934d7e44
YB
65192010-09-21 Yves Blusseau <blusseau@zetam.org>
6520
6521 * util/grub-editenv.c: Update strings to avoid warnings when generating
6522 grub.pot file.
6523 * util/grub-setup.c: Likewise.
934d7e44 6524
df3367cc
VS
65252010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * configure.ac: Change version to 1.99~beta0.
6528
77a94e98
VS
65292010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6530
6531 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6532 Add BADRAM.
6533 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
6534 Likewise.
6535 * include/multiboot.h: Resynced with specification.
6536 * include/multiboot2.h: Likewise.
6537
269004c1
CW
65382010-09-21 Colin Watson <cjwatson@ubuntu.com>
6539
6540 Fix po directory handling.
6541
6542 * configure.ac: Create po/Makefile.in rather than po/Makefile.
6543 * grub-core/gnulib/Makefile.am: Import gettext module.
6544 * m4/gnulib-cache.m4: Likewise.
6545 * m4/gnulib-comp.m4: Likewise.
6546 * m4/gettext.m4: New file, from gnulib.
6547 * m4/glibc2.m4: Likewise.
6548 * m4/iconv.m4: Likewise.
6549 * m4/intdiv0.m4: Likewise.
6550 * m4/intl.m4: Likewise.
6551 * m4/intldir.m4: Likewise.
6552 * m4/intlmacosx.m4: Likewise.
6553 * m4/intmax.m4: Likewise.
6554 * m4/inttypes-pri.m4: Likewise.
6555 * m4/lcmessage.m4: Likewise.
6556 * m4/lib-ld.m4: Likewise.
6557 * m4/lib-link.m4: Likewise.
6558 * m4/lib-prefix.m4: Likewise.
6559 * m4/lock.m4: Likewise.
6560 * m4/nls.m4: Likewise.
6561 * m4/po.m4: Likewise.
6562 * m4/printf-posix.m4: Likewise.
6563 * m4/progtest.m4: Likewise.
6564 * m4/threadlib.m4: Likewise.
6565 * m4/uintmax_t.m4: Likewise.
6566 * m4/visibility.m4: Likewise.
6567 * po/Makefile.am: Remove.
6568 * po/Makefile.in.in: New file, from gettext.
6569 ($(DOMAIN).pot-update): Support POTFILES-shell.
6570 * po/Makevars: New file.
6571 * po/POTFILES-shell: Rename to ...
6572 * po/POTFILES-shell.in: ... this. Update.
6573 * po/POTFILES: Rename to ...
6574 * po/POTFILES.in: ... this. Update.
6575 * po/Rules-quot: New file, from gettext.
6576 * po/boldquot.sed: Likewise.
6577 * po/en@boldquot.header: Likewise.
6578 * po/en@quot.header: Likewise.
6579 * po/insert-header.sin: Likewise.
6580 * po/quot.sed: Likewise.
6581 * po/remove-potcdate.sin: Likewise.
6582
3e0fa5d0
VS
65832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
6586
ade9bd66
VS
65872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 * util/grub.d/20_linux_xen.in: Use submenus.
6590
fc55cc4c
VS
65912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 Support submenus.
6594
6595 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
6596 parameter submenu. All users updated.
6597 * grub-core/normal/main.c (free_menu): Rename to ...
6598 (grub_normal_free_menu): ... this. Made global.
6599 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
6600 if requested.
6601 * grub-core/normal/menu_entry.c (screen): New field submenu.
6602 (make_screen): Set submenu.
6603 (run): Open new context if requested.
6604 * include/grub/menu.h (grub_menu_entry): New field submenu.
6605 * include/grub/normal.h (grub_normal_free_menu): New proto.
6606
600cedf7
VS
66072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 Menu entries extractor.
6610
6611 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
6612 variants.
6613 (GRUB_MOD_INIT): Register new variants.
6614 (GRUB_MOD_FINI): Unregister new variants.
6615 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
6616 into grub_cmd_legacy_source.
6617 (grub_cmd_legacy_source): Implement extractor variants.
6618 (GRUB_MOD_INIT): Register new variants.
6619 (GRUB_MOD_FINI): Unregister new variants.
6620 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
6621 as an extractor.
6622 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
6623 search as an extractor.
6624 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
6625 test as an extractor.
6626 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
6627 as an extractor.
6628 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
6629 (grub_env_new_context): New function.
6630 (grub_env_context_open): Likewise.
6631 (grub_env_extractor_open): Likewise.
6632 (grub_env_extractor_close): Likewise.
6633 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6634 grub_extractor_level.
6635 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
6636 * include/grub/env.h (grub_env_extractor_open): New proto.
6637 (grub_env_extractor_close): Likewise.
6638 * include/grub/normal.h (grub_extractor_level): New external variable.
6639
7bda3a87
VS
66402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 Make cutmem accept a region specification.
6643 Suggested by: Samuel Thibault
6644
6645 * grub-core/mmap/mmap.c (parsemem): New function.
6646 (grub_cmd_cutmem): Handle new arguments.
6647
2ea57f88
VS
66482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 New command cutmem.
6651
6652 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
6653 (GRUB_MOD_INIT): Register new command.
6654 (GRUB_MOD_FINI): Unregister new command.
6655
74342e31
VS
66562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 Support some annoying BSD and Minix subpartitions.
6659
6660 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
6661 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
6662 Properly handle concatenation.
6663 * grub-core/kern/device.c (grub_device_iterate): Likewise.
6664 * grub-core/normal/completion.c (iterate_partition): Likewise.
6665 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
6666 contain partition. All users updated.
6667 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
6668 struct.
6669 (grub_openbsdlabel_partition_map): Likewise.
6670 (bsdlabel_partition_map_iterate): Rename to ..
6671 (iterate_real): ... this. New arguments sector, freebsd and pmap.
6672 (bsdlabel_partition_map_iterate): New function.
6673 (netopenbsdlabel_partition_map_iterate): Likewise.
6674 (netbsdlabel_partition_map_iterate): Likewise.
6675 (openbsdlabel_partition_map_iterate): Likewise.
6676 (GRUB_MOD_INIT): Register new partmaps.
6677 (GRUB_MOD_FINI): Unregister new partmaps.
6678 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
6679 (grub_partition_msdos_iterate): ... this. All users updated.
6680 Don't support embedding other than in a minix partition.
6681 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
6682 proto.
6683 * include/grub/partition.h (grub_partition): New field msdostype.
6684 * util/grub-install.in: Handle openbsd and netbsd types being in
6685 part_bsd module.
6686
1e8d555b
VS
66872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
6690
6691 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
6692 * grub-core/Makefile.core.def (mdraid): Renamed to ...
6693 (mdraid09): ... this.
6694 (mdraid1x): New module.
6695 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
6696 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
6697
899d8af4
VS
66982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
6701 vsprintf.
6702
40901acd
CW
67032010-09-20 Colin Watson <cjwatson@ubuntu.com>
6704
6705 * grub-core/commands/efi/lsefimmap.c: Correct header.
6706 * NEWS: Update.
6707
dfe3b247
CW
67082010-09-20 Colin Watson <cjwatson@ubuntu.com>
6709
6710 * util/grub-editenv.c (argp_parser): Don't pass translated strings
6711 as printf format strings; the translations might contain '%' which
6712 could cause a crash.
6713 (main): Likewise.
6714 * util/grub-fstest.c (argp_parser): Likewise.
6715 * util/grub-setup.c (argp_parser): Likewise.
6716 (main): Likewise.
6717
3286a4b4
VS
67182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 Use argp in grub-fstest.
6721
6722 * util/grub-fstest.c: Don't include getopt.h.
6723 Include argp.h.
6724 (root): New variable.
6725 (args_count): Likewise.
6726 (nparm): Likewise.
6727 (num_disks): Likewise.
6728 (images): Likewise.
6729 (cmd): Likewise.
6730 (debug_str): Likewise.
6731 (args): Likewise.
6732 (options): Transformed to argp.
6733 (usage): Removed.
6734 (main): Split argument parsing into ...
6735 (argp_parser): ... this. Changed to argp format.
6736 (argp): New variable.
6737 (main): Use argp_parse.
6738
3dccbe4b
TG
67392010-09-20 Tristan Gingold <gingold@free.fr>
67402010-09-20 Robert Millan <rmh.grub@aybabtu.com>
67412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * grub-core/commands/efi/lsefimmap.c: New file.
6744 * grub-core/Makefile.core.def (lsefimmap): New module.
6745 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
6746
38c259a7
VS
67472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 Pause the execution (10s max) if any errors are displayed so the user
6750 has a chance to see them.
6751
6752 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
6753 (grub_print_error): Increment grub_err_printed_errors.
6754 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
6755 execution if any errors were displayed.
6756 (show_menu): Remove old code for pause.
6757 * grub-core/normal/menu_entry.c (run): Likewise.
6758 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
6759 users updated.
6760 (grub_normal_get_char_counter): Likewise.
6761 * include/grub/err.h (grub_err_printed_errors): New external variable.
6762 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
6763
f218b09c
VS
67642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 Support multiboot VBE info.
6767
6768 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6769 Take VBE info into account.
6770 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
6771 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6772 Call fill_vbe_info when appropriate.
6773 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
6774 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
6775 as supported.
6776 (grub_multiboot_get_mbi_size): Take new tags into account.
6777 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
6778 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6779 Call fill_vbe_tag when appropriate.
6780 (grub_multiboot_make_mbi): Properly align tags.
6781 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
6782 function.
6783 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
6784 proto.
6785 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
6786
a9cc5438
VS
67872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 Suport manual terminal geometry specification.
6790
6791 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
6792 Save state in grub_ofconsole_terminfo_output.
6793 (grub_ofconsole_term): Use grub_terminfo_getwh.
6794 (grub_ofconsole_getwh): Removed.
6795 * grub-core/term/serial.c (grub_serial_getwh): Removed.
6796 (grub_serial_term): Use grub_terminfo_getwh.
6797 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
6798 (options): New struct.
6799 (OPTION_*): New enum.
6800 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
6801 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
6802 width and height.
6803 (grub_terminfo_getwh): New proto.
6804 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
6805
1a8fed20
VS
68062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 Handle legacy "terminal" command.
6809
6810 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
6811 and FLAG_TERMINAL.
6812 (legacy_commands): Add terminal and title.
6813 (grub_legacy_parse): Handle terminal. Simplify title handling.
6814
41e9c57d
VS
68152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
6818 parameters overflow.
6819
61c874c5
CW
68202010-09-20 Colin Watson <cjwatson@ubuntu.com>
6821
6822 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
6823 widthspec.h.
6824
6825 * docs/grub.texi (Shell-like scripting): Document `!'.
6826 (Network): Simplify using new i386-pc-pxe format. Mention
6827 grub-mknetdir.
6828
6829 * NEWS: Update.
6830
943682b4
CW
68312010-09-20 Colin Watson <cjwatson@ubuntu.com>
6832
6833 * Makefile.am (SUBDIRS): Restore "."; it's important to force
6834 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
6835 when needed.
6836
6d3d698d
CW
68372010-09-20 Colin Watson <cjwatson@ubuntu.com>
6838
6839 * grub-core/commands/efi/lsefisystab.c: Correct header.
6840 * grub-core/commands/efi/lssal.c: Likewise.
6841 * grub-core/commands/testload.c: Likewise.
6842
c982589f
CW
68432010-09-20 Colin Watson <cjwatson@ubuntu.com>
6844
6845 * util/grub-mkrescue.in: Add explicit root argument to --set to
6846 prevent the UUID being interpreted as an argument to --set (matches
6847 previous change to prepare_grub_to_access_device).
6848
a63c31b6
CW
68492010-09-20 Colin Watson <cjwatson@ubuntu.com>
6850
6851 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
6852 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
6853 the verbosity of later #ifs.
6854 (find_partition_start): Define this function on FreeBSD too.
6855 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
6856 function.
6857 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
6858 on FreeBSD.
6859
6439b8ee
YB
68602010-09-20 Yves Blusseau <blusseau@zetam.org>
6861
6862 * util/grub-editenv.c: Use argp instead of getopt.
6863
c5930ec8
YB
68642010-09-20 Yves Blusseau <blusseau@zetam.org>
6865
6866 * util/grub-setup.c: Use argp instead of getopt.
6867
15c69261
YB
68682010-09-20 Yves Blusseau <blusseau@zetam.org>
6869
6870 Use gnulib-tool to create gnulib source files.
6871
6872 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
6873 grub-core/gnulib directories
6874 * .bzignore: Add **/.deps and autogenerated gnulib files
6875 * configure.ac: Assign auxiliary directory to build-aux, add invocation
6876 of gnulib macros, add grub-core/gnulib/Makefile
6877 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
6878 include m4 directory to aclocal.
6879 * Makefile.util.def: Remove direct compilation of gnulib source files
6880 and use the new grub-core/gnulib/libgnu.a.
6881 * build-aux/config.rpath: move config.rpath from top directory to
6882 build-aux
6883 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
6884 in gnulib headers
6885 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
6886 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
6887 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
6888 header.
6889 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
6890 string.
6891
e511c9f5
YB
68922010-09-20 Yves Blusseau <blusseau@zetam.org>
6893
6894 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
6895 grub-core/genmod.sh and grub-core/gensyminfo.sh
6896
c2dede05
BC
68972010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
6898
6899 Add a test for echo command options.
6900
6901 * tests/grub_cmd_echo.in: New test.
6902 * Makefile.util.def: Rules for new test.
6903
c55f5018
SJ
69042010-09-20 Szymon Janc <szymon@janc.net.pl>
6905
6906 Remove crc.mod and move crc command to hashsum.mod.
6907 Remove lib/crc.c - users updated to use gcrypt implementation.
6908
6909 * grub-core/commands/crc.c: Removed.
6910 * grub-core/Makefile.core.def (crc): Module removed.
6911 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
6912 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
6913 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
6914 * grub-core/lib/crc.c: Removed.
6915 * include/grub/lib/crc.h: Removed.
6916 * Makefile.util.def (crc): Remove lib/crc.c
6917 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
6918 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
6919 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
6920 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
6921 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
6922 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
6923
e0337366
VS
69242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
6927
742f9232
VS
69282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 Split config.h for util and core.
6931
6932 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
6933 (ADDR32): Likewise.
6934 (DATA32): Likewise.
6935 (BSS_START_SYMBOL): Likewise.
6936 (END_SYMBOL): Likewise.
6937 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
6938 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
6939 * config.h.in: New file.
6940 * configure.ac: Use config-util.h as config define file.
6941 Rename MACHINE into GRUB_MACHINE. All users updated.
6942 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
6943 updated.
6944 (NESTED_FUNC_ATTR): Likewise.
6945 Substitue new variables.
6946 (COND_HAVE_ASM_USCORE): New conditional.
6947 * grub-core/Makefile.am (ASM_PREFIX): New variable.
6948 (kernel_syms.lst): Use ASM_PREFIX.
6949 * grub-core/kern/emu/console.c: Include config-util.h.
6950 * grub-core/kern/emu/misc.c: Likewise.
6951 * grub-core/kern/emu/mm.c: Likewise.
6952 * include/grub/emu/misc.h: Likewise.
6953 * include/grub/libgcc.h: Likewise.
6954
39feb0e8
VS
69552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
6958 constants usage.
6959 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
6960 Fix GRUB_TERM_KEY_* constants usage.
6961 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
6962
9af6dac3
VS
69632010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
6966 print pointer.
6967 * grub-core/bus/usb/uhci.c: Remove empty define.
6968 (grub_uhci_check_transfer): Add missing cast.
6969 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
6970 print pointer.
6971 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
6972 PRIuGRUB_SIZE.
6973 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
6974
d6d94820
VS
69752010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * grub-core/Makefile.core.def (legacycfg): Add
6978 lib/i386/pc/vesa_modes_table.c on emu.
6979
3572f2b6
BC
69802010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
6981
6982 Reduce number of temporary files generated by build system.
6983
6984 * grub-core/gencmdlist.sh: Removed.
6985 * grub-core/genfslist.sh: Removed.
6986 * grub-core/genhandlerlist.sh: Removed.
6987 * grub-core/genmodsrc.sh: Removed.
6988 * grub-core/genpartmaplist.sh: Removed.
6989 * grub-core/genparttoollist.sh: Removed.
6990 * grub-core/gentermiinallist.sh: Removed.
6991 * grub-core/genvideolist.sh: Removed.
6992
6993 * grub-core/genmod.sh.in: New file.
6994 * grub-core/gensyminfo.sh.in: New file.
6995
6996 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
6997 * conf/Makefile.extra-dist: Update with new files.
6998 * gentpl.py: Remove rules related to unnecessary temporary files.
6999 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
7000 and und-* files.
7001 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
7002 genmod.sh scripts.
7003 * grub-core/bus/usb/uhci.c: Remove empty #define.
7004 * grub-core/genmoddep.awk: Updated with new syminfo format.
7005 * util/bash-completion.d/Makefile.am: Add config.log to
7006 CLEANFILES.
7007
c836b030
YB
70082010-09-19 Yves Blusseau <blusseau@zetam.org>
7009
7010 * Makefile.util.def: Add forgotten $(LIBINTL) library.
7011
2f4e8053
BC
70122010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7013
7014 * util/grub-mkconfig.in: Check the config script for syntax errors
7015 before saving.
7016
75831c34
CW
70172010-09-19 Colin Watson <cjwatson@ubuntu.com>
70182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * Makefile.util.def (grub-install): Use util/grub-install.in on all
7021 platforms.
7022 * util/grub-install.in: Add EFI and IEEE1275 support.
7023 * util/i386/efi/grub-install.in: Removed.
7024 * util/ieee1275/grub-install.in: Likewise.
7025
eaf41b25
VS
70262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
7029 (grub_cmd_cmosclean): Likewise.
7030 (GRUB_MOD_INIT): Register command cmosclean.
7031 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
7032 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
7033
1a9130dd
CPE
70342010-09-18 Carles Pina i Estany <carles@pina.cat>
70352010-09-18 Aleš Nesrsta <starous@volny.cz>
70362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 Add keyboard layouts support.
7039
7040 * Makefile.util.def (grub-mklayout): New file.
7041 (grub-kbdcomp): New script.
7042 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
7043 Add keyboard_layouts.h.
7044 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
7045 commands/boot.c on yeeloong.
7046 (keylayouts): New module.
7047 * grub-core/bus/usb/ohci.c
7048 * grub-core/bus/usb/uhci.c
7049 * grub-core/bus/usb/usbhub.c (rescan): New variable.
7050 (grub_usb_add_hub): Poll interrupt pipe for device handling.
7051 (attach_root_port): Likewise.
7052 (poll_nonroot_hub): Likewise.
7053 (grub_usb_poll_devices): Likewise.
7054 (detach_device): Close transfer.
7055 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
7056 function.
7057 (grub_usb_bulk_setup_readwrite): Likewise.
7058 (grub_usb_bulk_finish_readwrite): Likewise.
7059 * grub-core/commands/keylayouts.c: New file.
7060 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
7061 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
7062 aliases.
7063 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
7064 support scancode 2.
7065 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
7066 * include/grub/keyboard_layouts.h: New file.
7067 * util/grub-mklayout.c: New file.
7068 * util/grub-kbdcomp.in: Likewise.
7069
a1d84a5e
VS
70702010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 Unify memory types.
7073
7074 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
7075 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
7076 types.
7077 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
7078 (grub_upper_mem): Likewise.
7079 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
7080 * include/grub/memory.h (grub_memory_type_t): New enum.
7081 All users updated.
7082
9696382e
VS
70832010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 * grub-core/Makefile.core.def (lsapm): New module.
7086 * grub-core/commands/i386/pc/lsapm.c: New file.
7087 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
7088 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
7089 Likewise.
7090 * include/grub/i386/pc/apm.h: New file.
7091 * include/multiboot.h (multiboot_apm_info): New struct.
7092
70932010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 GRUB-legacy configuration file support.
7096
7097 * Makefile.util.def (grub-menulst2cfg): New util.
7098 * docs/man/grub-menulst2cfg.h2m: New file.
7099 * grub-core/Makefile.core.def (legacycfg): New module.
7100 * grub-core/commands/legacycfg.c: New file.
7101 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
7102 (grub_normal_add_menu_entry): ... this.
7103 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
7104 (grub_normal_set_password): ...this.
7105 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
7106 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
7107 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
7108 * grub-core/lib/legacy_parse.c: New file.
7109 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
7110 * include/grub/i386/pc/vesa_modes_table.h: New file.
7111 * include/grub/legacy_parse.h: Likewise.
7112 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
7113 * util/grub-menulst2cfg.c: New file.
7114
bf8d1338
CW
71152010-09-17 Colin Watson <cjwatson@ubuntu.com>
7116
7117 * grub-core/kern/emu/hostdisk.c
7118 (convert_system_partition_to_system_disk): Initialise node.
7119
9c0bad2e
CW
71202010-09-17 Colin Watson <cjwatson@ubuntu.com>
7121
7122 * grub-core/kern/emu/hostdisk.c
7123 (convert_system_partition_to_system_disk): Fix devmapper memory pool
7124 leak.
7125 Reported and based on patch by: Modestas Vainius.
7126
a939d135
CW
71272010-09-17 Colin Watson <cjwatson@ubuntu.com>
7128
7129 Fix DM-RAID probing with recent versions of device-mapper udev
7130 rules.
7131
7132 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
7133 canonicalise device paths under /dev/mapper/.
7134 (convert_system_partition_to_system_disk): Compare the
7135 uncanonicalised path to /dev/mapper/ rather than the canonicalised
7136 path, since device nodes under /dev/mapper/ are often symlinks.
7137
0f7ee3c9
YB
71382010-09-17 Yves Blusseau <blusseau@zetam.org>
7139
7140 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
7141
10854d0d
YB
71422010-09-16 Yves Blusseau <blusseau@zetam.org>
7143
7144 * configure.ac: Avoid some annoying error messages if freetype-config
7145 program is not found.
7146
108538d8
CW
71472010-09-16 Colin Watson <cjwatson@ubuntu.com>
7148
7149 Support RAID on virtio devices, and others.
7150
7151 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
7152 Rename to ...
7153 [__MINGW32__] (grub_find_device): ... this.
7154 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
7155 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
7156 reasonable default if dir is NULL.
7157 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
7158 ...
7159 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
7160 (grub_guess_root_device): Update callers.
7161 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
7162
7163 * util/raid.c (grub_util_getdiskname): Remove.
7164 (grub_util_raid_getmembers): Use grub_find_device rather than
7165 grub_util_getdiskname.
7166
e5bfc130
CW
71672010-09-16 Colin Watson <cjwatson@ubuntu.com>
7168
7169 * docs/grub.texi (serial): Remove obsolete comment about GRUB
7170 needing to be compiled with serial support.
7171 (ls): Indicate that multiple files are accepted.
7172 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
7173 indicate that multiple files are accepted.
7174
be458ae2
CW
71752010-09-16 Colin Watson <cjwatson@ubuntu.com>
7176
7177 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
7178 libgrub_a_init.c, and util/bash-completion.d/grub.
7179
cb731b5e
VS
71802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * util/grub-setup.c (setup): Fix incorrect container semantics.
7183
35139e8a
VS
71842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
7187 misusage.
7188 Reported by: J. Nick Terry
7189
e50fca4a
VS
71902010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 Move embedding routines to partmap sources files.
7193
7194 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
7195 [GRUB_UTIL]: New variable.
7196 (gpt_partition_map_iterate): Set part.parent.
7197 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
7198 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
7199 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
7200 New function.
7201 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
7202 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
7203 (grub_partition_map) [GRUB_UTIL]: New field embed.
7204 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
7205 (setup): Use ->embed.
7206
f00478b7
VS
72072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
7210 function.
7211 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
7212 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
7213
2b94e3ff
YB
72142010-09-15 Yves Blusseau <blusseau@zetam.org>
7215
7216 Add function to get completions from usage.
7217
7218 * util/bash-completion.d/grub-completion.bash.in: Add function to get
7219 completions from usage. Use LC_ALL=C to get options properly.
7220
2e04a006
VS
72212010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/gnulib/basename-lgpl.c: Imported.
7224 * grub-core/gnulib/basename.c: Likewise.
7225 * grub-core/gnulib/dirname-lgpl.c: Likewise.
7226 * grub-core/gnulib/dirname.c: Likewise.
7227 * grub-core/gnulib/dirname.h: Likewise.
7228 * grub-core/gnulib/stripslash.c: Likewise.
7229
5dcdf93a
VS
72302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * grub-core/gnulib/error.c: Resynced.
7233 * grub-core/gnulib/getopt.c: Likewise.
7234 * grub-core/gnulib/getopt_int.h: Likewise.
7235 * grub-core/gnulib/regex.h: Likewise.
7236 * grub-core/gnulib/regex_internal.c: Likewise.
7237 * grub-core/gnulib/regex_internal.h: Likewise.
7238
014f47b7
SJ
72392010-09-15 Szymon Janc <szymon@janc.net.pl>
7240
7241 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
7242 CRC calculations and validity checks.
7243 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
7244 calculations.
7245
dd521a4a
SJ
72462010-09-15 Szymon Janc <szymon@janc.net.pl>
7247
7248 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
7249
79c4eeb9
VS
72502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 Fix incorrect echo options handling.
7253 Reported by: Yves Blusseau.
7254
7255 * include/grub/command.h (grub_command_flags_t): New flags
7256 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
7257 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
7258 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
7259
ed80f7d5
VS
72602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
7263 users updated.
7264 (GRUB_COMMAND_FLAG_MENU): Likewise.
7265 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7266 (GRUB_COMMAND_FLAG_TITLE): Removed.
7267 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7268 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
7269 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
7270 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
7271 (grub_command_flags_t): New enum. All users updated.
7272
5fe7620a
SG
72732010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
7274
7275 Fix solaris compilation.
7276
7277 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
7278 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
7279 (grub-emu-list): Likewise.
7280
545b752f
VS
72812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 Remove deprecated root command.
7284
7285 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
7286 updated.
7287
6c1a338c
VS
72882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * util/i386/pc/grub-setup.c: Merge this ...
7291 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
7292 * util/grub-setup.c: ... into this.
7293 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
7294 New struct.
7295
72962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
7299 possible.
7300
d2ea4551
VS
73012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
7304 allocate p.
7305
3c3b5040
VS
73062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7309 explicit root argument to set to prevent UUID to be interpreted as
7310 argument to set.
7311
b71c3fae
VS
73122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
7315
275433e6
VS
73162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 Don't export grub_gate_a20.
7319
7320 * grub-core/kern/i386/pc/init.c: Remove leftovers.
7321 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
7322 to ...
7323 (grub_gate_a20): ... this. All users updated.
7324 * include/grub/i386/pc/init.h: Removed. All users updated.
7325
a5dbb1f1
VS
73262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 Create euro.pf2 which supports most European languages.
7329
7330 * Makefile.am (grubdata_DATA): Add euro.pf2.
7331 (euro.pf2): New target.
7332 (CLEANFILES): Add euro.pf2.
7333
62a747cb
VS
73342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * configure.ac: Disable emu-usb by default to prevent inadvertent
7337 device takeover.
7338
608e43b1
VS
73392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 Disable usbserial on grub-emu since our libusb code isn't good enough
7342 yet.
7343
7344 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
7345 (usbserial_pl2303): Likewise.
7346 (usbserial_ftdi): Likewise.
7347
94564f81
VS
73482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * include/grub/disk.h (grub_disk): Remove has_partitions.
7351 All users updated.
7352 * disk/loopback.c (grub_loopback): Remove has_partitions.
7353 All users updated.
7354 (options): Remove partitions. All users updated.
7355 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
7356 * util/i386/pc/grub-setup.c (setup): copy partition table only when
7357 actual partition table is found.
7358
3352800b
VS
73592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 Remove readability checks (too many false negatives).
7362
7363 * util/grub-install.in: Remove readability checks.
7364 * util/grub-mkconfig.in: Likewise.
7365 * util/grub.d/10_hurd.in: Likewise.
7366 * util/grub.d/10_kfreebsd.in: Likewise.
7367 * util/grub.d/10_linux.in: Likewise.
7368 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
7369 way.
7370
2419f17a
VS
73712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 Enable acpi shutdown on all ACPI platforms.
7374
7375 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
7376 on coreboo, multiboot and EFI.
7377 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
7378 (grub_acpi_halt): Likewise.
7379 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
7380 (grub_cmd_halt): Don't call grub_acpi_halt directly.
7381 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
7382 * grub-core/lib/i386/halt.c (grub_halt)
7383 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
7384
0575c7c3
VS
73852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
7388 context.
7389
54ac3cd1
VS
73902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/video/efi_gop.c: Fix over-80-chars line.
7393 * grub-core/video/efi_uga.c: Likewise.
7394
b2a30ac5
VS
73952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 Filter devaliases and never open same device twice.
7398
7399 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
7400 (last_ihandle): Likewise.
7401 (ofdisk_hash_ent): New member shortest.
7402 (ofdisk_hash_add): Add canonical path too.
7403 (scan): New function.
7404 (grub_ofdisk_iterate): Iterate over hashed entries.
7405 (compute_dev_path): Don't add :0.
7406 (grub_ofdisk_open): Don't really open the disk.
7407 (grub_ofdisk_close): Avoid closing unrelated disk.
7408 (grub_ofdisk_read): Implement reopen logic.
7409 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
7410 New function.
7411 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
7412 New proto.
7413
fb53b340
VS
74142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 Fix sparc64.
7417
7418 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
7419 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
7420 right address. Add sparc64_ieee1275_ldflags.
7421 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
7422 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
7423 to grub_host_to_target_addr
7424 (load_image): Likewise.
7425
f452b040
VS
74262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * grub-core/normal/completion.c (complete_file): Handle device
7429 containing slash.
7430 Fix based on patch by Doug Nazar.
7431
9b5b2541
VS
74322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 grub-mknetdir script.
7435
7436 * Makefile.util.def (grub-mknetdir): New module.
7437 * tests/util/grub-shell.in: Support boot=net
7438 * util/grub-mknetdir.in: New file.
7439
9d2be652
VS
74402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 videoinfo on non-vbe.
7443
7444 * grub-core/Makefile.core.def (vbeinfo): Removed.
7445 (vbetest): Removed.
7446 (videoinfo): New module.
7447 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
7448 * grub-core/commands/i386/pc/vbetest.c: Removed.
7449 * grub-core/commands/videoinfo.c: New file.
7450 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
7451 specification.
7452 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
7453 as vbetest.
7454 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
7455 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
7456 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
7457 mode_number. New parameter mode. All users updated.
7458 (grub_video_gop_iterate): New function.
7459 (grub_video_efi_gop): New member iterate.
7460 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
7461 (grub_vbe_set_video_mode): Remove setting useless fields.
7462 (vbe2videoinfo): New function.
7463 (grub_video_vbe_iterate): Likewise.
7464 (grub_video_vbe_setup): Use vbe2videoinfo.
7465 (grub_video_vbe_print_adapter_specific_info): New function.
7466 (grub_video_vbe_adapter): New fields iterate and
7467 print_adapter_specific_info.
7468 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
7469 All users updated.
7470 (grub_video_mode_info): New field mode_number.
7471 (grub_video_adapter): New fields iterate and
7472 print_adapter_specific_info.
7473
179503f5
TG
74742010-09-13 Tristan Gingold <gingold@free.fr>
74752010-09-13 Robert Millan <rmh.grub@aybabtu.com>
74762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/commands/efi/lsefisystab.c: New file.
7479 * grub-core/commands/efi/lssal.c: Likewise.
7480 * grub-core/Makefile.core.def (lsacpi): New module.
7481 (lsefisystab): Likewise.
7482 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
7483 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
7484 (grub_efi_sal_system_table): New struct.
7485 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
7486 (grub_efi_sal_system_table_memory_descriptor): Likewise.
7487 (grub_efi_sal_system_table_platform_features): Likewise.
7488 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
7489 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
7490 (grub_efi_sal_system_table_ap_wakeup): Likewise.
7491 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
7492
cf9827de
VS
74932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 Support explicit user claim that a device is BIOS-visible.
7496
7497 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
7498 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
7499 * grub-core/kern/emu/hostdisk.c
7500 (convert_system_partition_to_system_disk): Support mdX.
7501 (find_system_device): New parameter add. All users updated.
7502 (grub_util_biosdisk_is_present): New function.
7503 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
7504 proto.
7505
53f0eb1f
VS
75062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 Search hints support.
7509
7510 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
7511 All users updated.
7512
b23ffd70
YB
75132010-09-13 Yves Blusseau <blusseau@zetam.org>
7514
7515 Bash completion script for util commands
7516
7517 * Makefile.am: Add util/bash-completion.d directory
7518 * configure.ac: Likewise.
7519 * util/bash-completion.d/Makefile.am: New file.
7520 * util/bash-completion.d/grub-completion.bash.in: Likewise.
7521
d547dc28
VS
75222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
7525 (print_backlog): set backlog_ucs4 and backlog_glyphs.
7526 Reported by: Yves Blusseau.
7527
2fc8ccb9
VS
75282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
7531 partition size and offset.
7532
d8a84076
VS
75332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
7536
84fb3b3d
VS
75372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
7540
768ec2e2
VS
75412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
7544 (grub_xvasprintf): Likewise.
7545
4870900f
VS
75462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
7549
faca6bec
VS
75502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
7553 args ending with NULL.
7554
75552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
7556
7557 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
7558 pointer.
7559
3c70f225
SJ
75602010-09-11 Szymon Janc <szymon@janc.net.pl>
7561
7562 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
7563
4df7996d
VS
75642010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 Shutdown using ACPI.
7567
7568 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
7569 * grub-core/commands/acpihalt.c: New file.
7570 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
7571 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
7572 (grub_acpi_halt): New proto.
7573 (GRUB_ACPI_SLP_EN): New const.
7574 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
7575 (GRUB_ACPI_OPCODE_*): New enum.
7576 (GRUB_ACPI_EXTOPCODE_*): Likewise.
7577
126b4c32
TG
75782010-09-11 Tristan Gingold <gingold@free.fr>
75792010-09-11 Robert Millan <rmh.grub@aybabtu.com>
75802010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * commands/lsacpi.c: New file.
7583 * grub-core/Makefile.core.def (lsacpi): New module.
7584 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
7585 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
7586 (grub_acpi_madt_entry_header): New struct.
7587 (grub_acpi_madt): Likewise.
7588 (grub_acpi_madt_entry_interrupt_override): Likewise.
7589 (grub_acpi_madt_entry_sapic): Likewise.
7590 (grub_acpi_madt_entry_lsapic): Likewise.
7591 (grub_acpi_madt_entry_platform_int_source): Likewise.
7592 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
7593 (PRIuGRUB_UINT32_T): Likewise.
7594 (PRIxGRUB_UINT64_T): Likewise.
7595
1aa4fe88
VS
75962010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 Implement loading palette on ieee1275_fb.
7599
7600 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
7601 (have_setcolors): Likewise.
7602 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
7603 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
7604 (grub_video_ieee1275_set_palette): Implement.
7605
25761e13
VS
76062010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
76072010-09-11 Colin Watson <cjwatson@ubuntu.com>
7608
7609 * util/grub-install.in (grub_partition): New variable.
7610 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
7611 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
7612 Fixes a bug reported by Yves Blusseau.
7613
050abaea
VS
76142010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 Fix emu on mipsel.
7617
7618 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
7619 =grub_cpu_flush_cache on all mips and not only yeeloong.
7620 * configure.ac (COND_mips): New conditional.
7621 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
7622 platforms.
7623 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
7624 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
7625 [GRUB_LINKER_HAVE_INIT]: New function.
7626 (grub_emu_post_init): Likewise.
7627 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
7628 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
7629 * include/grub/cache.h (_mips): Include mips/cache.h.
7630 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
7631 LVM and RAID prototypes.
7632 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
7633 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
7634 function.
7635
5ed7d816
CW
76362010-09-10 Colin Watson <cjwatson@ubuntu.com>
7637
7638 * util/grub-install.in: Don't try to verify core.img until after
7639 running grub-mkimage to create it.
7640
90367e04
RM
76412010-09-10 Robert Millan <rmh@gnu.org>
7642
7643 * util/grub.d/10_hurd.in: Add misc readability checks.
7644 * util/grub.d/10_kfreebsd.in: Likewise.
7645 * util/grub.d/10_linux.in: Likewise.
7646
c452fa66
CW
76472010-09-10 Colin Watson <cjwatson@ubuntu.com>
7648
7649 * util/grub-install.in: ${imgext} won't be defined here until the
7650 install branch is merged. For the meantime, only verify core.img on
7651 i386-pc and sparc64-ieee1275 platforms.
7652
c38fe9f4
RM
76532010-09-10 Robert Millan <rmh@gnu.org>
7654
7655 Solaris support in grub_find_zpool_from_dir(). Thanks
7656 Seth Goldberg for referring to getextmntent() facility.
7657
7658 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
7659 `sys/mkdev.h'.
7660 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
7661 `<sys/mnttab.h>'.
7662 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
7663 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
7664 method for finding zpool name.
7665
905f7773
CW
76662010-09-10 Colin Watson <cjwatson@ubuntu.com>
7667
7668 grub-fstest needs the host and hostfs modules while other utilities
7669 actively require those modules to be absent, so grub-fstest needs
7670 its own initialisation and finalisation code.
7671
7672 * Makefile.am (grub_fstest.pp): New target.
7673 (grub_fstest_init.lst): Likewise.
7674 (grub_fstest_init.c): Likewise.
7675 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
7676
fb90b546
RM
76772010-09-10 Robert Millan <rmh@gnu.org>
7678
7679 * configure.ac: Check for `struct statfs.f_fstypename' and
7680 `struct statfs.f_mntfromname'.
7681
7682 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
7683 kFreeBSD-specific code.
7684
66d4bea5
RM
76852010-09-10 Robert Millan <rmh@gnu.org>
7686
7687 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
7688 on ZFS. Now non-main filesystems are supported as / too.
7689
b6a690ee
CW
76902010-09-09 Colin Watson <cjwatson@ubuntu.com>
7691
7692 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
7693 and grub-core/disk/host.c to ...
7694 (grub-fstest): ... here. Having the host disk implementation
7695 present confuses grub-probe and other utility programs.
7696
7697 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
7698 when writing to a file, not when writing to stdout.
7699
8901b00c 77002010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
7701
7702 * tests/partmap_test.in: New test for partitions.
7703 * Makefile.util.def: Rules for new test.
7704
7bf45fdd
RM
77052010-09-09 Robert Millan <rmh@gnu.org>
7706
7707 * util/grub-probe.c (probe): Fix a pair of unhandled error
7708 conditions.
7709
4dfbc574
RM
77102010-09-09 Robert Millan <rmh@gnu.org>
7711
7712 Basic Btrfs support (detection and UUID).
7713
7714 * grub-core/fs/btrfs.c: New file.
7715 * Makefile.util.def (library): Register btrfs.c.
7716 * grub-core/Makefile.core.def: Likewise.
7717
6b8e78ae
RM
77182010-09-08 Robert Millan <rmh@gnu.org>
7719
7720 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
7721 with (optional) parameters to specify device and relative path.
7722 * util/grub-install.in: Use is_path_readable_by_grub() to
7723 verify readability of a few critical files.
7724 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
7725 verify readability of grub.cfg.new.
7726
27f21a8b
VS
77272010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 Split minix.mod into minix.mod and minix2.mod.
7730
7731 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
7732 * grub-core/Makefile.core.def (minix2): New module.
7733 * grub-core/fs/minix.c: Use definitions instead of runtime version
7734 checking.
7735 * grub-core/fs/minix2.c: New file.
7736
c0e53ea5
YB
77372010-09-08 Yves Blusseau <blusseau@zetam.org>
7738
7739 Add new --boot-directory option to replace --root-directory
7740
7741 * util/grub-install.in: Add new --boot-directory option
7742 * util/grub-reboot.in: Likewise.
7743 * util/grub-set-default.in: Likewise.
7744
b9fe6ea2
YB
77452010-09-08 Yves Blusseau <blusseau@zetam.org>
7746
7747 * util/grub-mkconfig.in: Use new variable.
7748
d87aedff
YB
77492010-09-08 Yves Blusseau <blusseau@zetam.org>
7750
7751 * configure.ac: Define some useful variables.
7752
e55e8495
VS
77532010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7756 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
7757 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
7758 Use terminfo and don't use cursor-on/cursor-off unless it's known
7759 to work.
7760 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
7761 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
7762
6fa6d675
CW
77632010-09-08 Colin Watson <cjwatson@ubuntu.com>
7764
7765 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
7766 starts with "(,", fill the drive containing the loaded image in
7767 between those two characters, but expect that a full partition
7768 specification including partition map names will follow.
7769
92f2aef0
RM
77702010-09-08 Robert Millan <rmh@gnu.org>
7771
7772 * configure.ac: Remove `--enable-grub-fstest' option.
7773 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
7774
7775 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
7776 `grub-fstest' instead of `grub-probe' for readability verification.
7777 * util/grub-probe.c (probe): Remove readability verification kludge.
7778
99fd620d
RM
77792010-09-08 Robert Millan <rmh@gnu.org>
7780
7781 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
7782 initializing `GRUB_FS'.
7783
058e30ac 77842010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
7785
7786 Not command (!) support to GRUB script.
7787
7788 * tests/grub_script_not.in: New test.
7789 * Makefile.util.def: Rules for new test.
7790
7791 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
7792 ! command as a special case.
7793 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
7794
b61d05ed 77952010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7796
058e30ac 7797 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
7798 grub_free.
b61d05ed 7799
4d69c786 78002010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7801
7802 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
7803
aa3119c4 78042010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7805
7806 * docs/grub.texi (Shell-like scripting): Documentation for break,
7807 continue, shift and return commands.
7808
db0f7e3d
VS
78092010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 Rename CD-ROM to cd on BIOS.
7812
7813 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
7814 "cd".
7815 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
7816
88b87c93
VS
78172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
7820 * util/grub-probe.c (main): Likewise.
7821 * util/i386/pc/grub-setup.c (main): Likewise.
7822 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7823 Reported and debugged by: alexxy
7824
294f324d
VS
78252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
7828 diagnostic info.
7829
d7ee3441
JS
78302010-09-05 Jo Shields <directhex@apebox.org>
7831
7832 * util/grub.d/30_os-prober.in: Add missing classes.
7833
d7e06c1f
VS
78342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * docs/grub.texi (Theme file format): Document new position format.
7837
fc157e53
VS
78382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
7841 a table. Use @code instead of @verbatim.
7842
506e9a1c
CB
78432010-09-05 Colin D Bennett <colin@gibibit.com>
7844
7845 Gfxmenu documentation.
7846
7847 * docs/grub.texi (Theme file format): New chapter.
7848
f0aff67c
SJ
78492010-09-05 Szymon Janc <szymon@janc.net.pl>
7850
7851 * grub-core/Makefile.core.def (xzio): New module.
7852 * grub-core/io/xzio.c: New file.
7853 * grub-core/lib/xzembed/xz.h: New file (from xembed).
7854 * grub-core/lib/xzembed/xz_config.h: Likewise.
7855 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
7856 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
7857 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
7858 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
7859 * grub-core/lib/xzembed/xz_private.h: Likewise.
7860 * grub-core/lib/xzembed/xz_stream.h: Likewise.
7861 * include/grub/file.h (grub_file_filter_id): New compression filter
7862 GRUB_FILE_FILTER_XZIO.
7863
82a85062
VS
78642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
7867 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
7868 size.
7869
3579415d
VS
78702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
7873 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
7874
5124ae6d
VS
78752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7876
7877 Uncompressed checksum support.
7878
7879 * grub-core/commands/hashsum.c (options): Add option --uncompress.
7880 (check_list): New parameter uncompress.
7881 (grub_cmd_hashsum): Handle --uncompress.
7882
9aadb3d1
VS
78832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 Reintroduce testload.
7886
7887 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
7888 from here ...
7889 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
7890 (GRUB_MOD_INIT): New function.
7891 (GRUB_MOD_FINI): Likewise.
7892 * grub-core/Makefile.core.def (testload): New module.
7893
a17792c3
SJ
78942010-09-05 Szymon Janc <szymon@janc.net.pl>
7895
7896 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
7897 (uint8_t): New type.
7898 (uint16_t): Likewise.
7899 (uint32_t): Likewise.
7900 (uint64_t): Likewise.
7901
b81e40a3
SJ
79022010-09-05 Szymon Janc <szymon@janc.net.pl>
7903
7904 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
7905
fc2ef117
VS
79062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
7909 Made static.
7910 (grub_gzfile_open): Removed. All users updated.
7911 (GRUB_MOD_INIT): New function.
7912 (GRUB_MOD_FINI): Likewise.
7913 * grub-core/kern/file.c (grub_file_filters_all): New variable.
7914 (grub_file_filters_enabled): Likewise.
7915 (grub_file_open): Handle filters.
7916 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
7917 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
7918 * include/grub/file.h (grub_file_filter_id_t): New type.
7919 (grub_file_filter_t): Likewise.
7920 (grub_file_filters_all): New extern variable.
7921 (grub_file_filters_enabled): Likewise.
7922 (grub_file_filter_register): New inline function.
7923 (grub_file_filter_unregister): Likewise.
7924 (grub_file_filter_disable): Likewise.
7925 (grub_file_filter_disable_compression): Likewise.
7926 * include/grub/gzio.h: Removed.
7927
35ee15e0
BC
79282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7929
7930 Filename expansion support for wildcards in GRUB script.
7931
7932 * tests/grub_script_expansion.in: New test.
7933 * Makefile.util.def: Rule for new test.
7934
7935 * grub-core/commands/wildcard.c: New file, implements filename
7936 expansion support for GRUB script.
7937 * grub-core/Makefile.core.def: Rule update for regexp.mod.
7938 * grub-core/script/argv.c: Cosmetic changes.
7939 * grub-core/script/execute.c (grub_script_arglist_to_argv):
7940 Refactored to perform wildcard expansion on arguments.
7941 * include/grub/script_sh.h (grub_script_wildcard_translator): New
7942 struct.
7943
7944 * tests/util/grub-shell.in: Fix quoting for read input.
7945
5f0c4aca
BC
79462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7947
7948 Support for updating environment variables with matched substrings
7949 of regexp.
7950
7951 * tests/grub_cmd_regexp.in: New test.
7952 * Makefile.util.def: Rule for new test.
7953
7954 * grub-core/commands/regexp.c: New option -s to update environment
7955 variables with regexp matches.
7956
3759a35f
SJ
79572010-09-04 Szymon Janc <szymon@janc.net.pl>
7958
7959 * include/grub/file.h (grub_file): New member not_easly_seekable.
7960 (grub_file_seekable): New inline function.
7961 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
7962 easily seekable.
7963 (grub_gzio_open): Set not_easly_seekable.
7964 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
7965 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
7966
ed8c6dec
BC
79672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7968
7969 Support for options to appear multiple times on cmdline.
7970
7971 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
7972 * grub-core/commands/extcmd.c: Support for repeatable option.
7973 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
7974 repeatable option support.
7975
7976 Refactor menuentry into a regular command.
7977
7978 * grub-core/commands/menuentry.c: New file, menuentry command
7979 implementation.
7980 * grub-core/Makefile.core.def: Rule update for normal.mod.
7981 * grub-core/normal/main.c: Moved menuentry creation to
7982 grub-core/commands/menuentry.c.
7983 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
7984 (grub_menu_execute_entry_real): Removed.
7985 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
7986 function.
7987 (grub_script_execute_menuentry): Removed.
7988 * grub-core/script/parser.y (menuentry): Removed.
7989 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
7990 * grub-core/script/yylex.l (menuentry): Removed.
7991 * include/grub/menu.h (grub_menu_init): New prototype.
7992 (grub_menu_fini): New prototype.
7993 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
7994 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
7995 (grub_script_execute_sourcecode): New prototype.
7996
dacd0cf0
BC
79972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7998
7999 "return" command for GRUB script functions.
8000
8001 * tests/grub_script_return.in: New test.
8002 * Makefile.util.def: Rules for new test.
8003
8004 * grub-core/script/execute.c (grub_script_return): New function.
8005 * grub-core/script/main.c: Register/unregister return commaond.
8006 * include/grub/script_sh.h (grub_script_return): New prototype.
8007
52e72f9d
BC
80082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8009
8010 "setparams" command to update positional parameters.
8011
8012 * tests/grub_script_setparams.in: New test.
8013 * Makefile.util.def: Rules for new test.
8014
8015 * grub-core/script/argv.c (grub_script_argv_make): New function.
8016 * grub-core/script/execute.c (replace_scope): New function.
8017 (grub_script_setparams): New function.
8018 * grub-core/script/lexer.c: Remove unused variables.
8019 * grub-core/script/main.c: Register/unregister setparams command.
8020 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
8021 (grub_script_setparams): New prototype.
8022
25b60c91
BC
80232010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8024
8025 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
8026 grub_free order.
8027
37e7bf68
BC
80282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8029
8030 Support for passing block of commands as an argument to extcmds.
8031
8032 * Makefile.util.def: Rules for new test.
8033 * tests/grub_script_blockarg.in: New test.
8034 * grub-core/tests/test_blockarg.c: New file, block argument
8035 command used in the test.
8036
8037 * include/grub/extcmd.h (grub_extcmd_context): New struct.
8038 (grub_register_extcmd_prio): New function prototype.
8039 (grub_extcmd_dispatcher): New function prototype.
8040 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
8041 type.
8042 * include/grub/script_sh.h (struct grub_script): New members
8043 `children', `next_siblings' and `refcnt' for block arguments and
8044 reference counting.
8045 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
8046 (grub_script_arg): New member `script' for block argument.
8047 (grub_script_argv): New member `script' for block argument.
8048 (grub_parser_param): New member `scripts' for block argument.
8049 (grub_script_mem_free): New extern function prototype.
8050 (grub_script_ref): New function prototype.
8051 (grub_script_unref): New function prototype.
8052
8053 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
8054 extcmd form to support block arguments.
8055 * grub-core/script/argv.c: Block arguments support.
8056 * grub-core/script/execute.c: Likewise.
8057 * grub-core/script/lexer.c: Likewise.
8058 * grub-core/script/main.c: Likewise.
8059 * grub-core/script/script.c: Likewise.
8060 * grub-core/script/parser.y: Likewise. New `block' and `block0'
8061 non-terminals.
8062
8063 * grub-core/commands/acpi.c: Update extcmd implementations with
8064 grub_extcmd_context_t.
8065 * grub-core/commands/cat.c: Likewise.
8066 * grub-core/commands/echo.c: Likewise.
8067 * grub-core/commands/extcmd.c: Likewise.
8068 * grub-core/commands/hashsum.c: Likewise.
8069 * grub-core/commands/hdparm.c: Likewise.
8070 * grub-core/commands/help.c: Likewise.
8071 * grub-core/commands/hexdump.c: Likewise.
8072 * grub-core/commands/i386/cpuid.c: Likewise.
8073 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8074 * grub-core/commands/i386/pc/halt.c: Likewise.
8075 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8076 * grub-core/commands/iorw.c: Likewise.
8077 * grub-core/commands/keystatus.c: Likewise.
8078 * grub-core/commands/loadenv.c: Likewise.
8079 * grub-core/commands/ls.c: Likewise.
8080 * grub-core/commands/lspci.c: Likewise.
8081 * grub-core/commands/memrw.c: Likewise.
8082 * grub-core/commands/probe.c: Likewise.
8083 * grub-core/commands/search_wrap.c: Likewise.
8084 * grub-core/commands/setpci.c: Likewise.
8085 * grub-core/commands/sleep.c: Likewise.
8086 * grub-core/disk/loopback.c: Likewise.
8087 * grub-core/hello/hello.c: Likewise.
8088 * grub-core/loader/i386/bsd.c: Likewise.
8089 * grub-core/loader/xnu.c: Likewise.
8090 * grub-core/term/gfxterm.c: Likewise.
8091 * grub-core/term/serial.c: Likewise.
8092 * grub-core/tests/lib/functional_test.c: Likewise.
8093
888d1500
BC
80942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8095
8096 Multi-line quoted strings support.
8097
8098 * grub-core/script/lexer.c (append_newline): Removed.
8099 (grub_script_lexer_yywrap): Refactored.
8100 (grub_script_lexer_init): Refactored.
8101 * grub-core/script/yylex.l (yywrap): New function.
8102 (grub_lexer_resplit): New function.
8103 (grub_lexer_unput): New function.
8104 * include/grub/script_sh.h (grub_lexer_param): New members, unput
8105 and resplit.
8106 * tests/grub_script_echo1.in: Added few more testcases.
8107
dda060dd
VS
81082010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * grub-core/kern/misc.c: Don't add abort alias in utils.
8111 Reported by: echoline.
8112
6556eba9
BC
81132010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
8114
8115 Add missing files into "make dist" tarball for other platforms.
8116
8117 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
8118 * conf/Makefile.common (dist_noinst_DATA): New variable.
8119 * conf/Makefile.extra-dist: Added missing make dist files.
8120 * grub-core/Makefile.core.def: Likewise.
8121
c8e7bf5f
VS
81222010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 Compress grub_prefix.
8125
8126 * grub-core/boot/i386/pc/lnxboot.S: Use
8127 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
8128 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
8129 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
8130 GRUB_MACHINE_PREFIX_END. All users updated.
8131 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
8132 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
8133 + 0x40.
8134 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8135 * util/grub-mkimage.c (image_target_desc): Change data_end to
8136 prefix_end. All users updated.
8137
a7c00cdb
VS
81382010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
8141 value.
8142 (grub_openbsd_boot): Likewise.
8143 (grub_netbsd_boot): Likewise.
8144 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
8145 (grub_xnu_boot): Likewise.
8146
9f915872
VS
81472010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * configure.ac: Clean LIBS variable after tests.
8150
efa1bee7
CW
81512010-09-02 Colin Watson <cjwatson@ubuntu.com>
8152
8153 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
8154
61d720e5
VS
81552010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
8158 echo if libdevmapper will be used.
8159
ef8e0ec8
IT
81602010-09-02 Ian Turner <Ian.Turner@deshaw.com>
8161
8162 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
8163 constant for the same file.
8164
03e261d8
VS
81652010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
8168
c2a4eba6
CW
81692010-09-02 Colin Watson <cjwatson@ubuntu.com>
8170
8171 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
8172 grub-core/*.pp.
8173
9056cbf3
CW
81742010-09-02 Colin Watson <cjwatson@ubuntu.com>
8175
8176 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
8177 required by the boot protocol.
8178
8179 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
8180 ebp and edi members.
8181 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
8182 state.ebp and state.edi.
8183 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
8184 %ebp and %edi according to grub_relocator32_ebp and
8185 grub_relocator32_edi respectively.
8186 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
8187 and state.edi.
8188
529cc99a
VS
81892010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 Add i386-pc-pxe image target.
8192
8193 * util/grub-mkimage.c (image_target_desc): New enum value
8194 IMAGE_I386_PC_PXE.
8195 (image_targets): New target i386-pc-pxe.
8196 (generate_image): Handle i386-pc-pxe image.
8197
9a093920
VS
81982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 Fix grub_pxe_scan.
8201
8202 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
8203 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
8204 All users updated.
8205 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
8206 (grub_pxe_pxenv): Correct type.
8207
f9cefc4e
CW
82082010-09-01 Colin Watson <cjwatson@ubuntu.com>
8209
8210 * NEWS: Document most of the important changes since 1.98.
8211
4066f57f
CW
82122010-09-01 Colin Watson <cjwatson@ubuntu.com>
8213
8214 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
8215 generated manual page) a little.
8216
da2891f9
CW
82172010-09-01 Colin Watson <cjwatson@ubuntu.com>
8218
8219 * docs/grub.texi: Add myself as an author.
8220
ad717fae
VS
82212010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 * Makefile.util.def (libgrub.a): Add missing sunpc.
8224 Reported by: Seth Goldberg.
8225
eefe8abd
VS
82262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 Interrupt wrapping and code simplifications.
8229
9494ef9a
VS
8230 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
8231 x86_noieee1275 which are functionaly equivalent in this case.
8232 (grub-install): Make source on each platform explicit. Enable on
8233 all noemu.
8234 * gentpl.py (x86_efi_pc): Removed group.
8235 (x86_noefi): Likewise.
8236 (i386_noefi): Likewise.
8237 (x86_noieee1275): Likewise.
8238 (i386_noieee1275): Likewise.
8239 (i386_noefi_noieee1275): Likewise.
8240 (i386_pc_qemu_coreboot): Likewise.
8241 (i386_coreboot_multiboot): Likewise.
8242 (i386_pc_coreboot_multiboot_qemu): Likewise.
8243 (x86_noefi_mips): Likewise.
8244 (noieee1275): Likewise.
8245 (ieee1275_mips): Likewise.
8246 (noemu_noieee1275): Likewise.
8247 (cmos): New group.
8248 (usb): Likewise.
8249 (videoinkernel): Likewise.
8250 (videomodules): Likewise.
eefe8abd 8251 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
8252 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
8253 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
8254 include/grub/loader.h, include/grub/msdos_partition.h,
8255 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
8256 include/grub/machine/console.h, include/grub/machine/vga.h,
8257 include/grub/machine/vbe.h, include/grub/machine/init.h,
8258 include/grub/machine/kernel.h, include/grub/cpu/time.h,
8259 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 8260 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
8261 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
8262 * grub-core/Makefile.core.def (kernel): Explicit the source for
8263 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
8264 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
8265 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
8266 Use videoinkernel tag.
8267 (usb): Enable on all usb.
8268 (usbserial_common): Likewise.
8269 (usbserial_pl2303): Likewise.
8270 (usbserial_ftdi): Likewise.
8271 (uhci): Enable on all x86.
8272 (ohci): Enable on all pci.
8273 (cmostest): Enable on all CMOS.
8274 (acpi): Include commands/acpi.c on all platforms.
8275 (halt): Add relevant lib/*/halt.c.
8276 (hdparm): Enable on all pci.
8277 (lspci): Likewise.
8278 (usbtest): Enable on all usb.
8279 (ata): Enable on all pci.
8280 (ata_pthru): Likewise.
8281 (usbms): Enable on all usb.
8282 (usb_keyboard): Likewise.
8283 (font): Use tag videomodules.
8284 (bufio): Likewise.
8285 (datetime): Use tag cmos. Enable on all noemu.
8286 (mmap): Use tags common and x86.
8287 (gfxterm): Use tag videomodules.
8288 (bitmap): Likewise.
8289 (bitmap_scale): Likewise.
8290 (video_fb): Likewise.
8291 (video): Likewise.
8292 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
8293 adjust padding accordingly. All users updated.
8294 (grub_ohci_transaction): Fix bad format specification.
8295 (GRUB_MOD_INIT): Add asserts for struct size.
8296 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
8297 (grub_alloc_td): Likewise.
8298 (grub_free_queue): Likewise.
8299 (grub_uhci_transfer): Likewise.
8300 (grub_uhci_transaction): Fix bad format specification.
8301 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8302 (grub_usb_bulk_readwrite): Likewise.
8303 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
8304 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
8305 Made static.
8306 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
8307 Made static.
8308 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
8309 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
8310 Transformed into C.
8311 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
8312 Moved from here ...
8313 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
8314 ... here. Transformed into C. Made static.
8315 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
8316 Moved from here ...
8317 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
8318 ... here. Transformed into C. Made static.
8319 * grub-core/kern/i386/pc/startup.S
8320 (grub_biosdisk_check_int13_extensions): Moved from here ...
8321 * grub-core/disk/i386/pc/biosdisk.c
8322 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
8323 Made static.
8324 * grub-core/kern/i386/pc/startup.S
8325 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
8326 * grub-core/disk/i386/pc/biosdisk.c
8327 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
8328 Transformed into C. Made static.
8329 * grub-core/kern/i386/pc/startup.S
8330 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
8331 * grub-core/disk/i386/pc/biosdisk.c
8332 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
8333 Transformed into C. Made static.
8334 * grub-core/kern/i386/pc/startup.S
8335 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
8336 * grub-core/disk/i386/pc/biosdisk.c
8337 (grub_biosdisk_get_diskinfo_standard): ... here.
8338 Transformed into C. Made static.
8339 * grub-core/kern/i386/pc/startup.S
8340 (grub_biosdisk_get_num_floppies): Moved from here ...
8341 * grub-core/disk/i386/pc/biosdisk.c
8342 (grub_biosdisk_get_num_floppies): ... here.
8343 Transformed into C. Made static.
8344 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
8345 New function.
8346 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
8347 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
8348 Transformed into C. Made static.
8349 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
8350 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
8351 Transformed into C. Made static.
8352 * grub-core/kern/i386/ieee1275/init.c: Removed.
8353 * grub-core/kern/i386/misc.S: Likewise.
8354 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
8355 Splitted from here ...
8356 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
8357 Transformed into C. Made static. All users updated.
8358 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
8359 Transformed into C. Made static. All users updated.
8360 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
8361 Moved from here...
8362 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
8363 Transformed into C. Made static. All users updated.
8364 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
8365 Moved from here...
8366 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
8367 Transformed into C. Made static. All users updated.
8368 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
8369 Removed (replaced by C version).
8370 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
8371 Moved from here...
8372 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
8373 Transformed into C. Made static.
8374 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
8375 Moved from here...
8376 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
8377 ... here. Transformed into C.
8378 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
8379 Moved from here...
8380 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
8381 ... here. Transformed into C.
8382 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
8383 Moved from here...
8384 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
8385 ... here. Transformed into C. Made static.
8386 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
8387 Moved from here...
8388 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
8389 ... here. Transformed into C.
21ed554b
VS
8390 * grub-core/kern/i386/pc/startup.S
8391 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
8392 * grub-core/video/i386/pc/vbe.c
8393 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
8394 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
8395 Moved from here...
8396 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
8397 ... here. Transformed into C.
8398 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
8399 Moved from here...
8400 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
8401 ... here. Transformed into C.
8402 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
8403 Moved from here...
8404 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
8405 ... here. Transformed into C.
8406 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
8407 Moved from here...
8408 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
8409 ... here. Transformed into C.
8410 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
8411 Moved from here...
8412 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
8413 ... here. Transformed into C. Made static.
8414 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
8415 Moved from here...
8416 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
8417 ... here. Transformed into C. Made static.
8418 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
8419 Moved from here...
8420 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
8421 ... here. Transformed into C. Made static.
8422 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
8423 pxe_rm_entry as third argument.
8424 (grub_bios_interrupt): New function.
8425 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
8426 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
8427 of calling grub_stop.
8428 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
8429 * grub-core/lib/efi/halt.c (grub_halt): ...here.
8430 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
8431 * grub-core/lib/emu/halt.c (grub_halt): ... here.
8432 * grub-core/lib/i386/halt.c: Moved from here ...
8433 * grub-core/lib/i386/halt.c: ... here.
8434 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
8435 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
8436 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
8437 grub_stop_floppy.
8438 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
8439 * include/grub/i386/coreboot/init.h: Removed.
8440 * include/grub/i386/multiboot/init.h: Likewise.
8441 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
8442 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
8443 * include/grub/i386/pc/int.h: New file.
8444 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
8445 (grub_pxe_scan): Removed.
8446 (grub_pxe_call): Update prototype.
8447 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
8448 prototypes.
8449 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
8450 * include/grub/i386/qemu/init.h: Removed.
8451 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
8452 noreturn.
8453 (grub_halt): Likewise.
8454 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
8455 (grub_reboot): Likewise.
8456 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
8457 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
8458 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
8459
215dd471
RM
84602010-08-30 Robert Millan <rmh@gnu.org>
8461
8462 * NEWS: Document addition of ZFS support in `grub-install' and
8463 `grub-mkconfig'.
8464
ebd65b82
BC
84652010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
8466
8467 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
8468 dprintf output.
8469
11721d19
VS
84702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 Remove leftover embedding of font objects.
8473
8474 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8475 * util/grub-install.in (font): Removed.
8476 * util/grub-mkimage.c (generate_image): Remove font support. All users
8477 updated.
8478
37837d4e
VS
84792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 Remove leftover embedding of font objects.
8482
8483 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8484 * util/grub-install.in (font): Removed.
8485 * util/grub-mkimage.c (generate_image): Remove font support. All users
8486 updated.
8487
b4c1aae0
VS
84882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 8491 Reported by: Ian Turner
b4c1aae0 8492
8920a08d
VS
84932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
8496 timeout to avoid indefinite boot stalling.
8497
f21db033
VS
84982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
8501 (grub_env_write_color_highlight): Likewise.
8502
9a9de209
VS
85032010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * grub-core/normal/term.c (print_more): Return to normal and not
8506 to standard state after printing "---MORE---".
8507
3dca01d7
VS
85082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
8511 Mask out the bit 0x80 since it has other meaning that specifiing color.
8512
0b986c40
VS
85132010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 New relocator. Allows for more kernel support and more straightforward
8516 loader writing.
8517
8518 * Makefile.am (BOOTTARGET): New variable.
8519 (QEMU32): Likewise.
8520 (linux.init.x86_64): New target.
8521 (linux.init.i386): Likewise.
8522 (multiboot.elf): Likewise.
8523 (kfreebsd.elf): Likewise.
8524 (kfreebsd.aout): Likewise.
8525 (pc-chainloader.elf): Likewise.
8526 (pc-chainloader.bin): Likewise.
8527 (ntldr.elf): Likewise.
8528 (ntldr.bin): Likewise.
8529 (multiboot2.elf): Likewise.
8530 (kfreebsd.init.x86_64): Likewise.
8531 (kfreebsd.init.i386): Likewise.
8532 (knetbsd.init.i386): Likewise.
8533 (kopenbsd.init.i386): Likewise.
8534 (knetbsd.init.x86_64): Likewise.
8535 (kopenbsd.init.x86_64): Likewise.
8536 (linux-initramfs.i386): Likewise.
8537 (linux-initramfs.x86_64): Likewise.
8538 (kfreebsd-mfsroot.i386.img): Likewise.
8539 (knetbsd.image.i386): Likewise.
8540 (kopenbsd.image.i386): Likewise.
8541 (kopenbsd.image.x86_64): Likewise.
8542 (knetbsd.miniroot-image.i386.img): Likewise.
8543 (kfreebsd-mfsroot.x86_64.img): Likewise.
8544 (knetbsd.image.x86_64): Likewise.
8545 (knetbsd.miniroot-image.x86_64.img): Likewise.
8546 (kfreebsd-mfsroot.i386.gz): Likewise.
8547 (bootcheck-kfreebsd-i386): Likewise.
8548 (kfreebsd-mfsroot.x86_64.gz): Likewise.
8549 (bootcheck-kfreebsd-x86_64): Likewise.
8550 (knetbsd.miniroot-image.i386.gz): Likewise.
8551 (bootcheck-knetbsd-i386): Likewise.
8552 (bootcheck-kopenbsd-i386): Likewise.
8553 (bootcheck-kopenbsd-x86_64): Likewise.
8554 (knetbsd.miniroot-image.x86_64.gz): Likewise.
8555 (bootcheck-knetbsd-x86_64): Likewise.
8556 (bootcheck-linux-i386): Likewise.
8557 (bootcheck-linux-x86_64): Likewise.
8558 (bootcheck-linux16-i386): Likewise.
8559 (bootcheck-linux16-x86_64): Likewise.
8560 (bootcheck-multiboot): Likewise.
8561 (bootcheck-multiboot2): Likewise.
8562 (bootcheck-kfreebsd-aout): Likewise.
8563 (bootcheck-pc-chainloader): Likewise.
8564 (bootcheck-ntldr): Likewise.
8565 (CLEANFILES): Add new targets.
8566 (BOOTCHECKS): New variable.
8567 (.PHONY): Add bootchecks.
8568 (SUCCESSFUL_BOOT_STRING): New variable.
8569 (BOOTCHECK_TIMEOUT): Likewise.
8570 (bootcheck): New target
8571 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
8572 * configure.ac: Correct efiemu excuse.
8573 * docs/grub.texi (Supported kernels): New chapter.
8574 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
8575 include/grub/mm_private.h. Simplify inclusion of
8576 include/grub/boot.h, include/grub/loader.h
8577 and include/grub/msdos_partition.h
8578 (KERNEL_HEADER_FILES) [i386_coreboot]:
8579 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
8580 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
8581 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
8582 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
8583 include/grub/machine/loader.h.
8584 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
8585 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
8586 extra_dist.
8587 (pci.mod): Enable on i386-multiboot.
8588 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
8589 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
8590 i386-qemu.
8591 (relocator.mod): Rewritten.
8592 (aout.mod): Enable on all x86.
8593 (bsd.mod): Likewise.
8594 (ntldr.mod): New module.
8595 (linux.mod): Use loader/i386/linux.c on all x86.
8596 (xnu.mod): Enable on all x86.
8597 (vga_text.mod): disable on EFI and QEMU.
8598 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
8599 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
8600 * grub-core/efiemu/loadcore.c: Likewise.
8601 * grub-core/efiemu/main.c: Likewise.
8602 (grub_efiemu_exit_boot_services): Removed.
8603 (grub_efiemu_finish_boot_services): Likewise.
8604 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
8605 function.
8606 * grub-core/efiemu/i386/nocfgtables.c: New file.
8607 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
8608 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
8609 (grub_efi_finish_boot_services): Moved from here ...
8610 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
8611 Fille finish memory map and related data.
8612 (finish_mmap_buf): New variable.
8613 (grub_efi_uintn_t finish_mmap_size): Likewise.
8614 (grub_efi_uintn_t finish_key): Likewise.
8615 (grub_efi_uintn_t finish_desc_size): Likewise.
8616 (grub_efi_uint32_t finish_desc_version): Likewise.
8617 (grub_efi_is_finished): Likewise.
8618 (grub_efi_get_memory_map): Use saved memory map if EFI is already
8619 finished.
8620 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
8621 (grub_elf64_phdr_iterate): Likewise.
8622 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
8623 (grub_os_area_size): Likewise.
8624 (grub_machine_init): Don't reserve os area.
8625 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
8626 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8627 * grub-core/kern/i386/loader.S: Removed.
8628 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
8629 (grub_os_area_size): Likewise.
8630 (grub_machine_init): Don't reserve os area.
8631 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8632 Don't call grub_dl_unload_all.
8633 Don't include loader.S.
8634 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8635 Declare the memory after _end as available.
8636 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 8637 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 8638 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
8639 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
8640 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
8641 * include/grub/mm_private.h (grub_mm_header): ... here.
8642 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
8643 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
8644 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
8645 (grub_mm_region): ..here. Removed addr. Added pre_size.
8646 All users updated.
8647 * grub-core/kern/mm.c (base): Renamed to ...
8648 (grub_mm_base): ... this. Made global.
8649 (grub_real_malloc): Alloc from end of region.
8650 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
8651 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
8652 * grub-core/kern/powerpc/cache_flush.S: ... here.
8653 * grub-core/lib/efi/relocator.c: New file.
8654 * grub-core/lib/i386/relocator.c: Rewritten.
8655 * grub-core/lib/i386/relocator16.S: New file.
8656 * grub-core/lib/i386/relocator32.S: Likewise.
8657 * grub-core/lib/i386/relocator64.S: Likewise.
8658 * grub-core/lib/i386/relocator_asm.S: Rewritten.
8659 * grub-core/lib/i386/relocator_common.S: New file.
8660 * grub-core/lib/ieee1275/relocator.c: Likewise.
8661 * grub-core/lib/mips/relocator.c: Rewritten.
8662 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
8663 stylistic adjustments.
8664 * grub-core/lib/powerpc/relocator.c: New file.
8665 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
8666 * grub-core/lib/relocator.c: Rewritten.
8667 * grub-core/lib/x86_64/relocator_asm.S: New file.
8668 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
8669 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
8670 (bsd_tag): New struct.
8671 (tags): New variable.
8672 (tags_last): Likewise.
8673 (netbsd_module): New struct.
8674 (netbsd_mods): New variable.
8675 (netbsd_mods_last): Likewise.
8676 (openbsd_opts): New parameter "serial".
8677 (OPENBSD_SERIAL_ARG): New definition.
8678 (netbsd_opts): New parameter "serial".
8679 (NETBSD_SERIAL_ARG): New definition.
8680 (grub_freebsd_add_meta): Reorganised into ...
8681 (grub_bsd_add_meta): ...this. All users updated.
8682 (grub_freebsd_add_mmap): Reorganised into ...
8683 (generate_e820_mmap): ...this...
8684 (grub_bsd_add_mmap): ...and this. All users updated.
8685 (grub_freebsd_list_modules): Use tags.
8686 (grub_netbsd_add_meta_module): New function.
8687 (grub_netbsd_list_modules): Likewise.
8688 (grub_freebsd_boot): Use relocator and finish EFI.
8689 (grub_openbsd_boot): Likewise.
8690 (grub_netbsd_setup_video): New function.
8691 (grub_netbsd_add_modules): Likewise.
8692 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
8693 and finish EFI.
8694 (grub_bsd_unload): Unload tags.
8695 (grub_bsd_load_aout): Use relocator.
8696 (grub_bsd_elf32_size_hook): New function.
8697 (grub_bsd_elf32_hook): Use relocator.
8698 (grub_bsd_elf64_size_hook): New function.
8699 (grub_bsd_elf64_hook): Use relocator.
8700 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
8701 (grub_bsd_load): Zero-out openbsd_ramdisk.
8702 (grub_bsd_load): Use relocator.
8703 (grub_cmd_openbsd): Support serial.
8704 (grub_cmd_netbsd): Support modules.
8705 (grub_cmd_freebsd_module): Use relocator.
8706 (grub_netbsd_module_load): New function.
8707 (grub_cmd_netbsd_module): Likewise.
8708 (grub_cmd_openbsd_ramdisk): Likewise.
8709 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
8710 kopenbsd_ramdisk.
8711 (GRUB_MOD_FINI): Unregister new commands.
8712 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
8713 (grub_freebsd_load_elfmodule_obj): Use relocator.
8714 (grub_freebsd_load_elfmodule): Likewise.
8715 (grub_freebsd_load_elf_meta): Likewise.
8716 (grub_netbsd_load_elf_meta): New function.
8717 (grub_openbsd_find_ramdisk): Likewise.
8718 * grub-core/loader/i386/bsd_helper.S: Removed.
8719 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
8720 * grub-core/loader/i386/bsd_trampoline.S: Removed.
8721 * grub-core/loader/i386/efi/linux.c: Likewise.
8722 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
8723 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
8724 (DEFAULT_VIDEO_MODE): Likewise.
8725 (real_mode_target): New variable.
8726 (prot_mode_target): Likewise.
8727 (initrd_mem_target): Likewise.
8728 (relocator): Likewise.
8729 (efi_mmap_buf): Likewise.
8730 (efi_mmap_size): Likewise.
8731 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
8732 (free_pages): Use relocator.
8733 (allocate_pages): Account for efi_mmap and use relocator. Return error.
8734 (grub_linux_setup_video): Return error.
8735 (grub_linux_trampoline_start): Removed.
8736 (grub_linux_trampoline_end): Likewise.
8737 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
8738 andd video parameters depending on firmware.
8739 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
8740 [GRUB_MACHINE_EFI]: Pass EFI parameters.
8741 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
8742 (grub_cmd_initrd): Use relocator.
8743 * grub-core/loader/i386/linux_trampoline.S: Removed.
8744 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
8745 (elf_sec_entsize): Likewise.
8746 (elf_sec_shstrndx): Likewise.
8747 (elf_sections): Likewise.
8748 (grub_multiboot_load): Use relocator.
8749 (grub_multiboot_get_mbi_size): Account for sections.
8750 (grub_multiboot_make_mbi): Use relocator and support sections.
8751 (grub_multiboot_add_elfsyms): New function.
8752 (grub_multiboot_free_mbi): Free sections.
8753 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
8754 (grub_linux_real_target): Likewise.
8755 (grub_linux_real_chunk): Likewise.
8756 (grub_linux16_prot_size): Likewise.
8757 (grub_linux16_boot): Use relocator.
8758 (grub_linux_unload): Unload relocator.
8759 (grub_cmd_linux): Use relocator.
8760 (grub_cmd_initrd): Likewise.
8761 * grub-core/loader/i386/pc/ntldr.c: New file.
8762 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
8763 Don't try to guess CPU frequency.
8764 (grub_xnu_set_video): Stretch bitmap.
8765 (grub_xnu_boot): Use relocator.
8766 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
8767 (grub_linux_unload): Free relocator.
8768 (grub_linux_load32): Use relocator.
8769 (grub_linux_load64): Likewise.
8770 (grub_cmd_initrd): Likewise.
8771 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
8772 (grub_multiboot_unload): Unload relocator.
8773 (grub_cmd_multiboot): Use relocator.
8774 (grub_cmd_module): Likewise.
8775 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
8776 Use relocator and support sections.
8777 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
8778 (elf_sec_entsize): Likewise.
8779 (elf_sec_shstrndx): Likewise.
8780 (elf_sections): Likewise.
8781 (grub_multiboot_load): Use relocator.
8782 (grub_multiboot_get_mbi_size): Account for sections.
8783 (grub_multiboot_make_mbi): Use relocator and support sections.
8784 (grub_multiboot_add_elfsyms): New function.
8785 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
8786 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
8787 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
8788 Prototype changed. All users updated.
8789 (grub_xnu_align_heap): Simplified.
8790 (grub_xnu_writetree_toheap): Likewise.
8791 (grub_xnu_unload): Unload relocator.
8792 (grub_cmd_xnu_kernel): Use relocator.
8793 (grub_cmd_xnu_kernel64): Likewise.
8794 (grub_xnu_register_memory): Simplified.
8795 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
8796 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
8797 EFI is finished.
8798 (grub_console_checkkey): Likewise.
8799 (grub_console_getkey): Likewise.
8800 (grub_console_getwh): Likewise.
8801 (grub_console_getxy): Likewise.
8802 (grub_console_gotoxy): Likewise.
8803 (grub_console_cls): Likewise.
8804 (grub_console_setcolorstate): Likewise.
8805 (grub_console_setcursor): Likewise.
8806 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
8807 * grub-core/tests/boot/kbsd.init-i386.S: New file.
8808 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
8809 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
8810 * grub-core/tests/boot/kernel-8086.S: Likewise.
8811 * grub-core/tests/boot/kernel-i386.S: Likewise.
8812 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
8813 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
8814 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
8815 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
8816 * grub-core/tests/boot/knetbsd.cfg: Likewise.
8817 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
8818 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
8819 * grub-core/tests/boot/linux.cfg: Likewise.
8820 * grub-core/tests/boot/linux.init-i386.S: Likewise.
8821 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
8822 * grub-core/tests/boot/linux16.cfg: Likewise.
8823 * grub-core/tests/boot/multiboot.cfg: Likewise.
8824 * grub-core/tests/boot/multiboot2.cfg: Likewise.
8825 * grub-core/tests/boot/ntldr.cfg: Likewise.
8826 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
8827 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
8828 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
8829 New definition.
8830 * include/grub/dl.h (grub_dl_unload_all): Removed.
8831 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
8832 (grub_efi_finish_boot_services): Change prototype.
8833 (grub_efi_is_finished): New variable.
8834 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
8835 Changed prototype.
8836 (grub_efiemu_finish_boot_services): Removed.
8837 (grub_machine_efiemu_init_tables): New prototype.
8838 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
8839 (grub_elf64_phdr_iterate): Likewise.
8840 * include/grub/i386/bsd.h: Include relocator.h.
8841 (freebsd_tag_header): New struct.
8842 (grub_openbsd_bios_mmap): Removed.
8843 (grub_unix_real_boot): Removed.
8844 (grub_freebsd_load_elfmodule32): Changed prototype.
8845 (grub_freebsd_load_elfmodule_obj64): Likewise.
8846 (grub_freebsd_load_elf_meta32): Likewise.
8847 (grub_freebsd_load_elf_meta64): Likewise.
8848 (grub_freebsd_add_meta): Removed.
8849 (grub_netbsd_load_elf_meta32): New prototype.
8850 (grub_netbsd_load_elf_meta64): Likewise.
8851 (grub_bsd_add_meta): Likewise.
8852 (grub_openbsd_ramdisk_descriptor): New struct.
8853 (grub_openbsd_find_ramdisk32): New prototype.
8854 (grub_openbsd_find_ramdisk64): Likewise.
8855 * include/grub/i386/coreboot/loader.h: Removed.
8856 * include/grub/i386/efi/loader.h: Likewise.
8857 * include/grub/i386/ieee1275/loader.h: Likewise.
8858 * include/grub/i386/linux.h (linux_kernel_header): Change void *
8859 to grub_uint32_t.
8860 * include/grub/i386/loader.h: Removed.
8861 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
8862 value.
8863 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
8864 (grub_phys_addr_t): New type.
8865 (grub_vtop): New inline function.
8866 (grub_map_memory): Likewise.
8867 (grub_unmap_memory): Likewise.
8868 * include/grub/i386/multiboot/loader.h: Removed.
8869 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
8870 (NETBSD_BTINFO_CONSOLE): New definition.
8871 (NETBSD_BTINFO_SYMTAB): Likewise.
8872 (NETBSD_BTINFO_MODULES): Likewise.
8873 (NETBSD_BTINFO_FRAMEBUF): Likewise.
8874 (grub_netbsd_bootinfo): New struct.
8875 (grub_netbsd_btinfo_common): Use explicit bitsize.
8876 (grub_netbsd_btinfo_mmap_entry): Removed.
8877 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
8878 (grub_netbsd_btinfo_bootdisk): New struct.
8879 (grub_netbsd_btinfo_symtab): Likewise.
8880 (grub_netbsd_btinfo_serial): Likewise.
8881 (grub_netbsd_btinfo_modules): Likewise.
8882 (grub_netbsd_btinfo_framebuf): Likewise.
8883 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
8884 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
8885 Likewise.
8886 (grub_openbsd_bootargs): Use explicit bitsize.
8887 (grub_openbsd_bootarg_console): New struct.
8888 (GRUB_OPENBSD_COM_MAJOR): New definition.
8889 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
8890 * include/grub/i386/pc/efiemu.h: Removed.
8891 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
8892 * include/grub/i386/qemu/loader.h: Removed.
8893 * include/grub/i386/relocator.h: Rewritten.
8894 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
8895 * include/grub/mips/memory.h: New file.
8896 * include/grub/mips/multiboot.h: Rewritten.
8897 * include/grub/mips/relocator.h: Rewritten.
8898 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
8899 (grub_vtop): New function.
8900 (grub_map_memory): Likewise.
8901 (grub_unmap_memory): Likewise.
8902 * include/grub/misc.h (ALIGN_DOWN): New definition.
8903 * include/grub/mm.h (grub_mm_check_real): New proto.
8904 (GRUB_MM_CHECK): New definition.
8905 * include/grub/mm_private.h: New file.
8906 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
8907 (grub_multiboot_get_mbi_size): Removed.
8908 (grub_multiboot_make_mbi): Change prottype.
8909 (grub_multiboot_set_accepts_video): New proto.
8910 (grub_multiboot_add_elfsyms): Likewise.
8911 (grub_multiboot_payload_eip): New variable.
8912 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
8913 New prototype.
8914 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
8915 New definition.
8916 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
8917 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
8918 * include/grub/powerpc/ieee1275/loader.h: Removed.
8919 * include/grub/powerpc/memory.h: New file.
8920 * include/grub/powerpc/relocator.h: Likewise.
8921 * include/grub/relocator.h: Likewise.
8922 * include/grub/relocator_private.h: Likewise.
8923 * include/grub/sparc64/ieee1275/loader.h: Removed.
8924 * include/grub/x86_64/memory.h: New file.
8925 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
8926 (grub_xnu_heap_malloc): Likewise.
8927 (grub_xnu_heap_real_start): Removed.
8928 (grub_xnu_heap_start): Likewise.
8929 (grub_xnu_relocator): New variable.
8930 (grub_xnu_heap_target_start): Likewise.
8931 * tests/util/grub-shell.in: Support non-pc.
8932 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 8933
5303b85d
VS
89342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
8937 on malloc error.
8938 (grub_bidi_logical_to_visual): Check that malloc succeded.
8939 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
8940 puts.
8941 (grub_xputs_normal): Likewise.
8942
d768d159
VS
89432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
8946 extra_dist.
8947
89482010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * grub-core/efiemu/runtime/efiemu.sh: Removed.
8951
5bf84df4
VS
89522010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
8955
3626810e
VS
89562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
8959 dprintf.
8960
a7363f53
BC
89612010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
8962
8963 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
8964
902f75f6
VS
89652010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * grub-core/normal/term.c (print_more): Fix a memory leak.
8968 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
8969 (grub_xputs_normal): Likewise.
8970
3c707967
VS
89712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
8974 the begining of the string
8975
2053cc07
VS
89762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 * grub-core/script/script.c (grub_script_parse): Free parsed on
8979 failure.
8980
46422ebf
VS
89812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
8984 on failure.
8985
9e0fa3f6
VS
89862010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
8989 return.
8990
3393cf16
VS
89912010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
8994 (scroll_up): Fix a memory leak.
8995
b17540cb
VS
89962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
8999 errors.
9000
67140446
VS
90012010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 Handle USB pendrives exposed as floppies.
9004
9005 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
9006 floppy.
9007 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9008 Check for partitions on all devices.
9009
e35e46fc
VS
90102010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
9013 (readkey): Likewise.
9014
d24c6190
BC
90152010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9016
9017 Multiple variable names support to "export" command.
9018
9019 * normal/context.c (grub_cmd_export): "export" command supports
9020 multiple variable names.
9021
04ddcc6a
ST
90222010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
9023
9024 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
9025 --target=drive output to Mach device name.
9026
0c8b61d8
BC
90272010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9028
9029 New Automake based build system for GRUB.
9030
9031 * ABOUT-NLS: New file.
9032 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
9033 in Makefile.util.def file.
9034 * Makefile.util.def: New file. Autogen build definitions file for
9035 GRUB host utils.
9036 * conf/Makefile.common: New file. Common variables for GRUB host
9037 utils and target modules.
9038 * conf/Makefile.extra-dist: New file. Extra files for make dist.
9039 * docs/Makefile.am: New file. Automake file for docs.
9040 * gentpl.py: New file. Python script to generate Autogen
9041 template.
9042 * grub-core/Makefile.am: New file. GRUB target modules' rules
9043 that doesn't fit in Makefile.core.def file.
9044 * grub-core/Makefile.core.def: New file. Autogen build
9045 definitions file for GRUB target modules.
9046 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
9047 specific setjmp.S file.
9048 * po/Makefile.am: New file.
9049
9050 * .bzrignore: New ignores.
9051 * INSTALL: New requirements, without Ruby.
9052 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
9053 * autogen.sh: Updated to invoke autogen as necessary.
9054 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
9055 and defines for Automake conditionals.
9056 * geninit.sh: Refactoring.
9057
9058 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
9059 necessary.
9060 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
9061 New prototype.
9062
9063 * include/grub/test.h: Fix functional test modules' naming.
9064 * grub-core/tests/example_functional_test.c: Fix test module name.
9065
9066 * util/misc.c: Hosted versions' of grub functions for libgrub.a
9067 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
9068 * util/grub-editenv.c: Likewise.
9069 * util/grub-fstest.c: Likewise.
9070 * util/grub-mkdevicemap.c: Likewise.
9071 * util/grub-mkfont.c: Likewise.
9072 * util/grub-mkimage.c: Likewise.
9073 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9074 * util/grub-probe.c: Likewise.
9075 * util/grub-script-check.c: Likewise.
9076 * util/i386/pc/grub-setup.c: Likewise.
9077 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9078
9079 * tests/util/grub-shell.in: Fix override directory path.
9080 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
9081 * util/import_gcry.py: Create Makefile.gcry.def file instead.
9082
9083 * util/lvm.c: Update #includes.
9084 * util/raid.c: Likewise.
9085 * util/resolve.c: Likewise.
9086 * grub-core/bus/emu/pci.c: Likewise.
9087 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
9088 * grub-core/lib/posix_wrap/string.h: Likewise.
9089 * grub-core/kern/emu/main.c: Likewise.
9090
9091 * grub-core/gensymlist.sh: New file. Script for generating kernel
9092 symbols file.
9093 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
9094
9095 * grub-core/gentrigtables.c: Fix unused variable warnings.
9096
9097 * Makefile.in: Removed.
9098 * conf/any-emu.rmk: Removed.
9099 * conf/common.rmk: Removed.
9100 * conf/i386-coreboot.rmk: Removed.
9101 * conf/i386-efi.rmk: Removed.
9102 * conf/i386-ieee1275.rmk: Removed.
9103 * conf/i386-multiboot.rmk: Removed.
9104 * conf/i386-pc.rmk: Removed.
9105 * conf/i386-qemu.rmk: Removed.
9106 * conf/i386.rmk: Removed.
9107 * conf/mips-yeeloong.rmk: Removed.
9108 * conf/mips.rmk: Removed.
9109 * conf/powerpc-ieee1275.rmk: Removed.
9110 * conf/sparc64-ieee1275.rmk: Removed.
9111 * conf/tests.rmk: Removed.
9112 * conf/x86-efi.rmk: Removed.
9113 * conf/x86_64-efi.rmk: Removed.
9114 * gendistlist.sh: Removed.
9115 * geninitheader.sh: Removed.
9116 * genkernsyms.sh.in: Removed.
9117 * genmk.rb: Removed.
9118 * gensymlist.sh.in: Removed.
9119 * mkinstalldirs: Removed.
9120 * boot: Moved ...
9121 * grub-core/boot: ... to here.
9122 * bus: Moved ...
9123 * grub-core/bus: ... to here.
9124 * commands: Moved ...
9125 * grub-core/commands: ... to here.
9126 * disk: Moved ...
9127 * grub-core/disk: ... to here.
9128 * efiemu: Moved ...
9129 * grub-core/efiemu: ... to here.
9130 * font: Moved ...
9131 * grub-core/font: ... to here.
9132 * fs: Moved ...
9133 * grub-core/fs: ... to here.
9134 * gencmdlist.sh: Moved ...
9135 * grub-core/gencmdlist.sh: ... to here.
9136 * genemuinit.sh: Moved ...
9137 * grub-core/genemuinit.sh: ... to here.
9138 * genemuinitheader.sh: Moved ...
9139 * grub-core/genemuinitheader.sh: ... to here.
9140 * genfslist.sh: Moved ...
9141 * grub-core/genfslist.sh: ... to here.
9142 * genhandlerlist.sh: Moved ...
9143 * grub-core/genhandlerlist.sh: ... to here.
9144 * genmoddep.awk: Moved ...
9145 * grub-core/genmoddep.awk: ... to here.
9146 * genmodsrc.sh: Moved ...
9147 * grub-core/genmodsrc.sh: ... to here.
9148 * genpartmaplist.sh: Moved ...
9149 * grub-core/genpartmaplist.sh: ... to here.
9150 * genparttoollist.sh: Moved ...
9151 * grub-core/genparttoollist.sh: ... to here.
9152 * genterminallist.sh: Moved ...
9153 * grub-core/genterminallist.sh: ... to here.
9154 * gentrigtables.c: Moved ...
9155 * grub-core/gentrigtables.c: ... to here.
9156 * genvideolist.sh: Moved ...
9157 * grub-core/genvideolist.sh: ... to here.
9158 * gettext: Moved ...
9159 * grub-core/gettext: ... to here.
9160 * gfxmenu: Moved ...
9161 * grub-core/gfxmenu: ... to here.
9162 * gnulib: Moved ...
9163 * grub-core/gnulib: ... to here.
9164 * hello: Moved ...
9165 * grub-core/hello: ... to here.
9166 * hook: Moved ...
9167 * grub-core/hook: ... to here.
9168 * io: Moved ...
9169 * grub-core/io: ... to here.
9170 * kern: Moved ...
9171 * grub-core/kern: ... to here.
9172 * lib: Moved ...
9173 * grub-core/lib: ... to here.
9174 * loader: Moved ...
9175 * grub-core/loader: ... to here.
9176 * mmap: Moved ...
9177 * grub-core/mmap: ... to here.
9178 * normal: Moved ...
9179 * grub-core/normal: ... to here.
9180 * partmap: Moved ...
9181 * grub-core/partmap: ... to here.
9182 * parttool: Moved ...
9183 * grub-core/parttool: ... to here.
9184 * script: Moved ...
9185 * grub-core/script: ... to here.
9186 * term: Moved ...
9187 * grub-core/term: ... to here
9188 * tests/example_functional_test.c: Moved ...
9189 * grub-core/tests/example_functional_test.c: ... to here.
9190 * tests/lib/functional_test.c: Moved ...
9191 * grub-core/tests/lib/functional_test.c: ... to here.
9192 * tests/lib/test.c: Moved ...
9193 * grub-core/tests/lib/test.c: ... to here.
9194 * video: Moved ...
9195 * grub-core/video: ... to here.
9196
645586e6
BC
91972010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9198
9199 Replace --enable-grub-emu-modules with grub-emu-lite.
9200
9201 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
9202 cache.S.
9203
9204 * include/grub/emu/misc.h (grub_emu_init): New prototype.
9205 * kern/emu/full.c: New file. For grub-emu specific initialization.
9206 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
9207 * kern/emu/main.c: Call initialization function grub_emu_init.
9208
9209 * Makefile.in: Include grub-emu-lite in install.
9210 * commands/parttool.c: Use grub_no_autoload to differentiate
9211 between grub-emu and grub-emu-lite.
9212 * include/grub/misc.h: New variable grub_no_autoload.
9213
9214 * conf/any-emu.rmk: New rules for grub-emu-lite.
9215 * configure.ac: Remove --enable-grub-emu-modules.
9216 * genmk.rb: Cleanup unnecessary rules.
9217 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
9218
9219 * normal/main.c: Don't load list files on grub-emu-lite.
9220 * util/misc.c (grub_arch_sync_caches): Removed.
9221
f86a4030
CW
92222010-08-23 Colin Watson <cjwatson@ubuntu.com>
9223
9224 * kern/mips/startup.S (grub_prefix): Update comment to refer to
9225 grub-mkimage rather than grub-mkelfimage.
9226 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9227
06776944
VS
92282010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
9231 a key after CapsLock or NumLock. It's just a qemu bug.
9232
df262419
VS
92332010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
9236 needed by libusb wrapper.
9237
b40ea81b
ST
92382010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9239
9240 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
9241
dee50575
VS
92422010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
9245 --nounzip is passed.
9246
fb1d7b79
VS
92472010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 USB hotunplugging and USB serial support.
9250
9251 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
9252 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
9253 (grub_uhci_transfer): Respect timeout and set *actual.
9254 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
9255 non-standard length.
9256 (grub_usb_device_attach): Autoload modules.
9257 (GRUB_MOD_INIT): Set grub_term_poll_usb.
9258 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
9259 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
9260 users updated.
9261 (grub_usb_add_hub): Fill nports and children.
9262 (attach_root_port): Receive hub instead of controller.
9263 All users updated. Fill hub->devices.
9264 (grub_usb_root_hub): Allocate hub->devices.
9265 (detach_device): New function.
9266 (poll_nonroot_hub): Fill children and detach devices.
9267 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
9268 actual arguments. All users updated.
9269 (grub_usb_bulk_read_extended): New function.
9270 * bus/usb/serial/common.c: New file.
9271 * bus/usb/serial/ftdi.c: Likewise.
9272 * bus/usb/serial/pl2303.c: Likewise.
9273 * commands/terminal.c (handle_command): Support wildcard.
9274 * commands/usbtest.c: Output "Unknown" instead of empty string.
9275 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
9276 (usbserial_common_mod_SOURCES): New variable.
9277 (usbserial_common_mod_CFLAGS): Likewise.
9278 (usbserial_common_mod_LDFLAGS): Likewise.
9279 (pkglib_MODULES): Add usbserial_pl2303.mod.
9280 (usbserial_pl2303_mod_SOURCES): New variable.
9281 (usbserial_pl2303_mod_CFLAGS): Likewise.
9282 (usbserial_pl2303_mod_LDFLAGS): Likewise.
9283 (pkglib_MODULES): Add usbserial_ftdi.mod.
9284 (usbserial_ftdi_mod_SOURCES): New variable.
9285 (usbserial_ftdi_mod_CFLAGS): Likewise.
9286 (usbserial_ftdi_mod_LDFLAGS): Likewise.
9287 (pkglib_MODULES): Add serial.mod.
9288 (serial_mod_SOURCES): New variable.
9289 (serial_mod_CFLAGS): Likewise.
9290 (serial_mod_LDFLAGS): Likewise.
9291 * conf/i386-pc.rmk: Likewise.
9292 * conf/mips-yeeloong.rmk: Likewise.
9293 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
9294 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9295 * disk/usbms.c (first_available_slot): New variable.
9296 (grub_usbms_attach): Don't reuse free slots due to potential cache
9297 problems.
9298 * include/grub/serial.h: Moved to ..
9299 * include/grub/ns8250.h: ...this.
9300 * include/grub/serial.h: New file.
9301 * include/grub/term.h (grub_term_poll_usb): New variable.
9302 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
9303 readkey. All users updated.
9304 (grub_terminfo_output_state): Pass term to put.
9305 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
9306 (grub_usb_controller_dev): Add timeout and actual arguments to
9307 transfer. All users updated.
9308 (grub_usb_interface): New field detach_data.
9309 (grub_usb_device): New fields children and nports.
9310 (grub_usb_ep_type_t): New type.
9311 (grub_usb_get_ep_type): New function.
9312 (grub_usb_bulk_read_extended): Likewise.
9313 * include/grub/usbdesc.h (grub_usb_desc): New type.
9314 * include/grub/usbserial.h: New file.
9315 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
9316 * kern/term.c (grub_term_poll_usb): New variable.
9317 (grub_getkey): Call grub_term_poll_usb if set.
9318 (grub_checkkey): Likewise.
9319 (grub_getkeystatus): Likewise.
9320 * term/serial.c: Moved controller-specific parts to ...
9321 * term/ns8250.c: ... here.
9322 * term/serial.c: Mostly rewritten.
9323 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
9324 according to spec.
9325
21a313de
RM
93262010-08-20 Robert Millan <rmh@gnu.org>
9327
9328 Make kFreeBSD code more generic to support ext2fs as root, ufs as
9329 a separate module and maybe other interesting combinations.
9330
9331 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
9332 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
9333 (kfreebsd_entry): Add generic filesystem module load routine.
9334 Map GRUB `ext2' to kFreeBSD `ext2fs'.
9335
63c734a6
CW
93362010-08-20 Colin Watson <cjwatson@ubuntu.com>
9337
9338 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
9339 "numcenter" (I misunderstood the purpose of this entry).
9340 * docs/grub.texi (sendkey): Likewise.
9341
c4d16542
CW
93422010-08-20 Colin Watson <cjwatson@ubuntu.com>
9343
9344 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
9345 status flag options; simply omitting the option is equivalent and
9346 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
9347 (keysym_table): Rename "num5numlock" to "numlock".
9348 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
9349 can uniformly say that only the last of multiple `sendkey'
9350 invocations has any effect.
9351 * docs/grub.texi (sendkey): New section.
9352
93541d66
CW
93532010-08-19 Colin Watson <cjwatson@ubuntu.com>
9354
9355 * commands/i386/pc/sendkey.c (options): Fix three typos.
9356
b4ece5e1
VS
93572010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 Implement sendkey support.
9360
9361 * commands/i386/pc/sendkey.c: New file.
9362 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
9363 (sendkey_mod_SOURCES): New variable.
9364 (sendkey_mod_CFLAGS): Likewise.
9365 (sendkey_mod_LDFLAGS): Likewise.
9366
51f1f5af
CW
93672010-08-18 Colin Watson <cjwatson@ubuntu.com>
9368
9369 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
9370 fix warnings from Autoconf.
9371
9da94e05
CW
93722010-08-18 Colin Watson <cjwatson@ubuntu.com>
9373
9374 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9375 to avoid false positives with some assemblers that output things
9376 like "someprefix_func" as part of their output.
9377
729a0f2e
RM
93782010-08-15 Robert Millan <rmh@gnu.org>
9379
9380 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
9381 errors.
9382 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
9383 grub_get_libzfs_handle() errors.
9384
f3710e08
RM
93852010-08-14 Robert Millan <rmh@gnu.org>
9386
9387 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
9388 filesystem is not ZFS.
9389
7a3c13de
BC
93902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9391
9392 Fix for misspelled color names defaulting to black/black (bug
9393 reported by Doug Nazar)
9394
9395 * include/grub/normal.h (grub_parse_color_name_pair): Add return
9396 status to prototype.
9397 * normal/color.c (grub_parse_color_name_pair): Return failure
9398 status.
9399 (grub_env_write_color_normal): Ignore bad color names.
9400 (grub_env_write_color_highlight): Likewise.
9401 * normal/main.c (GRUB_MOD_INIT): Set default color names.
9402
ab8ba50d
BC
94032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9404
9405 "shift" command support to GRUB script.
9406
9407 * include/grub/script_sh.h (grub_script_shift): New prototype.
9408 * script/execute.c (grub_script_shift): New function.
9409 * script/main.c (grub_script_init): Register shift command.
9410 (grub_script_fini): Unregister shift command.
9411 * util/grub-script-check.c (grub_script_cmd_shift): New function.
9412
9413 * tests/grub_script_shift.in: New testcase.
9414 * conf/tests.rmk: Rules for new testcase.
9415
4d61999e
BC
94162010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9417
9418 "continue" command support to GRUB script.
9419
9420 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
9421 (grub_script_break): Continue support.
9422 * script/main.c (grub_script_init): Register continue command.
9423 (grub_script_fini): Unregister continue command.
9424
9425 * tests/grub_script_continue.in: New testcase.
9426 * conf/tests.rmk: Rules for new testcase.
9427
4df51e00
BC
94282010-08-12 BVK Chaitanya <bvk@dbook>
9429
9430 "break" command support to GRUB script.
9431
9432 * conf/common.rmk: Rule updates to grub-script-check.
9433 * include/grub/misc.h (grub_min): New function.
9434 * include/grub/script_sh.h (grub_script_init): New prototype.
9435 (grub_script_fini): New prototype.
9436 (grub_script_break): New prototype.
9437 * script/main.c (grub_script_init): New function.
9438 (grub_script_fini): New function.
9439 * script/execute.c (grub_script_break): New function.
9440 * normal/main.c: Calls to grub_script_{init,fini}.
9441 * util/grub-script-check.c (grub_script_break): New function.
9442
9443 * tests/grub_script_break.in: New testcase.
9444 * conf/tests.rmk: Rules for new test case.
9445
f12c8420
BC
94462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9447
9448 Function parameters support to GRUB script.
9449
9450 * script/yylex.l (VARIABLE): Regular expression update.
9451 * script/function.c (grub_script_function_call): Moved ...
9452 * script/execute.c (grub_script_function_call): ... to here.
9453 (grub_script_execute_arglist_to_argv): Removed.
9454 (grub_script_arglist_to_argv): New function.
9455 * script/argv.c: New file.
9456 (grub_script_argv_free): New function.
9457 (grub_script_argv_next): Likewise.
9458 (grub_script_argv_append): Likewise.
9459 (grub_script_argv_split_append): Likewise.
9460 * include/grub/script_sh.h (grub_script_argv): New struct.
9461 (grub_script_argv_free): New function.
9462 (grub_script_argv_next): Likewise.
9463 (grub_script_argv_append): Likewise.
9464 (grub_script_argv_split_append): Likewise.
9465
9466 * conf/common.rmk (normal.mod): New source script/argv.c.
9467
9468 * tests/grub_script_echo1.in: More tests.
9469 * tests/grub_script_vars1.in: Likewise.
9470 * tests/grub_script_functions.in: New test case.
9471 * conf/tests.rmk: Rules for new testcase.
9472
8022b748
BC
94732010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9474
9475 Remove grub_script_cmdblock struct.
9476
9477 * include/grub/script_sh.h: Remove grub_script_cmdblock.
9478 * script/parser.y: Likewise.
9479 * script/execute.c: Rename cmdblock suffix to cmdlist.
9480 * script/script.c: Likewise.
9481 * util/grub-script-check.c: Likewise.
9482
79a6ba61
YB
94832010-08-11 Yves Blusseau <blusseau@zetam.org>
9484
9485 * .bzrignore: add grub-macho2img
9486
d04b9414
VS
94872010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
9490
f947ab49
VS
94912010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 Remove the dump of sm712 initialisation sequence.
9494
9495 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
9496 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
9497 (GRUB_VGA_IO_MISC_WRITE): Likewise.
9498 (GRUB_VGA_CR_*): Added many registers.
9499 (GRUB_VGA_SR_*): Likewise.
9500 (GRUB_VGA_GR_*): Likewise.
9501 (grub_vga_write_arx): New function.
9502 (grub_video_hw_config): New struct.
9503 (grub_vga_set_geometry): New function.
9504 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
9505 GRUB_PCI_CLASS_SUBCLASS_VGA.
9506 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
9507 * video/sm712.c (grub_sm712_write_reg): New function
9508 (grub_sm712_read_reg): Likewise.
9509 (grub_sm712_sr_write): Likewise.
9510 (grub_sm712_gr_write): Likewise.
9511 (grub_sm712_cr_write): Likewise.
9512 (grub_sm712_write_arx): Likewise.
9513 (grub_sm712_cr_shadow_write): Likewise.
9514 (grub_sm712_write_dda_lookup): Likewise.
9515 (grub_video_sm712_setup): Initialise the video rather then
9516 blindly replay the dump.
9517 (main) [TEST]: Add a routine to be able to compile as standalone for
9518 tests.
9519 * video/sm712_init.c (sm712_init): Removed.
9520 (sm712_sr_seq1): New array.
9521 (sm712_sr_seq2): Likewise.
9522
f0206638
VS
95232010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * include/grub/vga.h: Add missing grub/pci.h include.
9526
2764da3b
YB
95272010-08-10 Yves Blusseau <blusseau@zetam.org>
9528
9529 * util/grub-macho2img.c (main): fix typo
9530
cf0c775e
VS
95312010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
9534 (grub_vga_gr_read): Likewise.
9535 (grub_vga_cr_write): Likewise.
9536 (grub_vga_cr_read): Likewise.
9537 (grub_vga_sr_write): Likewise.
9538 (grub_vga_sr_read): Likewise.
9539 (grub_vga_palette_read): Likewise.
9540 (grub_vga_palette_write): Likewise.
9541 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
9542 (grub_sm712_sr_read): New function.
9543 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
9544 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
9545
07f360e9
RM
95462010-08-09 Robert Millan <rmh@gnu.org>
9547
9548 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
9549 out unused variables on non-ZFS build.
9550
346c2072
RM
95512010-08-08 Robert Millan <rmh@gnu.org>
9552
9553 Fix path generation for sub-filesystems in ZFS.
9554
9555 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
9556 missing slash.
9557
71175420
RM
95582010-08-08 Robert Millan <rmh@gnu.org>
9559
9560 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
9561
0d8286f3
RM
95622010-08-08 Robert Millan <rmh@gnu.org>
9563
9564 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
9565 exist, issue a proper error message (rely on `ls' for translated
9566 strings).
9567
55dd2924
RM
95682010-08-08 Robert Millan <rmh@gnu.org>
9569
9570 Fix grub-probe invocation.
9571
9572 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
9573
d3dd9e80
RM
95742010-08-04 Robert Millan <rmh@gnu.org>
9575
9576 * configure.ac: Remove checks for getfsstat() and getmntany().
9577 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
9578 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
9579 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
9580 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
9581 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
9582 function.
9583 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
9584 via find_mount_point_from_dir() and getfsstat() / getmntany().
9585
0de22aa9
RM
95862010-08-04 Robert Millan <rmh@gnu.org>
9587
9588 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9589 (grub_find_zpool_from_mount_point): Merge into ...
9590 (grub_find_zpool_from_dir): ... this.
9591 * kern/emu/misc.c: Likewise.
9592
9593 * kern/emu/misc.c
9594 (grub_make_system_path_relative_to_its_root): Replace
9595 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
9596 with grub_find_zpool_from_dir().
9597 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
9598
62858144
RM
95992010-08-04 Robert Millan <rmh@gnu.org>
9600
9601 Support OpenSolaris in ZFS device resolution.
9602
9603 * configure.ac: Check for getmntany().
9604 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
9605 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
9606 support.
9607
9dd6fd50
RM
96082010-08-03 Robert Millan <rmh@gnu.org>
9609
9610 Fix grub-emu build.
9611
9612 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
9613 * include/grub/emu/misc.h: ... here.
9614
9615 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
9616 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
9617
9618 * util/misc.c: Remove `<grub/util/libzfs.h>'.
9619 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
9620 (grub_get_libzfs_handle): Move to ...
9621 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
9622 (grub_get_libzfs_handle): ... here.
9623
c9f7ff97
BC
96242010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
9625
9626 * script/execute.c (grub_script_execute_cmdline): Check for NULL
9627 as command name case.
9628
a870a783
CW
96292010-08-02 Colin Watson <cjwatson@ubuntu.com>
9630
9631 * disk/raid.c (insert_array): Select unique numbers for named arrays
9632 as well, for use as keys in the disk cache.
9633
c7db243b
RM
96342010-08-01 Robert Millan <rmh@gnu.org>
9635
9636 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
9637 kFreeBSD device name, except on ZFS where the filesystem label is
9638 used.
9639 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
9640 `/boot/zfs/zpool.cache'.
9641 Set mountfrom kernel variable using ${kfreebsd_device}.
9642
f7abdefb
RM
96432010-08-01 Robert Millan <rmh@gnu.org>
9644
9645 Make it even harder to use uninitialized `libzfs_handle' (and
9646 make the interface a bit simpler).
9647
9648 * include/grub/util/misc.h (grub_util_init_libzfs)
9649 (libzfs_handle): Remove.
9650 (grub_get_libzfs_handle): New prototype.
9651
9652 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
9653 attribute.
9654 (grub_util_init_libzfs): Remove.
9655 (grub_get_libzfs_handle): New function.
9656
9657 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
9658 grub_get_libzfs_handle() to obtain a libzfs handle instead of
9659 accessing `libzfs_handle' directly.
9660
c882acc0
RM
96612010-08-01 Robert Millan <rmh@gnu.org>
9662
9663 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9664 (grub_find_zpool_from_mount_point): New function prototypes.
9665
9666 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9667 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9668
9669 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9670 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9671 `static' attribute.
9672
9673 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9674 finding zpool from mount point into ...
9675 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9676
9677 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9678 requested path is part of a ZFS pool, use
9679 grub_find_zpool_from_mount_point() to detect its filesystem name,
9680 and generate a path with `/fsname@path' syntax.
9681
8bfe31d8
CW
96822010-08-01 Colin Watson <cjwatson@ubuntu.com>
9683
9684 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
9685 (void) rather than () so that this is a proper prototype.
9686
553df63d
VS
96872010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
9690
8687cf07
VS
96912010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
9694 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
9695
ea9be8ea
CW
96962010-08-01 Colin Watson <cjwatson@ubuntu.com>
9697
9698 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
9699
6eea041a
CW
97002010-08-01 Colin Watson <cjwatson@ubuntu.com>
9701
9702 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
9703
2cfb45df
CW
97042010-08-01 Colin Watson <cjwatson@ubuntu.com>
9705
9706 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
9707 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
9708 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
9709 disable gfxpayload.
9710 (Shell-like scripting): Add real content.
9711 (Serial terminal): Suggest `terminal_input serial; terminal_output
9712 serial' rather than putting the two commands on separate lines,
9713 since console input will be inoperative after the first command.
9714 (menuentry): Document --class, --users, and --hotkey options.
9715 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
9716 Vladimir Serbinenko).
9717
7decd202
VS
97182010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
97192010-08-01 Colin Watson <cjwatson@ubuntu.com>
9720
9721 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
9722
c882acc0
RM
97232010-08-01 Robert Millan <rmh@gnu.org>
9724
9725 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9726 (grub_find_zpool_from_mount_point): New function prototypes.
9727
9728 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9729 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9730
9731 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9732 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9733 `static' attribute.
9734
9735 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9736 finding zpool from mount point into ...
9737 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9738
9739 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9740 requested path is part of a ZFS pool, use
9741 grub_find_zpool_from_mount_point() to detect its filesystem name,
9742 and generate a path with `/fsname@path' syntax.
9743
deb0caa3
RM
97442010-08-01 Robert Millan <rmh@gnu.org>
9745
9746 Prevent accidental use of uninitialized libzfs_handle.
9747
9748 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
9749 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
9750 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
9751
ce04ef47
CW
97522010-08-01 Colin Watson <cjwatson@ubuntu.com>
9753
9754 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
9755 util/grub.d/10_linux.in). Fixes Debian bug #591093.
9756
ebf53056
RM
97572010-08-01 Robert Millan <rmh@gnu.org>
9758
9759 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 9760
3710bb6b
RM
97612010-07-31 Robert Millan <rmh@gnu.org>
9762
9763 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
9764
8072efeb
RM
97652010-07-31 Robert Millan <rmh@gnu.org>
9766
9767 * kern/emu/misc.c: Add missing license header.
9768
3169f4c7
RM
97692010-07-31 Robert Millan <rmh@gnu.org>
9770
9771 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
9772
9773 * include/grub/util/libnvpair.h: Include `<config.h>'.
9774 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
9775 declaring libnvpair prototypes ourselves.
9776 * include/grub/util/libzfs.h: Include `<config.h>'.
9777 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
9778 declaring libzfs prototypes ourselves.
9779
9780 (libzfs_handle): Moved to ...
9781 * include/grub/util/misc.h (libzfs_handle): ... here.
9782 Include `<grub/util/libzfs.h>'.
9783
c9a00aee
RM
97842010-07-30 Robert Millan <rmh@gnu.org>
9785
9786 * include/grub/emu/misc.h: Add missing license header.
9787
a184f9c8
RM
97882010-07-30 Robert Millan <rmh@gnu.org>
9789
9790 Enable `grub-probe -t device' resolution on ZFS.
9791
9792 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
9793 * include/grub/util/libnvpair.h: New file.
9794 * include/grub/util/libzfs.h: New file.
9795
9796 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
9797 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
9798 `<grub/util/libnvpair.h>'.
9799 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
9800
9801 (find_mount_point_from_dir): New static function.
9802 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
9803 function.
9804 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
9805 find_root_device_from_libzfs() before ressorting to find_root_device().
9806
9807 * include/grub/util/misc.h (grub_util_init_libzfs): New function
9808 prototype.
9809 * util/misc.c: Include `<grub/util/libzfs.h>'.
9810 (grub_util_init_libzfs): New function.
9811 [HAVE_LIBZFS] (libzfs_handle): New global variable.
9812 [HAVE_LIBZFS] (fini_libzfs): New static function.
9813 (grub_util_init_libzfs): New function.
9814 * util/grub-probe.c (main): Call grub_util_init_libzfs().
9815
f7790cdd
RM
98162010-07-30 Robert Millan <rmh@gnu.org>
9817
9818 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
9819 (xmalloc, xrealloc, xstrdup, xasprintf): Add
9820 `warn_unused_result' attribute.
9821 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
9822 (grub_xasprintf, grub_xvasprintf): Likewise.
9823 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
9824
0806b63c
RM
98252010-07-29 Robert Millan <rmh@gnu.org>
9826
9827 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
9828 (probe): Handle `PRINT_FS_LABEL'.
9829 (main): Handle `-t fs_label'.
9830
9f841f5c
RM
98312010-07-29 Robert Millan <rmh@gnu.org>
9832
9833 * configure.ac: Remove grub-mkisofs checks.
9834
46371121
VS
98352010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * util/ieee1275/grub-install.in: Don't use empty grub_device.
9838 Reported by: Lennart Sorensen.
9839
98402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
9843 prior to terminal_input/terminal_output separation. It's been over 1.5
9844 years and those versions weren't widely deployed.
9845
a9600892
CW
98462010-07-22 Colin Watson <cjwatson@ubuntu.com>
9847
9848 * disk/raid.c (insert_array): Don't count named arrays when looking
9849 for unused array numbers.
697e053c 9850 Reported and tested by: Michael Guntsche.
a9600892 9851
c03507df
CW
98522010-07-20 Colin Watson <cjwatson@ubuntu.com>
9853
9854 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
9855 implementation of this so that grub-emu links again, with a note
9856 that this should support hotplugging in the future.
9857
b26f1c11
CW
98582010-07-20 Colin Watson <cjwatson@ubuntu.com>
9859
9860 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
9861
efc9d7f1
CW
98622010-07-20 Colin Watson <cjwatson@ubuntu.com>
9863
9864 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
9865 handle on failure.
9866 (grub_loopback_close): Remove empty function.
9867 (grub_loopback_dev): Remove close method.
9868
dd8ff5c9
CW
98692010-07-20 Colin Watson <cjwatson@ubuntu.com>
9870
9871 Disable EFI cursor when the EFI console becomes inactive.
9872
9873 * term/efi/console.c (grub_efi_console_init): New function.
9874 (grub_efi_console_fini): New function.
9875 (grub_console_term_output): Register init and fini methods.
9876
5e3bec67
VS
98772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * tests/util/grub-shell-tester.in: Remove bashism and declare as
9880 sh script.
9881
afaec079
VS
98822010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * disk/loopback.c (grub_loopback): Replace filename with file.
9885 (delete_loopback): Handle new semantics.
9886 (grub_cmd_loopback): Likewise.
9887 (grub_loopback_iterate): Likewise.
9888 (grub_loopback_close): Likewise.
9889
a6a11f3c
VS
98902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
9893 with -p "".
9894 Reported by: Tito Keitel.
9895
64a638b0
VS
98962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 * docs/grub.texi (Naming convention): Document new naming convention.
9899
ab8ba957
VS
99002010-07-20 Vadim Solomin <vadic052@gmail.com>
99012010-07-20 Colin Watson <cjwatson@ubuntu.com>
9902
9903 Generate device.map in something closer to the old ordering.
9904
9905 * util/deviceiter.c (struct device): New declaration.
9906 (compare_file_names): Rename to ...
9907 (compare_devices): ... this. Sort by kernel name in preference to
9908 the stable by-id name, but keep the latter as a fallback comparison.
9909 Update header comment.
9910 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
9911 of `struct device' rather than of plain file names.
9912
a29d6a4b
TF
99132010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
9914
9915 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
9916 on i386.
9917
39d824e8
VS
99182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * commands/acpi.c (setup_common_tables): Use sizeof instead of
9921 hardcoding size.
9922 (setv1table): Likewise.
9923
f058276b
FZ
99242010-07-20 Colin Watson <cjwatson@ubuntu.com>
9925
9926 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
9927 removing the homehost if present.
9928 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
9929 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
9930 removing the homehost if present.
9931 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
9932 if possible.
9933 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
9934
9935 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
9936 parameter. Set its pointer target to 0.
9937 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
9938 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
9939 `data_offset' value from the superblock for 1.x metadata.
9940 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
9941 data on the device.
9942 (insert_array): Record the start sector of data on the device.
9943 (grub_raid_register): Pass start_sector parameters to
9944 grub_raid_list->detect and insert_array.
9945 * include/grub/raid.h (struct grub_raid_array): Add start_sector
9946 member.
9947 (struct grub_raid): Add start_sector parameter to `detect'.
9948
9949 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
9950 __attribute__ ((packed)), leaving a comment.
9951 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
9952 (grub_mdraid_detect_09): ... here and ...
9953 (grub_mdraid_detect_1x): ... here.
9954
99552010-07-20 Peter Henn <peter.henn@web.de>
9956
9957 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
9958 chunk size and disk size, which are already given as sector counts
9959 as distinct from the 0.90 units. Fetch the correct device number
9960 from the role table instead of using the table index.
9961
99622010-07-20 Felix Zielcke <fzielcke@z-51.de>
9963
9964 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
9965 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
9966 (WriteMostly1): New macro.
9967 Set array->name to NULL for metadata format 0.90. Add support for
9968 metadata 1.x. Fix some comments.
9969 * disk/raid.c (): Add support for name based RAID arrays. Fix a
9970 few comments.
9971 * util/getroot.c (grub_util_get_grub_dev): Add support for
9972 /dev/md/name style devices.
9973
4b761da9
CW
99742010-07-20 Colin Watson <cjwatson@ubuntu.com>
9975
9976 * .bzrignore: Ignore 20_linux_xen.
9977
5771289a
CW
99782010-07-17 Colin Watson <cjwatson@ubuntu.com>
9979
9980 * util/import_unicode.py: Remove unnecessary imports.
9981
5dab68df
AN
99822010-07-17 Aleš Nesrsta <starous@volny.cz>
9983
9984 Hotplugging and USB hub support.
9985
9986 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
9987 (grub_ohci): Likewise.
9988 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
9989 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
9990 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
9991 (GRUB_OHCI_CTRL_EDS): Likewise.
9992 (GRUB_OHCI_BULK_EDS): Likewise.
9993 (GRUB_OHCI_TDS): Likewise.
9994 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
9995 (grub_ohci_ed_phys2virt): New function.
9996 (grub_ohci_virt_to_phys): Likewise.
9997 (grub_ohci_td_phys2virt): Likewise.
9998 (grub_ohci_td_virt2phys): Likewise.
9999 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
10000 attachment.
10001 (grub_ohci_find_ed): New function.
10002 (grub_ohci_alloc_td): Likewise.
10003 (grub_ohci_free_td): Likewise.
10004 (grub_ohci_free_tds): Likewise.
10005 (grub_ohci_transfer): Use previously allocated memory.
10006 (grub_ohci_portstatus): Reset status changed bit.
10007 (grub_ohci_detect_dev): Supply status changed.
10008 (grub_ohci_fini_hw): Free memory.
10009 (grub_ohci_restore_hw): Reallocate memory.
10010 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
10011 Reset status change.
10012 (grub_uhci_detect_dev): Supply status_change.
10013 * bus/usb/usb.c (attach_hooks): New var.
10014 (grub_usb_device_attach): New function.
10015 (grub_usb_register_attach_hook_class): Likewise.
10016 (grub_usb_unregister_attach_hook_class): Likewise.
10017 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
10018 (grub_usb_add_hub): Reset connection changed bit.
10019 (attach_root_port): New function.
10020 (grub_usb_root_hub): Likewise.
10021 (poll_nonroot_hub): Likewise.
10022 (grub_usb_poll_devices): Likewise.
10023 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
10024 * disk/usbms.c (grub_usbms_open): Use device hooks.
10025 (grub_usbms_iterate) :Poll devices.
10026 (grub_usbms_finddevs): Split into ...
10027 (grub_usbms_attach): ... this ...
10028 (grub_usbms_attach): ... and this.
10029 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
10030 in detect_dev.
10031 (grub_usb_interface): New fields attached and detach_hook.
10032 (grub_usb_attach_hook_class): New type.
10033 (grub_usb_attach_desc): New struct.
10034 (grub_usb_register_attach_hook_class): New function.
10035 (grub_usb_unregister_attach_hook_class): Likewise.
10036 (grub_usb_poll_devices): Likewise.
10037 (grub_usb_device_attach): Likewise.
10038 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
10039 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
10040
3222efaf
VS
100412010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
10044 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
10045 delta determination style. Works with most NetBSD partitions too.
10046
139b714a
VS
100472010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
10050 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
10051
986aad56
VS
100522010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
10055
99be513c
AB
100562010-07-14 Anton Blanchard <anton@samba.org>
10057
10058 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
10059 ET_DYN files.
10060
18075f62
GS
100612010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10062
10063 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
10064
8d9a5b15
GS
100652010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10066
10067 * kern/partition.c (grub_partition_check_containment): New function to
10068 check that a partition is physically contained in a parent. Since
10069 offsets are relative (and non-negative), this reduces to checking that
10070 the partition ends before its parent.
10071 (grub_partition_map_probe): Discard out-of-range sub-partitions.
10072 (grub_partition_iterate): Likewise.
10073 * include/grub/partition.h (grub_partition_map): Slightly more detailed
10074 comments.
10075 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
10076 partitions that start before their parent, and add debug printfs.
10077
19563c25
CW
100782010-07-13 Colin Watson <cjwatson@ubuntu.com>
10079
10080 * Makefile.in (.SUFFIX): Spell correctly, as ...
10081 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
10082 bare module name without `.mod', e.g. `test') tried to invoke a
10083 Modula-2 compiler.
10084
1a1f1e67
CW
100852010-07-13 Colin Watson <cjwatson@ubuntu.com>
10086
10087 * README: Point to the Info manual.
10088
811b0dca
JS
100892010-07-13 Jiro SEKIBA <jir@unicus.jp>
10090
10091 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
10092 2nd superblock position from partition size.
10093
e4f4eafc
CW
100942010-07-10 Colin Watson <cjwatson@ubuntu.com>
10095
10096 * Makefile.in (MAINTAINER_CLEANFILES): Remove
10097 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
10098 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
10099 outputs.
10100
4274c30f
VS
101012010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 Restructure SCSI .id handling.
10104 Reported and tested by: Aleš Nesrsta.
10105
10106 * disk/ata.c (grub_atapi_close): Removed. All users updated.
10107 (grub_atapi_dev): Changed .name to "ata". New field .id.
10108 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
10109 (grub_usbms_dev): New field .id.
10110 * disk/scsi.c (grub_scsi_iterate): Generate name.
10111 (grub_scsi_open): Parse name.
10112 * include/grub/scsi.h (grub_make_scsi_id): New function.
10113 (grub_scsi_dev): Change iterate and open to number instead of naming
10114 busses. All users updated.
10115 (grub_scsi): Remove name. Add .bus.
10116
5bc24388
VS
101172010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * commands/help.c (grub_cmd_help): Fix a typo.
10120
249975ba
VS
101212010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
10124 Reported and tested by: Colin Watson.
10125
3eaac1a1
VS
101262010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
10129 in this context.
10130
becce1b1
VS
101312010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
10134
f7bf0918
CW
101352010-07-07 Colin Watson <cjwatson@ubuntu.com>
10136
10137 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
10138 indentation.
10139
0b0f9620
CW
101402010-07-06 Colin Watson <cjwatson@ubuntu.com>
10141
10142 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
10143 and disk/raid6_recover.c.
10144 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10145 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
10146
1e545469
CW
101472010-07-06 Colin Watson <cjwatson@ubuntu.com>
10148
10149 * term/gfxterm.c (repaint_schedulded): Rename to ...
10150 (repaint_scheduled): ... this. Update all callers.
10151 (repaint_was_schedulded): Rename to ...
10152 (repaint_was_scheduled): ... this. Update all callers.
10153
5357687a
CW
101542010-07-06 Colin Watson <cjwatson@ubuntu.com>
10155
10156 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
10157 which we expect to be handled by upper layers.
10158
29d7e783
BC
101592010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
10160
10161 * bus/usb/usbhub.c: #include time.h header.
10162
37582066
CW
101632010-07-06 Colin Watson <cjwatson@ubuntu.com>
10164
10165 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
10166 entry_name also for entries without stat blocks (e.g. ".."); fixes
10167 corruption of the first entry in a directory.
10168
c8c06953
CW
101692010-07-06 Colin Watson <cjwatson@ubuntu.com>
10170
10171 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
10172 after setting gfxterm as the active terminal. GRUB_BACKGROUND
10173 doesn't work otherwise.
10174
e75056f1
CW
101752010-07-05 Colin Watson <cjwatson@ubuntu.com>
10176
10177 * docs/grub.texi (Features): Update list of supported file systems.
10178 (GNU/Linux): Update for GRUB 2.
10179 (Serial terminal): Remove mention of --disable-serial, which was a
10180 GRUB Legacy configure option. Update instructions to use
10181 `terminal_input' and `terminal_output' rather than `terminal'.
10182 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
10183 configuration' and `Installing GRUB using grub-install'.
10184 (Menu entry editor): Update for GRUB 2.
10185 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
10186 Document new -a, -u, and -v options.
10187 (initrd): New section.
10188 (initrd16): New section.
10189 (linux): New section.
10190 (linux16): New section.
10191 (search): The `var' argument to `--set' is optional.
10192 (GRUB only offers a rescue shell): Go into a little more detail on
10193 drive ordering.
10194
5cf69151
CW
101952010-07-05 Colin Watson <cjwatson@ubuntu.com>
10196
10197 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
10198
e3f90044
CW
101992010-07-05 Colin Watson <cjwatson@ubuntu.com>
10200
10201 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
10202 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
10203
38d8f4f3
CW
102042010-07-05 Colin Watson <cjwatson@ubuntu.com>
10205
10206 * util/i386/pc/grub-setup.c (setup): Rename prefix to
10207 install_prefix, in line with install_dos_part and install_bsd_part.
10208 Add new prefix variable, which is copied to install_prefix after
10209 comparing core.img in memory with the one read from disk in the
10210 no-embedding case, and use that rather than overwriting
10211 install_prefix immediately when installing to a partition.
10212 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
10213 Bicakci.
10214
57ebd41e
GS
102152010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10216
10217 * configure.ac: Avoid == in test command, it's not portable.
10218 * util/grub.d/30_os-prober.in: Likewise.
10219
cb7f64b2
CW
102202010-07-04 Colin Watson <cjwatson@ubuntu.com>
10221
10222 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
10223
6b654bb0
GS
102242010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10225
10226 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
10227 multiple (top-level) partmaps.
10228
72a2026d
VS
102292010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 10232 Reported by: Tino Keitel.
72a2026d 10233
df3eb88f
VS
102342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 Bidi and diacritics support.
10237
10238 * Makefile.in (widthspec.bin): New target.
10239 (widthspec.h): Likewise.
10240 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
10241 * autogen.sh: Generate unidata.c.
10242 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
10243 * commands/ls.c (grub_ls_list_devices): Likewise.
10244 (grub_ls_list_files): Likewise.
10245 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
10246 (grub_mini_cmd_lsmod): Likewise.
10247 * commands/read.c: Likewise.
10248 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
10249 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
10250 * lib/arg.c (grub_arg_show_help): Likewise.
10251 * lib/crypto.c (grub_password_get): Likewise.
10252 * normal/auth.c (grub_username_get): Likewise.
10253 * normal/misc.c (grub_normal_print_device_info): Likewise.
10254 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
10255 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
10256 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
10257 (normal/charset.c_DEPENDENCIES): New variable.
10258 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
10259 (pkglib_MODULES): Remove charset.mod.
10260 (charset_mod_SOURCES): Removed.
10261 (charset_mod_CFLAGS): Likewise.
10262 (charset_mod_LDFLAGS): Likewise.
10263 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
10264 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
10265 and term/tparm.c.
10266 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10267 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10268 (kernel_img_HEADERS): Add terminfo.h.
10269 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
10270 Fill ->font. Reverse ascii bitmaps.
10271 (grub_font_get_xheight): New function.
10272 * font/font.c (grub_font_get_string_width): Moved from here ...
10273 * gfxmenu/font.c (grub_font_get_string_width): ... here.
10274 * font/font.c (grub_font_draw_string): Moved from here ...
10275 * gfxmenu/font.c (grub_font_draw_string): ... here.
10276 * font/font.c (grub_font_dup_glyph): New function.
10277 (grub_font_blit_glyph): Likewise.
10278 (grub_font_blit_glyph_mirror): Likewise.
10279 (blit_comb): Likewise.
10280 (grub_font_construct_dry_run): Likewise.
10281 (grub_font_get_constructed_device_width): Likewise.
10282 (grub_font_construct_glyph): Likewise.
10283 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
10284 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
10285 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
10286 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
10287 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
10288 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
10289 (grub_font_get_xheight): New proto.
10290 (grub_font_get_constructed_device_width): Likewise.
10291 (grub_font_construct_glyph): Likewise.
10292 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
10293 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
10294 * include/grub/font.h (grub_font_draw_string): Moved from here ...
10295 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
10296 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
10297 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
10298 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
10299 (grub_console_getcharwidth): Likewise.
10300 * include/grub/misc.h (grub_xputs): New proto.
10301 (grub_puts): Inlined.
10302 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
10303 (grub_normal_get_line_counter): Removed.
10304 (grub_install_newline_hook): Likewise.
10305 (grub_normal_get_char_counter): New proto.
10306 (grub_normal_reset_more): Likewise.
10307 (grub_xputs_normal): Likewise.
10308 * include/grub/powerpc/ieee1275/console.h: Removed.
10309 * include/grub/sparc64/ieee1275/console.h: Likewise.
10310 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
10311 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
10312 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
10313 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
10314 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
10315 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
10316 (grub_term_input): Pass reference to self. All users updated.
10317 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
10318 Pass reference to self. New fields normal_color, highlight_color and
10319 data. All users updated.
10320 (grub_putchar): Removed.
10321 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
10322 (grub_unicode_estimate_width): New function.
10323 (grub_term_getcharwidth): Add defaults.
10324 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
10325 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
10326 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
10327 (grub_cls): Remove EXPORT_FUNC.
10328 (grub_setcolorstate): Inline.
10329 (grub_newline_hook): Removed.
10330 * include/grub/terminfo.h: Rewritten. All users updated.
10331 * include/grub/unicode.h: New file.
10332 * include/grub/video.h (grub_video_signed_rect): New type.
10333 * kern/emu/console.c (grub_console_highlight_color): Removed.
10334 (grub_console_normal_color): Likewise.
10335 (grub_console_standard_color): Made static.
10336 (grub_ncurses_putchar): Remove mapping.
10337 (grub_ncurses_getcharwidth): Removed.
10338 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10339 (grub_ncurses_setcolor): Removed.
10340 (grub_ncurses_getcolor): Likewise.
10341 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
10342 (grub_console_putchar): ... this.
10343 (grub_console_putchar): Handle argument difference.
10344 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
10345 console_init_early and console_init_lately.
10346 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
10347 * kern/misc.c (grub_puts): Removed.
10348 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
10349 (grub_vsnprintf_real): Remove str = NULL support.
10350 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
10351 * normal/charset.c (grub_utf8_to_ucs4): ... here.
10352 * kern/term.c (grub_putcode): Renamed to ...
10353 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
10354 (grub_putchar): Removed.
10355 (grub_xputs_dumb): New function.
10356 (grub_xputs): New variable.
10357 * lib/charset.c: Move from here ...
10358 * normal/charset.c: ... to here.
10359 (grub_ucs4_to_utf8): New function.
10360 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
10361 (join_types): New variable.
10362 (unpack_join): New function.
10363 (bidi_types): New variable.
10364 (unpack_bidi): New function.
10365 (get_bidi_type): Likewise.
10366 (get_join_type): Likewise.
10367 (is_mirrored): Likewise.
10368 (grub_unicode_get_comb_type): Likewise.
10369 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
10370 (is_type_after): Likewise.
10371 (grub_unicode_aglomerate_comb): Likewise.
10372 (bidi_line_wrap): Likewise.
10373 (grub_bidi_line_logical_to_visual): Likewise.
10374 (grub_bidi_logical_to_visual): Likewise.
10375 (grub_unicode_mirror_code): Likewise.
10376 (grub_unicode_shape_code): Likewise.
10377 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
10378 Don't use grub_putchar.
10379 * normal/main.c (grub_normal_init_page): Use grub_putcode.
10380 (grub_normal_reader_init): Likewise.
10381 (grub_xputs_saved): New variable.
10382 (GRUB_MOD_INIT): Set grub_xputs.
10383 (GRUB_MOD_FINI): Restore grub_xputs.
10384 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
10385 (menu_init): Avoid printing gfxmenu error.
10386 (show_menu): Use grub_normal_get_char_counter.
10387 * normal/menu_entry.c (update_screen): Fix out-of-array.
10388 (complete): Avoid NULL dereferencing.
10389 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
10390 * normal/menu_text.c (print_spaces): Removed.
10391 (grub_print_ucs4): Likewise.
10392 (grub_print_message_indented): Use grub_print_ucs4.
10393 (print_message): Use grub_putcode.
10394 (print_entry): Hanlde diacritics.
10395 * normal/term.c (term_state): New type.
10396 (grub_more_lines): Removed.
10397 (term_states): New variable.
10398 (grub_normal_line_counter): Renamed to ..
10399 (grub_normal_char_counter): ...this. All users updated.
10400 (grub_normal_get_line_counter): Renamed to ...
10401 (grub_normal_get_char_counter): ... this.
10402 (grub_normal_reset_more): New function.
10403 (process_newline): Removed.
10404 (print_more): New function.
10405 (grub_install_newline_hook): Removed.
10406 (map_code): New function.
10407 (grub_puts_terminal): Use grub_print_ucs4.
10408 (putglyph): New function.
10409 (putcode_real): Likewise.
10410 (grub_putcode): Use putcode_real.
10411 (get_maxwidth): New function.
10412 (get_startwidth): Likewise.
10413 (print_ucs4_terminal): Likewise.
10414 (find_term_state): Likewise.
10415 (put_glyphs_terminal): Likewise.
10416 (print_backlog): Likewise.
10417 (print_ucs4_real): Likewise.
10418 (grub_print_ucs4): Likewise.
10419 (grub_xputs_normal): Likewise.
10420 * term/efi/console.c (grub_console_putchar): Output diacritics.
10421 (grub_console_getcharwidth): Removed.
10422 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10423 * term/gfxterm.c (clear_char): Free chars.
10424 (scroll_up): Avoid leaking memory.
10425 (grub_gfxterm_putchar): Support diacritics.
10426 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10427 * term/i386/pc/console.c (grub_console_term_output): Declare as
10428 GRUB_TERM_CODE_TYPE_VGA.
10429 * term/i386/pc/vga.c (grub_vga_term): Declare as
10430 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
10431 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
10432 GRUB_TERM_CODE_TYPE_VGA.
10433 * term/i386/vga_common.c (map_char): Removed.
10434 (grub_console_putchar): Likewise.
10435 (grub_console_getcharwidth): Likewise.
10436 * term/ieee1275/ofconsole.c: Simplify using terminfo.
10437 (colors): Reordered to match terminfo.
10438 (grub_ofconsole_normal_color): Removed.
10439 (grub_ofconsole_writeesc): Likewise.
10440 (grub_ofconsole_highlight_color): Likewise.
10441 (grub_ofconsole_getcharwidth): Likewise.
10442 (grub_ofconsole_setcolorstate): Likewise.
10443 (grub_ofconsole_setcolor): Likewise.
10444 (grub_ofconsole_getcolor): Likewise.
10445 (grub_ofconsole_readkey): Renamed to ...
10446 (readkey): ... this. Remove escape sequence handling. Return -1 on no
10447 key.
10448 (grub_ofconsole_checkkey): Removed.
10449 (grub_ofconsole_getkey): Likewise.
10450 (grub_ofconsole_getxy): Likewise.
10451 (grub_ofconsole_gotoxy): Likewise.
10452 (grub_ofconsole_cls): Likewise.
10453 (grub_ofconsole_refresh): Likewise.
10454 (grub_ofconsole_terminfo_input): New struct.
10455 (grub_ofconsole_terminfo_output): Likewise.
10456 (grub_ofconsole_term_input): Use terminfo.
10457 (grub_ofconsole_term_output): Likewise.
10458 (grub_console_init): Split into ...
10459 (grub_console_init_early): ...this and ...
10460 (grub_console_init_lately): ...this. Use terminfo.
10461 (grub_ofconsole_putchar): Renamed to ...
10462 (put): ... this. Remove mapping.
10463 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10464 * term/serial.c: Simplify using terminfo.
10465 (xpos): Removed.
10466 (ypos): Likewise.
10467 (keep_track): Likewise.
10468 (registered): Likewise.
10469 (input_buf): Likewise.
10470 (npending): Likewise.
10471 (serial_translate_key_sequence): Likewise.
10472 (fill_input_buf): Likewise.
10473 (grub_serial_checkkey): Likewise.
10474 (grub_serial_getkey): Likewise.
10475 (grub_serial_getxy): Likewise.
10476 (grub_serial_gotoxy): Likewise.
10477 (grub_serial_putchar): Likewise.
10478 (grub_serial_cls): Likewise.
10479 (grub_serial_setcolorstate): Likewise.
10480 (grub_serial_setcursor): Likewise.
10481 (serial_hw_init): Use serial_hw_fetch.
10482 (grub_serial_terminfo_input): New variable.
10483 (grub_serial_terminfo_output): Likewise.
10484 (grub_serial_term_input): Use terminfo.
10485 (grub_serial_term_output): Likewise.
10486 * term/terminfo.c (putstr): Use put.
10487 (grub_terminfo_all_free): New function
10488 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
10489 (grub_terminfo_output_register): New function.
10490 (grub_terminfo_output_unregister): Likewise.
10491 (grub_terminfo_getxy): Likewise.
10492 (grub_terminfo_readkey): Likewise.
10493 (grub_terminfo_checkkey): Likewise.
10494 (grub_terminfo_getkey): Likewise.
10495 (grub_terminfo_input_init): Likewise.
10496 (print_terminfo): Likewise.
10497 (grub_cmd_terminfo): Handle encoding.
10498 (grub_terminfo_gotoxy): Track position.
10499 (grub_terminfo_cls): Likewise.
10500 (grub_terminfo_putchar): Likewise.
10501 (grub_terminfo_setcolorstate): Handle colors
10502 (grub_terminfo_cursor_on): This ...
10503 (grub_terminfo_cursor_off): ... and this merged into ...
10504 (grub_terminfo_setcursor): ... this.
10505 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
10506 * unicode/ArabicShaping.txt: New file (imported from Unicode).
10507 * unicode/BidiMirroring.txt: Likewise.
10508 * unicode/UnicodeData.txt: Likewise.
10509 * unicode/COPYING: Likewise.
10510 * util/grub-editenv.c (grub_putchar): Removed.
10511 (grub_xputs_real): New function.
10512 (grub_xputs): New variable.
10513 * util/grub-fstest.c (grub_putchar): Removed.
10514 (grub_xputs_real): New function.
10515 (grub_xputs): New variable.
10516 * util/grub-mkdevicemap.c (grub_putchar): Removed.
10517 (grub_xputs_real): New function.
10518 (grub_xputs): New variable.
10519 * util/grub-probe.c (grub_putchar): Removed.
10520 (grub_xputs_real): New function.
10521 (grub_xputs): New variable.
10522 * util/grub-script-check.c (grub_putchar): Removed.
10523 (grub_xputs_real): New function.
10524 (grub_xputs): New variable.
10525 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
10526 (grub_xputs_real): New function.
10527 (grub_xputs): New variable.
10528 * util/import_unicode.py: New file.
10529 * util/grub-mkfont.c (ft_errmsgs): New array.
10530 (grub_glyph_info): Make bitmap a pointer.
10531 (file_formats): New type WIDTH_SPEC.
10532 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
10533 (options): Add width-spec.
10534 (help): Likewise.
10535 (add_char): Renamed to ...
10536 (add_glyph): ... this.
10537 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
10538 (glyph_replace): New type.
10539 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
10540 (add_char): New function.
10541 (add_subst): Likewise.
10542 (process_cursive): Likewise.
10543 (add_font): Handle GSUB.
10544 (write_font_width_spec): New function.
10545 (main): Sort glyphs.
10546 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
10547 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
10548 * kern/term.c (grub_cls): Moved from here...
10549 * normal/term.c (grub_cls): ... here.
10550
50f0bcda
CW
105512010-07-02 Colin Watson <cjwatson@ubuntu.com>
10552
10553 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
10554 suitable for using within the format argument of printf when
10555 converting grub_size_t.
10556 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
10557 "x" to convert grub_size_t arguments.
10558
40372103
VS
105592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
10562 too long captions.
10563 (list_get_minimal_size): Take selection box into account.
10564
942a10c7
VS
105652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
10568 NULL font.
10569
2bdb2892
CW
105702010-07-02 Colin Watson <cjwatson@ubuntu.com>
10571
10572 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
10573 devices when iterating over /dev/disk/by-id; they will be handled
10574 later if appropriate, which they aren't always (e.g. LVM).
10575
e03ed6c1
CW
105762010-07-02 Colin Watson <cjwatson@ubuntu.com>
10577
10578 * include/grub/misc.h (grub_reboot): Declare as noreturn.
10579 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
10580 fails.
10581 (grub_halt): Likewise.
10582 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
10583 reset-all fails.
10584 (grub_halt): Don't return, even if all of shut-down, power-off, and
10585 poweroff fail.
10586
47695765
CW
105872010-07-02 Colin Watson <cjwatson@ubuntu.com>
10588
10589 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
10590 arguments, not three.
10591
507736c8
CW
105922010-07-02 Colin Watson <cjwatson@ubuntu.com>
10593
10594 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
10595 * util/grub.d/10_linux.in: Use it to check for LVM, so that
10596 LVM-on-RAID is handled correctly.
10597
e3c8cd37
CW
105982010-07-02 Colin Watson <cjwatson@ubuntu.com>
10599
10600 * docs/grub.texi (Changes from GRUB Legacy): New section.
10601 (Future): Fix typo.
10602
8d4a2fec
CW
106032010-07-02 Colin Watson <cjwatson@ubuntu.com>
10604
10605 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
10606 grub.d/README accidentally ends up executable for one reason or
10607 another. Ignore it.
10608
1c4827be
VS
106092010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
10612 (gpt_partition_map_iterate): Support non-512B sectors.
10613
d9a0c941
VS
106142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * kern/efi/init.c (grub_efi_init): Disable watchdog.
10617 Tested by: Seth Goldberg.
10618
48f27e87
VS
106192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
10622 Properly align mbi.
10623 Reported by: Seth Goldberg.
10624
b0c4f956
VS
106252010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * util/grub-mkrescue.in: Avoid module duplication.
10628
105a2e8c
SF
106292010-07-01 Sean Finney <seanius@seanius.net>
10630
10631 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
10632
5944958c
SF
106332010-07-01 Sean Finney <seanius@seanius.net>
10634
10635 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
10636
106372010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * disk/lvm.c (grub_lvm_checkvalue): New function.
10640 (grub_lvm_check_flag): Likewise.
10641
b79889ba
RM
106422010-07-01 Robert Millan <rmh@gnu.org>
10643
10644 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
10645 Support 'p' as partition separator on kernel of FreeBSD (used
10646 with GPT labels).
10647 (grub_util_biosdisk_get_grub_dev): Likewise.
10648
ec1d04f1
VS
106492010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 Yeeloong firmware port.
10652
10653 * boot/mips/yeeloong/fwstart.S: New file.
10654 * bus/cs5536.c (gpiodump): New const.
10655 (set_io_space): New function.
10656 (set_iod): Likewise.
10657 (set_p2d): Likewise.
10658 (grub_cs5536_init_geode): Likewise.
10659 * commands/mips/yeeloong/lsspd.c: New file.
10660 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
10661 (serial_mod_SOURCES): New variable.
10662 (serial_mod_CFLAGS): Likewise.
10663 (serial_mod_LDFLAGS): Likewise.
10664 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
10665 term/terminfo.c and term/tparm.c.
10666 (pkglib_IMAGES): Add fwstart.img.
10667 (fwstart_img_SOURCES): New variable.
10668 (fwstart_img_CFLAGS): Likewise.
10669 (fwstart_img_ASFLAGS): Likewise.
10670 (fwstart_img_LDFLAGS): Likewise.
10671 (fwstart_img_FORMAT): Likewise.
10672 (pkglib_MODULES): Add lsspd.mod.
10673 (lsspd_mod_SOURCES): New variable.
10674 (lsspd_mod_CFLAGS): Likewise.
10675 (lsspd_mod_LDFLAGS): Likewise.
10676 (pkglib_MODULES): Add halt.mod.
10677 (halt_mod_SOURCES): New variable.
10678 (halt_mod_CFLAGS): Likewise.
10679 (halt_mod_LDFLAGS): Likewise.
10680 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
10681 (serial_mod_SOURCES): Removed.
10682 (serial_mod_CFLAGS): Likewise.
10683 (serial_mod_LDFLAGS): Likewise.
10684 * disk/ata.c (check_device): New function.
10685 (grub_ata_device_initialize): Use check_device.
10686 (grub_ata_iterate): Recheck devices.
10687 (grub_ata_open): Likewise.
10688 (grub_atapi_iterate): Likewise.
10689 (grub_atapi_open): Likewise.
10690 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
10691 (GRUB_ATA_CH1_PORT1): Likewise.
10692 (GRUB_ATA_CH0_PORT2): Likewise.
10693 (GRUB_ATA_CH1_PORT2): Likewise.
10694 * include/grub/mips/loongson.h: New file.
10695 * include/grub/mips/yeeloong/ec.h: Likewise.
10696 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
10697 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
10698 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
10699 * include/grub/misc.h (grub_halt): Declare as noreturn.
10700 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
10701 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
10702 (UART_ENABLE_FIFO_TRIGGER1): New definition.
10703 (UART_ENABLE_DTRRTS): Likewise.
10704 (UART_ENABLE_MODEM): Removed.
10705 (UART_ENABLE_OUT2): New const.
10706 * include/grub/term.h (grub_term_register_input_active): New function.
10707 (grub_term_register_output_active): Likewise.
10708 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
10709 argument.
10710 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
10711 (init_pci): New function.
10712 (grub_machine_init): Execute platform init when firmware. Init serial.
10713 (grub_halt): Implement.
10714 (grub_exit): Likewise.
10715 (grub_reboot): Likewise.
10716 * term/serial.c (serial_hw_init): Update macros.
10717 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
10718 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
10719 (image_targets): New target mipsel-yeeloong-flash.
10720 (generate_image): Support IMAGE_YEELOONG_FLASH.
10721 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
10722 (grub_video_sm712_setup): Init card.
10723 (grub_video_sm712_set_palette): Removed.
10724 * video/sm712_init.c: New file.
10725
ff4a70d2
CW
107262010-06-30 Colin Watson <cjwatson@ubuntu.com>
10727
10728 * Makefile.in (install-local): Temporarily prepend $(builddir) to
10729 PATH when running help2man and then run it on the unadorned
10730 executable names, rather than passing $(builddir)/* paths to
10731 help2man. This avoids the build directory ending up in generated
10732 manual pages.
10733
1246efeb
CW
107342010-06-29 Colin Watson <cjwatson@ubuntu.com>
10735
10736 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
10737 to avoid accidents when debugging with 'sh -x'.
10738 * util/grub-mkrescue.in: Likewise.
10739 * util/grub.d/00_header.in: Likewise.
10740 * util/grub.d/10_hurd.in: Likewise.
10741 * util/grub.d/10_kfreebsd.in: Likewise.
10742 * util/grub.d/10_linux.in: Likewise.
10743 * util/grub.d/10_netbsd.in: Likewise.
10744 * util/grub.d/10_windows.in: Likewise.
10745 * util/grub.d/20_linux_xen.in: Likewise.
10746 * util/grub.d/30_os-prober.in: Likewise.
10747 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10748
1ba9b889
CW
107492010-06-29 Colin Watson <cjwatson@ubuntu.com>
10750
10751 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
10752 last character in the buffer.
10753 Reported by: Vladimir Serbinenko.
10754
dccaf99d
RM
107552010-06-29 Robert Millan <rmh@gnu.org>
10756
10757 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
10758 (Command-line and menu entry commands): Document `badram' command.
10759
d500ed12
RM
107602010-06-28 Robert Millan <rmh@gnu.org>
10761
10762 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
10763 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
10764 command using ${GRUB_BADRAM} as parameter.
10765
20bc84a6
CW
107662010-06-28 Colin Watson <cjwatson@ubuntu.com>
10767
10768 * docs/grub.texi (Device map): New section.
10769 (Themes): New section (stub).
10770 * Makefile.in (docs/grub.info): The info documentation now builds
10771 without errors. Make sure it stays that way.
10772
4045dee1
VS
107732010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10774
10775 Use normal parser for menu entries.
10776 Reported by: Thomas Frauendorfer
10777
10778 * include/grub/parser.h (grub_parser_execute): Don't export.
10779 * normal/menu.c (grub_menu_execute_entry_real): New function.
10780 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
10781
bca58c7b
CW
107822010-06-28 Colin Watson <cjwatson@ubuntu.com>
10783
10784 * docs/grub.texi (Embedded configuration): New section (replacing
10785 old "Preset Menu" stub).
10786 (Images): New section.
10787 (configfile): Note that any menu entries defined in `file' are shown
10788 immediately.
10789
dec53e63
JT
107902010-06-28 Josh Triplett <josh@joshtriplett.org>
10791
10792 * mmap/i386/pc/mmap_helper.S: Set CF on return.
10793
c06e40f7
CW
107942010-06-28 Colin Watson <cjwatson@ubuntu.com>
10795
10796 * util/grub-install.in: Add --debug-image= option.
10797
cb88052b
CW
107982010-06-28 Colin Watson <cjwatson@ubuntu.com>
10799
10800 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
10801 possible on Linux.
10802
10803 * util/deviceiter.c (check_device): Rename to ...
10804 (check_device_readable_unique): ... this. Update all callers.
10805 Maintain and check a list of which devices (by canonicalized name)
10806 have already been seen.
10807 (clear_seen_devices): New function.
10808 (compare_file_names) [__linux__]: New function.
10809 (grub_util_iterate_devices): Clear the list of seen devices on exit
10810 and (just in case) on entry.
10811 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
10812 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
10813 seen-devices list, superseded by general code in check_device.
10814
bbe34652
CW
108152010-06-28 Colin Watson <cjwatson@ubuntu.com>
10816
10817 * commands/cat.c (options): New variable.
10818 (grub_cmd_cat): Parse options. If the --dos option is given, print
10819 DOS-style "\r\n" line endings as simple newlines (Debian bug
10820 #586358).
10821 (GRUB_MOD_INIT): Use extcmd.
10822 (GRUB_MOD_FINI): Likewise.
10823 * docs/grub.texi (cat): Document --dos.
10824
412e09f3
VS
108252010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 XEN with Linux grub-mkconfig support.
10828
10829 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
10830 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
10831 GRUB_CMDLINE_XEN_DEFAULT.
10832 * util/grub.d/20_linux_xen.in: New file.
10833
53f3ef38 108342010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
10835
10836 Initialise VGA video on qemu ourselves.
10837
10838 * boot/i386/qemu/boot.S: Don't call 0xc000.
10839 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
10840 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
10841 (kernel_img_HEADERS): Add pci.h.
10842 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
10843 * configure.ac: Force unifont on qemu and yeeloong.
10844 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
10845 (grub_vga_palette_write): Use correct register.
10846 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
10847 Call grub_qemu_init_cirrus.
10848 * kern/i386/qemu/init.c: New file.
10849 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
10850
10851 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
10852
c75be4fb
PR
108532010-06-26 Pavel Roskin <proski@gnu.org>
10854
10855 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
10856 13.
10857
d8034603
CW
108582010-06-26 Colin Watson <cjwatson@ubuntu.com>
10859
10860 * docs/grub.texi (Simple configuration): Explain that
10861 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
10862 set to `true' to disable their respective recovery entries, not
10863 merely set.
10864
3fa06487
CW
108652010-06-26 Colin Watson <cjwatson@ubuntu.com>
10866
10867 Make the `source' command slightly faster.
10868
10869 * normal/main.c (grub_normal_execute): Don't re-read list files when
10870 nested.
10871
e9b29642
CW
108722010-06-23 Colin Watson <cjwatson@ubuntu.com>
10873
10874 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
10875 field position and mask size to red fields from mode_info, not
10876 green.
10877 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
10878 Remove redundant tag->common.framebuffer_type assignment.
10879 Reported by: Seth Goldberg.
10880
e726542f
CW
108812010-06-23 Colin Watson <cjwatson@ubuntu.com>
10882
10883 Sync up other versions of the Linux loader with Robert Millan's
10884 change of 2010-01-09, "Make loader output a bit more user-friendly".
10885
10886 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
10887 grub_dprintf().
10888 (grub_cmd_linux): Likewise.
10889 (grub_cmd_initrd): Likewise.
10890 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
10891 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10892
d6e98a17
CW
108932010-06-21 Colin Watson <cjwatson@ubuntu.com>
10894
10895 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
10896 larger than MEMORY_MAP_SIZE.
10897
14d3f08e
BC
108982010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
10899
10900 Fix parallel build.
10901
10902 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
10903 dependency.
10904 * script/parser.y: #include grub_script.tab.h header.
10905
4f9613a3
VS
109062010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 Support >3GiB and <16MiB RAM in i386-qemu.
10909
10910 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
10911 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
10912 (grub_lower_mem): Removed.
10913 (grub_upper_mem): Likewise.
10914 (mem_size): Made static.
10915 (above_4g): New variable.
10916 (grub_machine_mmap_init): Detect small mem_size and above_4g.
10917 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
10918 support.
10919
05e51879
VS
109202010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 Cirrus 5446 and Bochs video cards support.
10923
10924 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
10925 video_bochs.mod
10926 (video_cirrus_mod_SOURCES): New variable.
10927 (video_cirrus_mod_CFLAGS): Likewise.
10928 (video_cirrus_mod_LDFLAGS): Likewise.
10929 (video_bochs_mod_SOURCES): Likewise.
10930 (video_bochs_mod_CFLAGS): Likewise.
10931 (video_bochs_mod_LDFLAGS): Likewise.
10932 * include/grub/vga.h: New file.
10933 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
10934 (grub_video_fb_set_page_t): New type.
10935 (grub_video_fb_setup): New prototype.
10936 (grub_video_fb_swap_buffers): Likewise.
10937 (grub_video_fb_get_info_and_fini): Likewise.
10938 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
10939 (CRTC_DATA_PORT): Likewise.
10940 (CRTC_CURSOR): Likewise.
10941 (CRTC_CURSOR_ADDR_HIGH): Likewise.
10942 (CRTC_CURSOR_ADDR_LOW): Likewise.
10943 (CRTC_CURSOR_DISABLE): Likewise.
10944 (update_cursor): Use grub_vga_cr_write.
10945 (grub_vga_text_setcursor): Likewise.
10946 * video/bochs.c: New file.
10947 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
10948 (palette): Likewise.
10949 (palette_size): Likewise.
10950 (framebuffer): New variable.
10951 (grub_video_fb_init): Use 'framebuffer'.
10952 (grub_video_fb_fini): Likewise.
10953 (grub_video_fb_get_info): Likewise.
10954 (grub_video_fb_get_palette): Likewise.
10955 (grub_video_fb_set_palette): Likewise.
10956 (grub_video_fb_set_viewport): Likewise.
10957 (grub_video_fb_get_viewport): Likewise.
10958 (grub_video_fb_map_color): Likewise.
10959 (grub_video_fb_map_rgb): Likewise.
10960 (grub_video_fb_map_rgba): Likewise.
10961 (grub_video_fb_unmap_color): Likewise.
10962 (grub_video_fb_unmap_color_int): Likewise.
10963 (grub_video_fb_fill_rect): Likewise.
10964 (grub_video_fb_blit_bitmap): Likewise.
10965 (grub_video_fb_blit_render_target): Likewise.
10966 (grub_video_fb_scroll): Likewise.
10967 (grub_video_fb_create_render_target): Likewise.
10968 (grub_video_fb_doublebuf_blit_init): Likewise.
10969 (grub_video_fb_set_active_render_target): Handle doublebuffering.
10970 (doublebuf_pageflipping_update_screen): New function.
10971 (doublebuf_pageflipping_init): Likewise.
10972 (grub_video_fb_setup): Likewise.
10973 (grub_video_fb_swap_buffers): Likewise.
10974 (grub_video_fb_get_info_and_fini): Likewise.
10975 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
10976 All users updated.
10977 (doublebuf_pageflipping_commit): Restructured into ...
10978 (doublebuf_pageflipping_set_page): ... this.
10979 (doublebuf_pageflipping_update_screen): Removed.
10980 (doublebuf_pageflipping_init): Likewise.
10981 (double_buffering_init): Likewise.
10982 (grub_video_vbe_setup): Use grub_video_fb_setup.
10983 (grub_video_vbe_swap_buffers): Removed.
10984 (grub_video_vbe_set_active_render_target): Likewise.
10985 (grub_video_vbe_get_active_render_target): Likewise.
10986 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
10987 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
10988 grub_video_fb_set_active_render_target and
10989 grub_video_fb_get_active_render_target.
10990 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
10991 (SEQUENCER_DATA_PORT): Likewise.
10992 (MAP_MASK_REGISTER): Likewise.
10993 (CRTC_ADDR_PORT): Likewise.
10994 (CRTC_DATA_PORT): Likewise.
10995 (START_ADDR_HIGH_REGISTER): Likewise.
10996 (START_ADDR_LOW_REGISTER): Likewise.
10997 (GRAPHICS_ADDR_PORT): Likewise.
10998 (GRAPHICS_DATA_PORT): Likewise.
10999 (READ_MAP_REGISTER): Likewise.
11000 (INPUT_STATUS1_REGISTER): Likewise.
11001 (INPUT_STATUS1_VERTR_BIT): Likewise.
11002 (get_map_mask): Use grub_vga_sr_read.
11003 (set_map_mask): Use grub_vga_sr_write.
11004 (set_read_map): Use grub_vga_gr_write.
11005 (set_start_address): Use grub_vga_cr_write.
11006 * video/sm712.c (framebuffer): Remove leftover fields.
11007
4321c64a
CW
110082010-06-20 Colin Watson <cjwatson@ubuntu.com>
11009
11010 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
11011 setting GRUB_VIDEO_BACKEND. Make it available as a user override
11012 instead. Replace the gfxterm backend check with a check that
11013 ${GRUB_PREFIX}/video.lst is non-empty.
11014 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
11015 again.
11016 (load_video): New generated function. Call it before loading
11017 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
11018 * util/grub.d/10_linux.in (linux_entry): Call load_video.
11019 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
11020 * docs/grub.texi (Simple configuration): Document
11021 GRUB_VIDEO_BACKEND.
11022
110232010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 Use video functions in linux and xnu loaders.
11026
11027 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
11028 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
11029 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
11030 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
11031 loader/i386/pc/linux.c.
11032 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
11033 (find_line_len): Removed.
11034 (find_framebuf): Likewise.
11035 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
11036 * loader/i386/efi/xnu.c: Removed.
11037 * loader/i386/pc/xnu.c: Moved from here...
11038 * loader/i386/xnu.c: ...here.
11039
11040 Enable priorities in video drivers.
11041
11042 * include/grub/video.h (grub_video_adapter_prio_t): New type.
11043 (grub_video_adapter): New field prio.
11044 (grub_video_register): Respect prio when inserting.
11045 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
11046 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
11047 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
11048 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
11049 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
11050 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
11051 * video/sm712.c (grub_video_sm712_adapter): Likewise.
11052
11053 Fix SDL driver ID.
11054
11055 * include/grub/video.h (grub_video_driver_id_t): New value
11056 GRUB_VIDEO_DRIVER_SDL.
11057 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
11058
7d24e434
CW
110592010-06-17 Colin Watson <cjwatson@ubuntu.com>
11060
11061 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
11062 argument to printf.
11063 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11064
c88a83f6
CW
110652010-06-17 Colin Watson <cjwatson@ubuntu.com>
11066
11067 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
11068 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11069
094dfb69
CW
110702010-06-17 Colin Watson <cjwatson@ubuntu.com>
11071
11072 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
11073 directly, and recommend grub-install instead.
11074 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11075
2164da6b
CW
110762010-06-17 Colin Watson <cjwatson@ubuntu.com>
11077
11078 Fix i386-pc prefix handling with nested partitions (Debian bug
11079 #585068). Note that the case where the core image is booted using
11080 multiboot and relocated from its original location still requires
11081 more work.
11082
11083 * kern/i386/pc/init.c (make_install_device): If the prefix starts
11084 with "(,", fill the boot drive in between those two characters, but
11085 expect that a full partition specification including partition map
11086 names will follow.
11087 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
11088 specified, write a prefix without the drive name but including a
11089 full partition specification.
11090
044e2e60
CW
110912010-06-16 Colin Watson <cjwatson@ubuntu.com>
11092
11093 * util/grub-mkconfig.in: Ignore non-option arguments, for
11094 compatibility with older versions (before 2010-06-12) which did the
11095 same. In particular, this makes it easier to ship an update-grub
11096 wrapper which is compatible with that used with GRUB Legacy (Debian
11097 bug #586056).
11098
5591324f
GS
110992010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11100
11101 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
11102 for manual page generation.
11103
662e24d5
GS
111042010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11105
11106 * po/POTFILES: Remove leftover commands/handler.c.
11107
8d70754e
CW
111082010-06-14 Colin Watson <cjwatson@ubuntu.com>
11109
11110 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
11111 left this script non-functional.
11112
41160e2e
CW
111132010-06-14 Colin Watson <cjwatson@ubuntu.com>
11114
11115 * docs/man/grub-emu.h2m: New file.
11116
b5309cc1
CW
111172010-06-13 Colin Watson <cjwatson@ubuntu.com>
11118
11119 * docs/grub.texi (Commands): Document reduced command set in rescue
11120 mode.
11121 (cpuid): New section.
11122
fcb2d090
GS
111232010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
11124
11125 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
11126 new partition naming style.
11127 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
11128
96e5c556
BC
111292010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
11130
11131 Add "-o grub.iso" like cmdline options support.
11132
11133 * util/grub-install.in: Improve cmdline option parsing.
11134 * util/grub-mkconfig.in: Likewise.
11135 * util/grub-mkrescue.in: Likewise.
11136 * util/grub-reboot.in: Likewise.
11137 * util/grub-set-default.in: Likewise.
11138 * util/i386/efi/grub-install.in: Likewise.
11139 * util/ieee1275/grub-install.in: Likewise.
11140 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11141
c16be99b
CW
111422010-06-12 Colin Watson <cjwatson@ubuntu.com>
11143
11144 * .bzrignore: Ignore 41_custom.
11145
ce08a9fb
TS
111462010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11147
11148 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
11149
7beac90c
CW
111502010-06-12 Colin Watson <cjwatson@ubuntu.com>
11151
11152 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
11153 prototype declarations.
11154
11155 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
11156 generating fs, partmap, and video lists.
11157 * include/grub/fs.h (grub_fs_register): Omit prototype if
11158 GRUB_LST_GENERATOR is defined.
11159 * include/grub/partition.h (grub_partition_map_register): Likewise.
11160 * include/grub/video.h (grub_video_register): Likewise.
11161
1c8f0f8d
JM
111622010-06-12 Javier Martín <lordhabbit@gmail.com>
11163
11164 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
11165
a6085973
TS
111662010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11167
11168 * util/grub-mkrescue.in: Support --xorriso argument.
11169
25c56d29
VS
111702010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
11173 Suggested by: Thomas Schmitt.
11174
e03e4b24
VS
111752010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11176
11177 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
11178 Suggested by: Thomas Schmitt.
11179
57711df6
VS
111802010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 custom.cfg support.
11183
11184 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
11185 * util/grub.d/41_custom.in: New file.
11186
ee62c427
CW
111872010-06-12 Colin Watson <cjwatson@ubuntu.com>
11188
11189 * util/grub-mkrescue.in (make_image): Remove sh module, which has
11190 been merged back into normal.
11191
283af07a
CW
111922010-06-11 Colin Watson <cjwatson@ubuntu.com>
11193
11194 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
11195 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
11196
56a0d956
CW
111972010-06-11 Colin Watson <cjwatson@ubuntu.com>
11198
11199 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
11200 when generating manual pages.
11201 * docs/man/grub-bin2h.h2m: New file.
11202 * docs/man/grub-editenv.h2m: New file.
11203 * docs/man/grub-fstest.h2m: New file.
11204 * docs/man/grub-install.h2m: New file.
11205 * docs/man/grub-macho2img.h2m: New file.
11206 * docs/man/grub-mkconfig.h2m: New file.
11207 * docs/man/grub-mkdevicemap.h2m: New file.
11208 * docs/man/grub-mkfont.h2m: New file.
11209 * docs/man/grub-mkimage.h2m: New file.
11210 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
11211 * docs/man/grub-mkrelpath.h2m: New file.
11212 * docs/man/grub-mkrescue.h2m: New file.
11213 * docs/man/grub-ofpathname.h2m: New file.
11214 * docs/man/grub-pe2elf.h2m: New file.
11215 * docs/man/grub-probe.h2m: New file.
11216 * docs/man/grub-reboot.h2m: New file.
11217 * docs/man/grub-script-check.h2m: New file.
11218 * docs/man/grub-set-default.h2m: New file.
11219 * docs/man/grub-setup.h2m: New file.
11220
3a37e322
VS
112212010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 Use FOR_* macros instead of *_iterate whenever possible.
11224
11225 * commands/handler.c: Removed.
11226 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
11227 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
11228 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11229 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
11230 (grub_probe_SOURCES): Remove kern/parser.c.
11231 (util/grub-script-check.c_DEPENDENCIES): Removed.
11232 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
11233 and grub_script_check_init.c.
11234 (grub_script_check_init.lst): Removed.
11235 (grub_script_check_init.h): Likewise.
11236 (grub_script_check_init.c): Likewise.
11237 (pkglib_MODULES): Remove handler.mod and sh.mod.
11238 (handler_mod_SOURCES): Removed.
11239 (handler_mod_CFLAGS): Likewise.
11240 (handler_mod_LDFLAGS): Likewise.
11241 (normal_mod_SOURCES): Remove normal/handler.c.
11242 Add script/main.c, script/script.c, script/execute.c,
11243 script/function.c, script/lexer.c, grub_script.tab.c
11244 and grub_script.yy.c.
11245 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11246 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11247 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
11248 (grub_setup_SOURCES): Remove kern/parser.c.
11249 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11250 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
11251 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11252 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11253 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11254 (grub_setup_SOURCES): Remove kern/parser.c.
11255 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11256 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
11257 * include/grub/command.h (grub_command_iterate): Removed.
11258 (FOR_COMMANDS): New macro.
11259 * include/grub/dl.h (grub_dl): New member next.
11260 (grub_dl_iterate): Removed.
11261 (grub_dl_head): New variable declaration.
11262 (FOR_DL_MODULES): New macro.
11263 * include/grub/fs.h: Include list.h.
11264 (grub_fs): Make next first element.
11265 (grub_fs_list): New variable declaration.
11266 (grub_fs_register): Make inline.
11267 (grub_fs_unregister): Likewise.
11268 (grub_fs_iterate): Removed.
11269 (FOR_FILESYSTEMS): New macro.
11270 * include/grub/handler.h: Removed.
11271 * include/grub/list.h (grub_list_hook_t): Removed.
11272 (grub_list_test_t): Likewise.
11273 (grub_list_pop): Likewise.
11274 (grub_list_iterate): Likewise.
11275 (grub_list_insert): Likewise.
11276 (FOR_LIST_ELEMENTS): New macro.
11277 * include/grub/parser.h (grub_parser_class): Removed.
11278 (grub_parser_register): Likewise.
11279 (grub_parser_unregister): Likewise.
11280 (grub_parser_get_current): Likewise.
11281 (grub_parser_set_current): Likewise.
11282 (grub_register_rescue_parser): Likewise.
11283 (grub_rescue_parse_line): New function.
11284 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
11285 * include/grub/script_sh.h (grub_script_function_list): New variable
11286 declaration.
11287 (FOR_SCRIPT_FUNCTIONS): New macro.
11288 (grub_script_function_iterate): Removed.
11289 (grub_normal_parse_line): New prototype.
11290 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
11291 (FOR_DISABLED_TERM_INPUTS): Likewise.
11292 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11293 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11294 * include/grub/video.h (grub_video_adapter): Move 'next' to first
11295 element.
11296 (grub_video_register): Inline.
11297 (grub_video_unregister): Likewise.
11298 (grub_video_adapter_list): New variable declaration.
11299 (grub_video_iterate): Removed.
11300 (FOR_VIDEO_ADAPTERS): New macro.
11301 * kern/dl.c (grub_dl_list): Removed. All users updated.
11302 (grub_dl_iterate): Removed.
11303 * kern/fs.c (grub_fs_list): Make global.
11304 (grub_fs_register): Removed.
11305 (grub_fs_unregister): Likewise.
11306 (grub_fs_iterate): Likewise.
11307 * kern/handler.c: Removed.
11308 * kern/list.c (grub_list_pop): Removed.
11309 (grub_list_iterate): Likewise.
11310 (grub_list_insert): Likewise.
11311 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
11312 (grub_prio_list_insert): Don't use grub_list_insert.
11313 * kern/main.c (grub_register_rescue_parser): Don't call
11314 grub_register_rescue_parser.
11315 * kern/parser.c (grub_parser_class): Removed.
11316 (grub_parser_execute): Use grub_rescue_parse_line.
11317 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
11318 (grub_rescue_parser): Removed.
11319 (grub_register_rescue_parser): Likewise.
11320 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
11321 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
11322 (grub_auth_check_authentication): Likewise.
11323 * normal/completion.c (iterate_command): Removed.
11324 (grub_normal_do_completion): Use FOR_COMMANDS.
11325 * normal/handler.c: Removed.
11326 * normal/main.c (read_config_file): Remove parser changing.
11327 (grub_normal_execute): Don't call read_handler_list.
11328 (grub_normal_read_line_real): Statically allocate prompt.
11329 (grub_cmdline_run): Use grub_normal_parse_line.
11330 (GRUB_MOD_FINI): Don't call free_handler_list.
11331 * normal/menu_entry.c (run): Likewise.
11332 * script/function.c (grub_script_function_list): Make global.
11333 (grub_script_function_iterate): Removed.
11334 * script/main.c (grub_normal_parse_line): Make global.
11335 (grub_sh_parser): Removed.
11336 (GRUB_MOD_INIT): Likewise.
11337 (GRUB_MOD_FINI): Likewise.
11338 * tests/lib/functional_test.c (grub_functional_test): Use
11339 FOR_LIST_ELEMENTS.
11340 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
11341 (grub_test_run): Use FOR_LIST_ELEMENTS.
11342 * tests/lib/unit_test.c (main): Likewise.
11343 * util/deviceiter.c (grub_util_iterate_devices): Don't use
11344 grub_list_pop.
11345 * util/grub-fstest.c (grub_term_input_class): Removed.
11346 (grub_term_output_class): Likewise.
11347 * util/grub-probe.c: Likewise.
11348 * util/i386/pc/grub-setup.c: Likewise.
11349 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11350 * util/grub-script-check.c (main): Don't call grub_init_all and
11351 grub_fini_all.
11352 * video/video.c (grub_video_adapter_list): Make global.
11353 (grub_video_register): Removed.
11354 (grub_video_unregister): Likewise.
11355 (grub_video_iterate): Likewise.
11356
6289c3a7
VS
113572010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
11360 reported by Henrique Ferreiro.
11361
91460247
RM
113622010-06-09 Robert Millan <rmh@gnu.org>
11363
11364 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
11365 ones, when both are available.
11366
0ea7c4f9
GS
113672010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11368
11369 Make --version uniform and avoid hard-coded program name.
11370
11371 * util/grub-mkimage.c (main): Use `program_name' instead of
11372 hard-coded string.
11373 * util/i386/pc/grub-setup.c (main): Likewise.
11374 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
11375 * util/grub-install.in: Save the basename of $0 in $self, and use the
11376 latter in informational messages. Use the same format for --version
11377 as the binary programs.
11378 * util/grub-mkconfig.in: Likewise.
11379 * util/grub-mkrescue.in: Likewise.
11380 * util/grub-reboot.in: Likewise.
11381 * util/grub-set-default.in: Likewise.
11382 * util/i386/efi/grub-install.in: Likewise.
11383 * util/ieee1275/grub-install.in: Likewise.
11384 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11385
e8a6f3b6
GS
113862010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11387
11388 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
11389 embedding area. Use <= instead of == when checking for non-emptiness.
11390
f4d095d7
GS
113912010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11392
11393 * configure.ac: Add `.' to the directories searched for unifont.
11394
50e532ca
CW
113952010-06-08 Colin Watson <cjwatson@ubuntu.com>
11396
11397 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
11398 grub_script.yy.h.
11399
d39f3dec
CW
114002010-06-08 Colin Watson <cjwatson@ubuntu.com>
11401
11402 * docs/grub.texi (History): Expand to cover GRUB 2.
11403 (Serial terminal): Refer to `terminal_input' and `terminal_output'
11404 commands, not `terminal'.
11405 (serial): Likewise.
11406 (terminal_input): New section.
11407 (terminal_output): New section.
11408 (uppermem): New section (stub).
11409 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
11410
6ef0ddb4
CW
114112010-06-08 Colin Watson <cjwatson@ubuntu.com>
11412
11413 * docs/grub.texi (Security): Menu entries are unrestricted by
11414 default, not restricted to superusers as I had previously thought.
11415 Reword to account for this.
11416
e0f4c438
CW
114172010-06-07 Colin Watson <cjwatson@ubuntu.com>
11418
11419 * kern/emu/misc.c (device_mapper_null_log): New function.
11420 (grub_device_mapper_supported): New function.
11421 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
11422 prototype.
11423 * kern/emu/hostdisk.c (find_partition_start): Check whether
11424 device-mapper is supported before trying to use it.
11425 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
11426
da908200
CW
114272010-06-07 Colin Watson <cjwatson@ubuntu.com>
11428
11429 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
11430 (File name syntax): Likewise.
11431 (help): --all is no longer supported in GRUB 2. Be more precise
11432 about pattern matching.
11433
fb55c3ac
CW
114342010-06-07 Colin Watson <cjwatson@ubuntu.com>
11435
11436 * normal/completion.c (grub_normal_do_completion): When completing
11437 arguments to "set" and the current word contains an equals sign,
11438 skip to after the equals sign before starting completion.
11439
258c2573
CW
114402010-06-07 Colin Watson <cjwatson@ubuntu.com>
11441
11442 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
11443
ee75515e
CW
114442010-06-07 Colin Watson <cjwatson@ubuntu.com>
11445
11446 * docs/grub.texi (Network): New section.
11447 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
11448 `(nd)' as in GRUB Legacy.
11449 (pxe_unload): New section.
11450
a6a700aa
CW
114512010-06-07 Colin Watson <cjwatson@ubuntu.com>
11452
11453 * docs/grub.texi (Troubleshooting): `echo' is not usually available
11454 in the rescue shell, so recommend using `set' instead. Thanks,
11455 Jordan Uggla.
11456
4003dd38
CW
114572010-06-07 Colin Watson <cjwatson@ubuntu.com>
11458
11459 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
11460 (password): New section.
11461 (password_pbkdf2): New section.
11462 (search): New section.
11463 (Security): New section.
11464 (Troubleshooting): New section, currently very incomplete.
11465 (Invoking grub-mkpasswd-pbkdf2): New section.
11466 (Internals): New section, currently very incomplete.
11467
e1cbcc40
CW
114682010-06-07 Colin Watson <cjwatson@ubuntu.com>
11469
11470 * util/grub.d/00_header.in: Add some more quoting (of
11471 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
11472 work again.
11473 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
11474
db8fa1ad
CW
114752010-06-07 Colin Watson <cjwatson@ubuntu.com>
11476
11477 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
11478 to `count', fixing variable shadowing that broke the -c option.
11479
114802010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
11481
11482 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
11483 in case they contain spaces.
11484
f28a9212
CW
114852010-06-04 Colin Watson <cjwatson@ubuntu.com>
11486
11487 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
11488 "part_" to partmap module names, in line with grub-install.
11489 Reported by: Jindřich Makovička (Debian bug #584426).
11490
9cdfe32f
CW
114912010-06-04 Colin Watson <cjwatson@ubuntu.com>
11492
11493 * util/grub-mkimage.c: Make target-related error messages slightly
11494 more helpful; -O talks about "format". Explicitly point to the use
11495 of -O if no target is specified.
11496 Reported by: Didier Raboud (Debian bug #584415).
11497
795b593a
CW
114982010-06-03 Colin Watson <cjwatson@ubuntu.com>
11499
11500 * INSTALL: Document several build requirements for optional features
11501 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
11502
9d9b5833
GS
115032010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11504
11505 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
11506 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
11507 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
11508
0819fec8
CW
115092010-06-02 Colin Watson <cjwatson@ubuntu.com>
11510
11511 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
11512 Thanks to Jordan Uggla for spotting this.
11513
49396b4f
VS
115142010-06-02 Aleš Nesrsta <starous@volny.cz>
11515
11516 Finally make USB usable.
11517
11518 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
11519 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
11520 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
11521 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
11522 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
11523 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
11524 (GRUB_OHCI_FSMPS): Likewise.
11525 (GRUB_OHCI_PERIODIC_START): Likewise.
11526 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
11527 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
11528 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
11529 (GRUB_OHCI_SET_PORT_RESET): Likewise.
11530 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
11531 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
11532 (grub_ohci_transaction): Likewise.
11533 (grub_ohci_transfer): Improve condition detection algorithms.
11534 Handle toggle property. Program the transactions correctly.
11535 Improve error handling. Various important fixups.
11536 (grub_ohci_portstatus): Put register writes in right order.
11537 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
11538 (grub_uhci_transfer): Don't show "failed" message on success.
11539 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
11540 array.
11541 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
11542 determine its size.
11543 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
11544 before initialization is completed. Use IN direction for empty
11545 transfers. Use last_trans and compute toggle.
11546 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
11547 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
11548 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
11549 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
11550 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
11551 (grub_usb_device): Increase toggle to 256.
11552 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
11553 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
11554 GRUB_USBMS_SUBCLASS_SFF8070.
11555 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
11556 (grub_scsi_inquiry): New member page and alloc_length.
11557 (grub_scsi_request_sense): New structure.
11558 (grub_scsi_request_sense_data): Likewise.
11559 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
11560 control.
11561 * disk/scsi.c (grub_scsi_request_sense): New function.
11562 (grub_scsi_test_unit_ready): Likewise.
11563 (grub_scsi_inquiry): Fill new fields.
11564 (grub_scsi_read_capacity): Likewise.
11565 (grub_scsi_read10): Add request sense at the end.
11566 (grub_scsi_read12): Likewise.
11567 (grub_scsi_write10): Likewise.
11568 (grub_scsi_write12): Likewise.
11569 (grub_scsi_open): Add Test Unit Ready.
11570 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
11571 Support additional subclasses. Con't clear halt yet. Activate the
11572 proper config. Calculate LUNs correctly.
11573 (grub_usbms_transfer): Various important fixups.
11574
115752010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
11578 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
11579 (grub_ohci_fini_hw): New function.
11580 (grub_ohci_restore_hw): Likewise.
11581 (GRUB_MOD_INIT(ohci)): Register preboot hook.
11582 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
11583 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
11584
115852010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 Dedicated DMA allocations.
11588
11589 * bus/pci.c (grub_memalign_dma32): New function
11590 (grub_dma_free): Likewise.
11591 (grub_dma_get_virt): Likewise.
11592 (grub_dma_get_phys): Likewise.
11593 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
11594 (grub_ohci_pci_iter): Use dma32_alloc.
11595 (grub_ohci_transfer): Likewise.
11596 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11597 (grub_usb_bulk_readwrite): Likewise.
11598 * include/grub/pci.h: Add declarations.
11599
116002010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 CS5536 support.
11603
11604 * bus/cs5536.c: New file.
11605 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
11606 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
11607 (cs5536_mod_SOURCES): New variable.
11608 (cs5536_mod_CFLAGS): Likewise.
11609 (cs5536_mod_LDFLAGS): Likewise.
11610 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
11611 machine/pci.h.
11612 (kernel_img_SOURCES): Add bus/cs5536.c.
11613 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
11614 usb_keyboard.mod.
11615 (usb_mod_SOURCES): New variable.
11616 (usb_mod_CFLAGS): New variable.
11617 (usb_mod_LDFLAGS): New variable.
11618 (usbtest_mod_SOURCES): New variable.
11619 (usbtest_mod_CFLAGS): New variable.
11620 (usbtest_mod_LDFLAGS): New variable.
11621 (ohci_mod_SOURCES): New variable.
11622 (ohci_mod_CFLAGS): New variable.
11623 (ohci_mod_LDFLAGS): New variable.
11624 (usbms_mod_SOURCES): New variable.
11625 (usbms_mod_CFLAGS): New variable.
11626 (usbms_mod_LDFLAGS): New variable.
11627 (usb_keyboard_mod_SOURCES): New variable.
11628 (usb_keyboard_mod_CFLAGS): New variable.
11629 (usb_keyboard_mod_LDFLAGS): New variable.
11630 * include/grub/smbus.h: New file.
11631 * include/grub/cs5536.h: New file.
11632
0b35b2a9
CW
116332010-06-02 Colin Watson <cjwatson@ubuntu.com>
11634
11635 * util/grub.d/00_header.in: Add safety check to make sure that
11636 ${locale_dir} exists before trying to probe it.
11637
ca0afd5b
CW
116382010-06-02 Colin Watson <cjwatson@ubuntu.com>
11639
11640 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
11641 per the GNU Coding Standards; this is now too obscure to be worth
11642 documenting.
11643 (QNX): Likewise.
11644 (chainloader): Remove cross-reference to `SCO UnixWare'.
11645
1c41aa78
CW
116462010-06-02 Colin Watson <cjwatson@ubuntu.com>
11647
11648 * docs/grub.texi (Chain-loading): New section.
11649 (DOS/Windows): New section, borrowed from GRUB Legacy with details
11650 adjusted for GRUB 2.
11651 (SCO UnixWare): Likewise.
11652 (QNX): Likewise.
11653 (chainloader): Add reference to `Block list syntax'.
11654 (drivemap): New section.
11655 (parttool): New section.
11656
bb8ea0f5
CW
116572010-06-02 Colin Watson <cjwatson@ubuntu.com>
11658
11659 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
11660 the grub shell'.
11661 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
11662 (Installing GRUB using grub-install): Remove reference to the grub
11663 shell; mention `grub-mkimage' and `grub-setup' instead.
11664 (Invoking grub-install): Likewise.
11665 (Interface): Add reference to `Menu entry editor'.
11666 (serial): Remove `--device' option.
11667
288dd6ed
CW
116682010-06-02 Colin Watson <cjwatson@ubuntu.com>
11669
11670 * docs/grub.texi (Configuration): New section, documenting
11671 configuration file generation using grub-mkconfig. I've left a slot
11672 for documenting the full shell scripting format but have not yet
11673 started on writing that up.
11674 (Invoking grub-mkconfig): New section.
11675
34c9f0e9
CW
116762010-06-02 Colin Watson <cjwatson@ubuntu.com>
11677
11678 * docs/grub.texi (direntry): Remove grub-terminfo reference.
11679 (GNU GRUB manual): Likewise.
11680 (General commands): Update description of `terminfo' for GRUB 2.
11681
9121567e
CW
116822010-06-02 Colin Watson <cjwatson@ubuntu.com>
11683
11684 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
11685 (GRUB_MOD_INIT): Fix capitalisation.
11686 * docs/grub.texi (Command-line and menu entry commands): Document
11687 gettext and gptsync commands.
11688
ab631611
CW
116892010-06-02 Colin Watson <cjwatson@ubuntu.com>
11690
11691 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
11692 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
11693
bde4a9ac
CW
116942010-06-01 Colin Watson <cjwatson@ubuntu.com>
11695
11696 Add btrfs probing support, currently only in the single-device case.
11697
11698 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
11699 function.
11700 (grub_guess_root_device): Call find_root_device_from_mountinfo
11701 before looking in /dev.
11702
b1d17e10
VS
117032010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
11706 GRUB_DISK_SIZE_UNKNOWN.
11707 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
11708
dfbfe004
JS
117092010-05-31 Jiro SEKIBA <jir@unicus.jp>
11710
11711 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
11712 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
11713 corrupted or not synced properly.
11714
c2ffc8e9
VS
117152010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
11718 Reported by: Seth Goldberg.
11719
56293166
VS
117202010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
11723 addition of dest.
11724 Reported by: Seth Goldberg.
11725
7620e7de
VS
117262010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
11729 Reported by: Seth Goldberg.
11730
c837af3f
VS
117312010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
11734 64-bit address as signed on MIPS.
11735
c7c75cf4
CW
117362010-05-28 Colin Watson <cjwatson@ubuntu.com>
11737
11738 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
11739 to the empty string.
11740
fa4b8490
BC
117412010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
11742
11743 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
11744
11745 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
11746 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
11747 * kern/misc.c (__enable_execute_stack): Disable on
11748 GRUB_MACHINE_EMU.
11749
a33075b9
CW
117502010-05-28 Colin Watson <cjwatson@ubuntu.com>
11751
11752 Make grub-probe work with symbolic links under /dev/mapper as well
11753 as with real block devices. The Linux world seems to be (at best)
11754 in transition here, and GRUB shouldn't get caught in the middle.
11755
11756 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
11757 /dev/mapper.
11758
d8708134
CW
117592010-05-27 Colin Watson <cjwatson@ubuntu.com>
11760
11761 * util/grub-script-check.c (main): Ensure defined behaviour on empty
11762 input files (in which case exit zero).
11763
db2102a0
CW
117642010-05-27 Colin Watson <cjwatson@ubuntu.com>
11765
11766 * kern/emu/misc.c (canonicalize_file_name): realpath can still
11767 return NULL for various reasons even if it has a maximum-length
11768 buffer: for example, there might be a symlink loop, or the path
11769 might exceed PATH_MAX. If this happens, return NULL.
11770
5fdba519
RM
117712010-05-27 Robert Millan <rmh@gnu.org>
11772
11773 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
11774 partmap module to handle cross-partmap setups.
11775 Reported by Orestes Mas. Gràcies!
11776
d1d368e4
CW
117772010-05-27 Colin Watson <cjwatson@ubuntu.com>
11778
11779 * util/grub-mkrescue.in: Initialise override_dir rather than
11780 assuming that it's unset or empty in the environment.
11781
95ac3c73
GS
117822010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
11783
11784 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
11785 variable index into p_index to suppress a warning with -Wshadow.
11786
7d8c0213
BC
117872010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
11788
11789 * INSTALL: Added flex >= 2.5.35 requirement.
11790
db4d5813
VS
117912010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
11794
f24f4300
VS
117952010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 cmostest support.
11798
11799 * commands/i386/cmostest.c: New file.
11800 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
11801 (cmostest_mod_SOURCES): New variable.
11802 (cmostest_mod_CFLAGS): Likewise.
11803 (cmostest_mod_LDFLAGS): Likewise.
11804 * conf/i386-pc.rmk: Likewise.
11805 * docs/grub.texi (Vendor power-on keys): New section.
11806 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
11807 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
11808 and GRUB_BUTTON_CMOS_ADDRESS.
11809 * util/grub.d/00_header.in: Handle powering-on by separate button.
11810
ad603f61
VS
118112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
11814 Removed drawing_scrollbar argument. All users updated
11815 Fixes #29792.
11816 Reported by Jo Shields
11817
3ecb080a
VS
118182010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
11821 buffer since gfxterm handles double repaint.
11822
5f2316c1
VS
118232010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
11826 * term/gfxterm.c (real_scroll): Likewise.
11827
9a25f885
VS
118282010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
11831 before calling BIOS.
11832
39fbb79a
VS
118332010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * include/grub/i18n.h: Always enable grub_gettext.
11836
228cfa97
VS
118372010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
11840 partition naming style.
11841
21717c8f
CW
118422010-05-21 Colin Watson <cjwatson@ubuntu.com>
11843
11844 * util/grub-mkconfig.in: Fix handling of -o so that it works when
11845 not the first option.
11846
c0f48e65
CW
118472010-05-20 Colin Watson <cjwatson@ubuntu.com>
11848
11849 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
11850
96779aec
CW
118512010-05-20 Colin Watson <cjwatson@ubuntu.com>
11852
11853 * util/misc.c: Move inclusion of <limits.h> to ...
11854 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
11855
fa9d256e
GS
118562010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
11857
11858 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
11859 Fix merge error in NetBSD code.
11860 (find_partition_start) [__NetBSD__]: Likewise.
11861
123b7a85
BC
118622010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
11863
11864 Fix grub-mkrescue usage unit testing.
11865
11866 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
11867
74276c0d
CF
118682010-05-18 Christian Franke <franke@computer.org>
11869
11870 * util/grub.d/10_windows.in: Use path names instead of
11871 drive letters to prevent warning from Cygwin 1.7.
11872 Add drivemap command to menuentry if needed.
11873
c4f7b523
ST
118742010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
11875
11876 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
11877 gnumach and gnumach.gz.
11878
95b97950
VS
118792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 * include/grub/i18n.h (gettext): Inline instead of using #define.
11882 (grub_gettext): Likewise.
11883 (_): Likewise.
11884
01b8d2d7
VS
118852010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
11888 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
11889 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
11890 (main): Add a slash after pkglibdirroot.
11891
654e1d1e
VS
118922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * util/grub-install.in: Add missing "in" keyword.
11895
26966aeb
VS
118962010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
11899 Reported by: Seth Goldberg.
11900
75006747
VS
119012010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
11904
74cbf5bd
CW
119052010-05-18 Colin Watson <cjwatson@ubuntu.com>
11906
11907 * configure.ac: Check for Linux device-mapper support.
11908
11909 * util/hostdisk.c (device_is_mapped): New function.
11910 (find_partition_start): New function, partly broken out from
11911 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
11912 device-mapper support added.
11913 (linux_find_partition): Use find_partition_start.
11914 (convert_system_partition_to_system_disk): Add `st' argument.
11915 Support Linux /dev/mapper/* devices if device-mapper support is
11916 available; only DM-RAID devices are understood at present.
11917 (find_system_device): Add `st' argument. Pass it to
11918 convert_system_partition_to_system_disk.
11919 (grub_util_biosdisk_get_grub_dev): Pass stat result to
11920 find_system_device and convert_system_partition_to_system_disk. Use
11921 find_partition_start.
11922
11923 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
11924 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
11925 * util/deviceiter.c [__linux__]: Define MINOR.
11926 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
11927 * util/mkdevicemap.c (grub_putchar): New function.
11928 (grub_getkey): New function.
11929 (grub_refresh): New function.
11930 (main): Set debug=all if -v -v is used.
11931
355b51e9
CW
119322010-05-18 Colin Watson <cjwatson@ubuntu.com>
11933
11934 Fix build with non-GNU libcs.
11935
11936 * util/misc.c (canonicalize_file_name): Move to ...
11937 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
11938 grub_make_system_path_relative_to_its_root.
11939
7fb5c25f
CW
119402010-05-18 Colin Watson <cjwatson@ubuntu.com>
11941
11942 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
11943 we handle finding grub-mkimage. Default to finding grub-mkimage in
11944 ${bindir} with program_transform_name applied, and provide a
11945 --grub-mkimage option to override this.
11946
1d3293d6
VS
119472010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 Remove grub-mkisofs.
11950
11951 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
11952 (grub_mkisofs_SOURCES): Removed.
11953 (grub_mkisofs_CFLAGS): Removed.
11954 * util/mkisofs/defaults.h: Removed.
11955 * util/mkisofs/eltorito.c: Likewise.
11956 * util/mkisofs/exclude.h: Likewise.
11957 * util/mkisofs/hash.c: Likewise.
11958 * util/mkisofs/include/: Likewise.
11959 * util/mkisofs/include/fctldefs.h: Likewise.
11960 * util/mkisofs/include/mconfig.h: Likewise.
11961 * util/mkisofs/include/prototyp.h: Likewise.
11962 * util/mkisofs/include/statdefs.h: Likewise.
11963 * util/mkisofs/iso9660.h: Likewise.
11964 * util/mkisofs/joliet.c: Likewise.
11965 * util/mkisofs/match.c: Likewise.
11966 * util/mkisofs/match.h: Likewise.
11967 * util/mkisofs/mkisofs.c: Likewise.
11968 * util/mkisofs/mkisofs.h: Likewise.
11969 * util/mkisofs/msdos_partition.h: Likewise.
11970 * util/mkisofs/multi.c: Likewise.
11971 * util/mkisofs/name.c: Likewise.
11972 * util/mkisofs/rock.c: Likewise.
11973 * util/mkisofs/tree.c: Likewise.
11974 * util/mkisofs/write.c: Likewise.
11975
5dde9afe
VS
119762010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 Unify grub-mkimage accross platforms.
11979
11980 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
11981 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
11982 (grub_mkelfimage_SOURCES): Removed.
11983 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
11984 (util/grub-mkimage.c_DEPENDENCIES): .. this.
11985 (bin_UTILITIES): Add grub-mkimage.
11986 (grub_mkimage_SOURCES): New variable.
11987 (kernel_img_HEADERS): Remove machine/kernel.h.
11988 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
11989 (pkglib_PROGRAMS): Add kernel.img.
11990 (kernel_img_HEADERS): Add machine/kernel.h.
11991 (kernel_img_FORMAT): Removed.
11992 (bin_UTILITIES): Remove grub-mkimage.
11993 (grub_mkimage_SOURCES): Removed.
11994 (grub_mkimage_CFLAGS): Likewise.
11995 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11996 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
11997 (pkglib_PROGRAMS): Add kernel.img.
11998 (bin_UTILITIES): Remove grub-mkimage.
11999 (grub_mkimage_SOURCES): Removed.
12000 (grub_mkimage_CFLAGS): Likewise.
12001 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12002 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
12003 (pkglib_PROGRAMS): Add kernel.img.
12004 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
12005 (pkglib_PROGRAMS): Add kernel.img.
12006 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
12007 (grub_mkimage_SOURCES): Removed.
12008 (grub_mkimage_CFLAGS): Likewise.
12009 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12010 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
12011 (pkglib_PROGRAMS): Add kernel.img.
12012 (bin_UTILITIES): Remove grub-mkimage.
12013 (grub_mkimage_SOURCES): Removed.
12014 (grub_mkimage_CFLAGS): Likewise.
12015 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12016 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
12017 (grub_mkimage_SOURCES): Removed.
12018 (grub_mkimage_CFLAGS): Likewise.
12019 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12020 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
12021 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
12022 (grub_pe32_optional_header): ... this.
12023 (grub_pe64_optional_header): ... and this. All users updated.
12024 (GRUB_PE32_PE32_MAGIC): Split into ..
12025 (GRUB_PE32_PE32_MAGIC): .. this.
12026 (GRUB_PE32_PE64_MAGIC): .. and this.
12027 (GRUB_PE32_SIGNATURE_SIZE): New definition.
12028 * include/grub/elf.h (PT_GNU_STACK): New definition.
12029 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
12030 * include/grub/i386/efi/kernel.h: Likewise.
12031 * include/grub/i386/kernel.h: Likewise.
12032 * include/grub/i386/pc/kernel.h: Likewise.
12033 * include/grub/i386/qemu/boot.h: Likewise.
12034 * include/grub/mips/kernel.h: Likewise.
12035 * include/grub/mips/qemu-mips/kernel.h: Likewise.
12036 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12037 * include/grub/powerpc/kernel.h: Likewise.
12038 * include/grub/sparc64/ieee1275/boot.h: Likewise.
12039 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12040 * include/grub/sparc64/kernel.h: Likewise.
12041 * include/grub/x86_64/efi/kernel.h: Likewise.
12042 * include/grub/x86_64/kernel.h: Likewise.
12043 * include/grub/offsets.h: New file.
12044 * include/grub/kernel.h (grub_module_info): Split into ...
12045 (grub_module_info32): ... this.
12046 (grub_module_info64): ... and this.
12047 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
12048 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
12049 (grub_boot_blocklist): Moved from here ...
12050 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
12051 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
12052 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
12053 * include/grub/types.h (grub_target_to_host16): Removed.
12054 (grub_target_to_host32): Likewise.
12055 (grub_target_to_host64): Likewise.
12056 (grub_host_to_target16): Likewise.
12057 (grub_host_to_target32): Likewise.
12058 (grub_host_to_target64): Likewise.
12059 (grub_host_to_target_addr): Likewise.
12060
12061 Support grub-mkrescue for efi, coreboot and qemu.
12062
12063 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
12064 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
12065 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
12066 * util/grub-mkrawimage.c: Moved from here ...
12067 * util/grub-mkimage.c: ... here. All users updated.
12068 (ALIGN_ADDR): Use image_target.
12069 (TARGET_NO_FIELD): New const.
12070 (image_target_desc): New type.
12071 (image_targets): New array.
12072 (grub_target_to_host64): Use image_target.
12073 (grub_target_to_host32): Likewise.
12074 (grub_target_to_host16): Likewise.
12075 (grub_host_to_target64): Likewise.
12076 (grub_host_to_target32): Likewise.
12077 (grub_host_to_target16): Likewise.
12078 (grub_host_to_target_addr): Likewise.
12079 (generate_image): Handle multiimage.
12080 (main): Require -O parameter. All users updated.
12081 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
12082 util/efi/grub-mkimage.c
12083 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
12084 New option --rom-directory.
12085 Use xorriso.
12086 * util/i386/efi/grub-mkimage.c: Removed.
12087 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
12088 (grub_target_to_host32): Likewise.
12089 (grub_target_to_host64): Likewise.
12090 (grub_host_to_target16): Likewise.
12091 (grub_host_to_target32): Likewise.
12092 (grub_host_to_target64): Likewise.
12093 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
12094 (grub_target_to_host32): Likewise.
12095 (grub_target_to_host64): Likewise.
12096 (grub_host_to_target16): Likewise.
12097 (grub_host_to_target32): Likewise.
12098 (grub_host_to_target64): Likewise.
12099
f4fc97d0
BC
121002010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
12101
12102 Source tree is reorganized for emu build.
12103
12104 * include/grub/util/console.h: Move from here...
12105 * include/grub/emu/console.h: ...to here.
12106 * include/grub/util/getroot.h: Move from here...
12107 * include/grub/emu/getroot.h: ...to here.
12108 * include/grub/util/hostdisk.h: Move from here...
12109 * include/grub/emu/hostdisk.h: ...to here.
12110 * util/console.c: Move from here...
12111 * kern/emu/console.c: ...to here.
12112 * util/getroot.c: Move from here...
12113 * kern/emu/getroot.c: ...to here.
12114 * util/grub-emu.c: Move from here...
12115 * kern/emu/main.c: ...to here.
12116 * util/hostdisk.c: Move from here...
12117 * kern/emu/hostdisk.c: ...to here.
12118 * util/hostfs.c: Move from here...
12119 * kern/emu/hostfs.c: ...to here.
12120 * util/mm.c: Move from here...
12121 * kern/emu/mm.c: ...to here.
12122 * util/pci.c: Move from here...
12123 * bus/emu/pci.c: ...to here.
12124 * util/sdl.c: Move from here...
12125 * video/emu/sdl.c: ...to here.
12126 * util/time.c: Move from here...
12127 * kern/emu/time.c: ...to here.
12128 * util/usb.c: Move from here...
12129 * bus/usb/emu/usb.c: ...to here.
12130
12131 * include/grub/emu/misc.h: New header for grub-emu functions.
12132 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
12133
12134 * conf/any-emu.rmk: Rule updates for above renames.
12135 * conf/common.rmk: Likewise.
12136 * conf/i386-pc.rmk: Likewise.
12137 * conf/i386-qemu.rmk: Likewise.
12138 * conf/mips.rmk: Likewise.
12139 * conf/sparc64-ieee1275.rmk: Likewise.
12140 * conf/x86-efi.rmk: Likewise.
12141
12142 * disk/lvm.h: #include updates for above renames.
12143 * util/grub-mkrelpath.c: Likewise.
12144 * util/grub-probe.c: Likewise.
12145 * util/i386/pc/grub-setup.c: Likewise.
12146 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12147 * kern/emu/console.c: Likewise.
12148 * kern/emu/getroot.c: Likewise.
12149 * kern/emu/hostdisk.c: Likewise.
12150 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
12151
12152 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
12153 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
12154 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
12155 * util/misc.c: Remove grub-emu functions.
12156
cced9145
VS
121572010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 Fix gfxmenu crash.
12160 Reported by: Thorsten Grützmacher.
12161
12162 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
12163 timeout hook.
12164 (circprog_set_property): Register and unregister timeout hook.
12165 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
12166 (label_destroy): Free template. and unregister hook.
12167 (label_set_state): New function.
12168 (label_set_property): Handle templates and hooks.
12169 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
12170 timeout hook.
12171 (progress_bar_set_property): Register and unregister timeout hook.
12172 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
12173 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
12174 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
12175 (update_timeout_visit): Removed.
12176 (update_timeouts): New function.
12177 (redraw_timeouts): Likewise.
12178 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
12179 (grub_gfxmenu_clear_timeout): Likewise.
12180 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
12181 (grub_gfxmenu_timeout_notify): Likewise.
12182 (grub_gfxmenu_timeout_notifications): New external variable.
12183 (grub_gfxmenu_timeout_register): New function.
12184 (grub_gfxmenu_timeout_unregister): Likewise.
12185
c6e5caab
VS
121862010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 Transform (broken) vga terminal into (working) vga video driver.
12189
12190 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
12191 video/i386/pc/vga.c.
12192 * include/grub/video.h (grub_video_driver_id):
12193 Add GRUB_VIDEO_DRIVER_VGA.
12194 * term/i386/pc/vga.c: Renamed to ...
12195 * video/i386/pc/vga.c: ...this
12196 (DEBUG_VGA): Removed.
12197 (CHAR_WIDTH): Likewise.
12198 (CHAR_HEIGHT): Likewise.
12199 (TEXT_WIDTH): Likewise.
12200 (TEXT_HEIGHT): Likewise.
12201 (DEFAULT_FG_COLOR): Likewise.
12202 (DEFAULT_BG_COLOR): Likewise.
12203 (colored_char): Likewise.
12204 (xpos): Likewise.
12205 (ypos): Likewise.
12206 (cursor_state): Likewise.
12207 (fg_color): Likewise.
12208 (bg_color): Likewise.
12209 (text_buf): Likewise.
12210 (page): Likewise.
12211 (font): Likewise.
12212 (framebuffer): New variable.
12213 (set_read_map): Disabled.
12214 (setup): New variable.
12215 (is_target): Likewise.
12216 (grub_vga_mod_init): Likewise.
12217 (grub_vga_mod_fini): Likewise.
12218 (check_vga_mem): Likewise.
12219 (write_char): Likewise.
12220 (write_cursor): Likewise.
12221 (scroll_up): Likewise.
12222 (grub_vga_putchar): Likewise.
12223 (grub_vga_getcharwidth): Likewise.
12224 (grub_vga_getwh): Likewise.
12225 (grub_vga_getxy): Likewise.
12226 (grub_vga_gotoxy): Likewise.
12227 (grub_vga_cls): Likewise.
12228 (grub_vga_setcolorstate): Likewise.
12229 (grub_vga_setcursor): Likewise.
12230 (grub_video_vga_init): New function.
12231 (grub_video_vga_setup): Likewise.
12232 (grub_video_vga_fini): Likewise.
12233 (update_target): Likewise.
12234 (grub_video_vga_blit_bitmap): Likewise.
12235 (grub_video_vga_blit_render_target): Likewise.
12236 (grub_video_vga_set_active_render_target): Likewise.
12237 (grub_video_vga_get_active_render_target): Likewise.
12238 (grub_video_vga_swap_buffers): Likewise.
12239 (grub_video_vga_set_palette): Likewise.
12240 (grub_video_vga_get_info_and_fini): Likewise.
12241 (grub_vga_term): Removed.
12242 (grub_video_vga_adapter): New variable.
12243 (GRUB_MOD_INIT): Register a video driver instead of terminal.
12244 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
12245
2bf61a98
VS
122462010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 * video/readers/jpeg.c: Indented.
12249
09ddcd11
VS
122502010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12251
12252 Various jpeg cleanups.
12253
12254 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
12255 (grub_jpeg_decode_quan_table): Use sizeof.
12256 (grub_jpeg_decode_du): Use ARRAY_SIZE.
12257
e5507505
PH
122582010-05-05 Peter Hurley <No e-mail available> (tiny change)
12259
12260 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
12261 tables. Ignore non-last ac bit.
12262 (grub_jpeg_decode_quan_table): Likewise.
12263
7e720a9b
VS
122642010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
12267 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
12268 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12269 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
12270 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
12271 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
12272
a7fc080b
VS
122732010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
12276 error.
12277
2bf6012d
VS
122782010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
12281
265d68cd
VS
122822010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
12285 condition.
12286
122872010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
12288
12289 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
12290 part.
12291
265d68cd 122922010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
12293
12294 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
12295 pointers.
12296
265d68cd 122972010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
12298
12299 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
12300
d1b61374
CF
123012010-05-01 Christian Franke <franke@computer.org>
12302
12303 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
12304 Remove broken Cygwin path conversion.
12305 * util/misc.c: [__CYGWIN__] Add include and define.
12306 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
12307 for Cygwin 1.7.
12308 (make_system_path_relative_to_its_root): Simplify loop, replace early
12309 return by break.
12310 [__CYGWIN__] Add conversion to win32 path.
12311 Include "/" case in trailing slash removal.
12312
3558c6e9
VS
123132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * kern/main.c (grub_load_config): Fix copy-pasted comment.
12316 Reported by: Seth Goldberg
12317
f5f3ff93
VS
123182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * commands/help.c (grub_cmd_help): Fix a typo.
12321 Reported by: Seth Goldberg
12322
d8b5cd40
VS
123232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
12326 name and add N_.
12327 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
12328 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
12329 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
12330 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
12331 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
12332 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
12333 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12334 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12335 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12336 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12337 * normal/context.c (GRUB_MOD_INIT): Likewise.
12338 * normal/main.c (GRUB_MOD_INIT): Likewise.
12339 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12340 * term/serial.c (GRUB_MOD_INIT): Likewise.
12341 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12342
88c14915
VS
123432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
12346 extra == 0.
12347
165134bc
VS
123482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 * commands/iorw.c: New file.
12351 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
12352 (iorw_mod_SOURCES): New variable.
12353 (iorw_mod_CFLAGS): Likewise.
12354 (iorw_mod_LDFLAGS): Likewise.
12355
c5ac9b32
VS
123562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 Hotkey support
12359
12360 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
12361 * normal/main.c (hotkey_aliases): New variable.
12362 (grub_normal_add_menu_entry): Parse "--hotkey".
12363 * normal/menu_text.c (run_menu): Handle hotkeys.
12364
ce60689c
VS
123652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 * kern/i386/coreboot/init.c (grub_machine_init): Call
12368 grub_machine_mmap_init on qemu.
12369
0359d006
VS
123702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * boot/i386/qemu/boot.S: Add a missing .code16.
12373
7819a456
VS
123742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 Use LBIO on coreboot.
12377
12378 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
12379 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
12380 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
12381 New declaration.
12382 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
12383 grub_machine_mmap_init on coreboot.
12384 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
12385 GRUB_LINUXBIOS_MEMBER_LINK.
12386 (grub_machine_mmap_iterate): Fix declaration.
12387 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
12388
7210dca9
VS
123892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 Split coreboot and multiboot ports.
12392
12393 * conf/i386-multiboot.rmk: New file.
12394 * configure.ac: Add multiboot port.
12395 * include/grub/i386/multiboot/boot.h: New file.
12396 * include/grub/i386/multiboot/console.h: Likewise.
12397 * include/grub/i386/multiboot/init.h: Likewise.
12398 * include/grub/i386/multiboot/kernel.h: Likewise.
12399 * include/grub/i386/multiboot/loader.h: Likewise.
12400 * include/grub/i386/multiboot/memory.h: Likewise.
12401 * include/grub/i386/multiboot/serial.h: Likewise.
12402 * include/grub/i386/multiboot/time.h: Likewise.
12403 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
12404 * loader/multiboot.c: Likewise.
12405 * loader/multiboot_mbi2.c: Likewise.
12406 * util/grub-mkrescue.in: Generate multiboot rescue.
12407
6f8aaf68
VS
124082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12409
3080f7a7
VS
12410 * kern/parser.c (grub_parser_execute): Cope with read-only config.
12411
124122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
12415
12416 * commands/terminal.c (abstract_terminal): New struct.
12417 (handle_command): New function. Based on grub_cmd_terminal_input.
12418 (grub_cmd_terminal_input): Use handle_command.
12419 (grub_cmd_terminal_output): Use handle_command.
12420
a8ebb841
BC
124212010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
12422
12423 Fix comment handling.
12424
12425 * tests/grub_script_comments.in: New testcase.
12426 * conf/tests.rmk: Rules for new testcase.
12427 * script/yylex.l: Updated flex rules.
12428
bb06ba08
ST
124292010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
12430
12431 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
12432 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
12433 if argc is 1.
bb06ba08 12434
cc9d2425
VS
124352010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
12438 autogen issues.
12439
460d8402
CF
124402010-04-26 Christian Franke <franke@computer.org>
12441
12442 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
12443 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
12444 (grub_get_prefix): Remove function.
12445 * util/grub-emu.c (main): Replace grub_get_prefix () call by
12446 make_system_path_relative_to_its_root ().
12447 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12448
553c01f9
CF
124492010-04-24 Christian Franke <franke@computer.org>
12450
12451 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
12452 (kernel_img_LDFLAGS): Remove -static-libgcc.
12453
2aec1692
CF
124542010-04-24 Christian Franke <franke@computer.org>
12455
12456 * configure.ac: Do not CHECK_BSS_START_SYMBOL
12457 and CHECK_END_SYMBOL if grub-emu is built.
12458 Unset TARGET_OBJ2ELF if grub-emu is built
12459 without module support.
12460
f67dc308
JS
124612010-04-24 Jiro SEKIBA <jir@unicus.jp>
12462
12463 Nilfs2 support.
12464
12465 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
12466 (grub_fstest_SOURCES): Likewise.
12467 (pkglib_MODULES): Add nilfs2.mod.
12468 (nilfs2_mod_SOURCES): New variable.
12469 (nilfs2_mod_CFLAGS): Likewise.
12470 (nilfs2_mod_LDFLAGS): Likewise.
12471 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12472 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12473 * fs/nilfs2.c: New file.
12474
4ba8d354
VS
124752010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
12478 is not supported.
12479
0d2c20c6
GS
124802010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
12481
12482 Add grub-mkconfig support for NetBSD.
12483
12484 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
12485 * util/grub-mkconfig.in: export new NetBSD specific variables.
12486 * po/POTFILES-shell: added 10_netbsd.in.
12487 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
12488
bc4a2d83
BC
124892010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
12490
12491 Fix emu build with grub-emu-pci and grub-emu-modules.
12492
12493 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
12494 functions.
12495 * include/grub/libpciaccess.h: New file.
12496 * conf/any-emu.rmk: Update kernel headers for emu build.
12497
f48c87aa
VS
124982010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
12501
18959385
VS
125022010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
12505
0037de3f
VS
125062010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
12509 Retrieve chosen/bootpath if bootpath isn't hardcoded.
12510 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
12511 util/ieee1275/ofpath.c.
12512 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
12513 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
12514 * include/grub/sparc64/ieee1275/boot.h
12515 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
12516 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
12517 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
12518 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
12519 const char *.
12520 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
12521 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
12522 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
12523 install.
12524
38e55e90
GS
125252010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12526
12527 * util/grub-mkconfig.in: Corrected two == equality tests.
12528 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
12529 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
12530 expect a number appended to it.
12531 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
12532 expects a number appended to it.
12533
a9e6ff28
VS
125342010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
12537
0b830b8f
VS
125382010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * util/hostdisk.c (make_device_name): Change to new partition naming.
12541
0973daeb
VS
125422010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
12545
460d8402 125462010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
12547
12548 * Makefile.in: Add missing localedir setting.
12549
0b456309
CW
125502010-04-14 Colin Watson <cjwatson@ubuntu.com>
12551
12552 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
12553 mistake in r2156. Noticed by Anthony Fok.
12554
12555 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
12556 @localedir@.
12557 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12558
08f46d62
BC
125592010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
12560
12561 Fix a spurious, uninitialized variable warning.
12562
12563 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
12564 Initialize variable, shdr.
12565 (grub_freebsd_load_elfmodule): Likewise.
12566 (grub_freebsd_load_elf_meta): Likewise.
12567
8c4a72d4
BC
125682010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
12569
12570 Fix for escaped dollar in double quoted strings.
12571
12572 * script/yylex.l: Updated flex rules.
12573 * conf/tests.rmk: Rule for new testcase.
12574 * tests/grub_script_dollar.in: New testcase.
12575
ce44826e
CPE
125762010-04-13 Carles Pina i Estany <carles@pina.cat>
125772010-04-13 Colin Watson <cjwatson@ubuntu.com>
12578
12579 Enclose all translated strings in grub.cfg in single quotes, and
12580 escape them appropriately (Ubuntu bug #552921).
12581
12582 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
12583 * util/grub.d/10_hurd.in: Use it.
12584 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12585 * util/grub.d/10_linux.in (linux_entry): Likewise.
12586
4b0cd8f8
VS
125872010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 Fix cygwin compilation.
12590
12591 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
12592 * include/grub/misc.h (__register_frame_info)
12593 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
12594 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12595 * kern/misc.c (__register_frame_info)
12596 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
12597 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12598
01fcf061
VS
125992010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
12602
5d04b11e
VS
126032010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 Unify libgcc processing.
12606
12607 * Makefile.in (kernel_img_LDFLAGS): New variable.
12608 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
12609 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
12610 overwriting.
12611 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
12612 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
12613 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
12614 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
12615 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
12616 overwriting. Remove -lgcc and -static-libgcc
12617 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
12618 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12619 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12620 (kernel_img_LDFLAGS): Append instead of overwriting.
12621 Remove -lgcc and -static-libgcc
12622 * conf/sparc64-ieee1275.rmk: Likewise.
12623 * include/grub/powerpc/libgcc.h: Move to ...
12624 * include/grub/libgcc.h: .. this.
12625 * include/grub/libgcc.h: Don't export most of the function on x86.
12626 (__bswapsi2): New export.
12627 (__bswapdi2): Likewise.
12628 * include/grub/mips/libgcc.h: Removed.
12629 * include/grub/sparc64/libgcc.h: Likewise.
12630
b7f3ac29
VS
126312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
12634 disk_info_msg (conflicts with gettexting into languages with cases).
12635
2c7031b1
GS
126362010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12637
12638 Add grub-probe support for NetBSD.
12639
12640 * util/getroot.c (find_root_device): Convert block device to
12641 character device on NetBSD.
12642 * util/probe.c (probe): Require character device on NetBSD.
12643 * util/hostdisk.c: NetBSD specific headers.
12644 (configure_device_driver): new function to tune device driver
12645 parameters (currently only for NetBSD floppy driver).
12646 (grub_util_biosdisk_open): NetBSD specific code (get disk size
12647 via disklabel ioctl).
12648 (open_device): call configure_device_driver on NetBSD.
12649 (convert_system_partition_to_system_disk): NetBSD specific code.
12650 (device_is_wholedisk): Likewise.
12651 (grub_util_biosdisk_get_grub_dev): Likewise.
12652 (make_device_name): Fixed a typo in bsd_part_str.
12653 * configure.ac: check for opendisk() and getrawpartition() on
12654 NetBSD and set LIBUTIL.
12655 * Makefile.in: add LIBUTIL to LIBS.
12656
f516290c
BC
126572010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12658
12659 Documentation fix.
12660
12661 * util/grub-script-check.c: Better help message.
12662
d8dcc0df
BC
126632010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12664
12665 Fix FreeBSD build.
12666
12667 * configure.ac: Flex version check.
12668 * conf/common.rmk: Add -Wno-error to sh.mod.
12669 * script/yylex.l: Remove all #pragma.
12670
6734334a
VS
126712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * include/grub/util/misc.h (canonicalise_file_name): Add missing
12674 prototype.
12675 Reported by: Seth Goldberg.
12676
daea6abd
VS
126772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
12680 Rename "module" to "module2".
12681 Reported by: Seth Goldberg.
12682
f2fd9d2b
VS
126832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
12686 EXPORT_FUNC.
12687 Reported by: Seth Goldberg.
12688
be124579
VS
126892010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 * lib/posix_wrap/locale.h: Add missing file.
12692 Reported by: Seth Goldberg.
12693
ef5da797
VS
126942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 grub-emu module load support.
12697
12698 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
12699 NO_DYNAMIC_MODULES switched to this.
12700 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
12701 (CFLAGS): Likewise.
12702 * conf/any-emu.rmk: Generate symlist.
12703 (kernel_img_HEADERS): Add util/datetime.h.
12704 (kernel_img_HEADERS) [sdl]: Add sdl.h.
12705 (kernel_img_HEADERS) [libusb]: Add libusb.h.
12706 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
12707 kern/$(target_cpu)/cache.S.
12708 * configure.ac (grub-emu-modules): New option.
12709 * genmk.rb: Handle multiple source lists.
12710 * include/grub/sdl.h: New file.
12711 * include/grub/libusb.h: Likewise.
12712 * util/grub-emu.c (main): Hanle (host) root.
12713 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
12714 GRUB_ERR_UNKNOWN_DEVICE.
12715 * util/misc.c: Move mm functions to ...
12716 * util/mm.c: ... here. All users updated.
12717
47822096
VS
127182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
12721 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
12722 missing files.
12723 (maintainer-clean): Remove libgcrypt-grub.
12724
5d7e7445
VS
127252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12726
12727 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
12728
25f4e252
EC
127292010-04-09 EFI Coder <eficoder@hotmail.com>
12730
12731 * normal/menu_text.c (print_message): Clean up the message and show
12732 the Fn information when on EFI
12733 * term/efi/console.c (grub_console_checkkey): Add F4 support.
12734
027de555
VS
127352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
12738 All users updated.
12739 * normal/crypto.c (read_crypto_list): Likewise.
12740 * normal/dyncmd.c (read_command_list): Likewise.
12741 * normal/term.c (read_terminal_list): Likewise.
12742 * normal/main.c (read_lists): Use explicit prefix.
12743 (read_lists_hook): Use read_lists.
12744 (grub_normal_execute): Likewise.
12745
47779711
VS
127462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
12749 Reported by: Thomas Schmitt.
12750 Add -no-emul-boot to grub-mkisofs parameters.
12751
1118c32e
VS
127522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * font/font.c: Indented.
12755
7d652447
BC
127562010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12757
12758 Elif support to GRUB script (by Deepak Vankadaru).
12759
12760 * tests/grub_script_if.in: New testcase.
12761 * conf/tests.rmk: Rule for new testcase.
12762 * script/parser.y: Grammar rules for elif.
12763
34bb22df
BC
127642010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12765
12766 While and until loops support to GRUB script.
12767
12768 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
12769 (grub_script_create_cmdwhile): New function prototype.
12770 (grub_script_execute_cmdwhile): New function prototype.
12771 * script/execute.c (grub_script_execute_cmdwhile): New function.
12772 * script/parser.y (command): New commands.
12773 (whilecmd): New grammar rule.
12774 (untilcmd): New grammar rule.
12775 * script/script.c (grub_script_create_cmdwhile): New function.
12776 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
12777 function.
12778
12779 * tests/grub_script_while1.in: New testcase.
12780 * conf/tests.rmk: Rule for new testcase.
12781
e215d8e0
VS
127822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
12785 as *.jpg.
12786
d7c43ba1
MV
127872010-04-09 Mario Vazquez <mariovazq@gmail.com>
12788
12789 GRUB_BACKGROUND support.
12790
12791 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
12792 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
12793
d64795c0
VS
127942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 12797 Idea by: Mario Vazquez
d64795c0
VS
12798
12799 * util/grub.d/00_header.in: Load pf2 and image modules.
12800
f267f83a
VS
128012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 grub-mkconfig multiple terminal support.
12804
12805 * util/grub-mkconfig.in: Handle multiple terminals correctly.
12806 * util/grub.d/00_header.in: Likewise.
12807
b7841ceb
VS
128082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * Makefile.in: Specify files explicitly instead of using $< and $@ since
12811 we use cd $(srcdir).
12812
df60998c
CW
128132010-04-08 Colin Watson <cjwatson@ubuntu.com>
12814
12815 * util/grub.d/10_linux.in: Only use the first word of
12816 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
12817 spaces in GRUB_DISTRIBUTOR.
12818 * util/grub.d/10_kfreebsd.in: Likewise.
12819 * util/grub.d/10_hurd.in: Likewise.
12820
fa09c82e
BC
128212010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
12822
14e18ae3 12823 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
12824
12825 * tests/util/grub-shell.in: Remove -serial stdio option.
12826
daf892b3
BC
128272010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 POSIX header file wrappers.
12830
12831 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
12832 equivalents.
12833 * lib/posix_wrap/ctype.h: Likewise.
12834 * lib/posix_wrap/errno.h: Likewise.
12835 * lib/posix_wrap/langinfo.h: Likewise.
12836 * lib/posix_wrap/limits.h: Likewise.
12837 * lib/posix_wrap/localcharset.h: Likewise.
12838 * lib/posix_wrap/stdint.h: Likewise.
12839 * lib/posix_wrap/stdio.h: Likewise.
12840 * lib/posix_wrap/stdlib.h: Likewise.
12841 * lib/posix_wrap/string.h: Likewise.
12842 * lib/posix_wrap/sys/types.h: Likewise.
12843 * lib/posix_wrap/unistd.h: Likewise.
12844 * lib/posix_wrap/wchar.h: Likewise.
12845 * lib/posix_wrap/wctype.h: Likewise.
12846 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
12847 (grub_script.yy.h): Likewise.
12848 * script/yylex.l: Remove POSIX emulation #defines.
12849 * Makefile.in (POSIX_CFLAGS): New variable.
12850 (GNULIB_UTIL_CFLAGS): Likewise.
12851
12852 Regexp support.
12853
12854 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
12855 (regexp_mod_SOURCES): New variable.
12856 (regexp_mod_CFLAGS): Likewise.
12857 (regexp_mod_LDFLAGS): Likewise.
12858 * commands/regexp.c: New file.
12859 * gnulib/regcomp.c: New file. Imported from gnulib.
12860 * gnulib/regex.c: Likewise.
12861 * gnulib/regex_internal.c: Likewise.
12862 * gnulib/regex_internal.h: Likewise.
12863 * gnulib/regexec.c: Likewise.
12864 * gnulib/regex.h: Likewise.
12865
974ac4f7
VS
128662010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
12869 unsupported video mode types.
12870
2622c3ff
VS
128712010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
12874
064cb524
VS
128752010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
12878 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
12879
a8c3b552
VS
128802010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 Remove unused grub_vga_get_font.
12883
12884 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
12885 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
12886
187bbe3d
GS
128872010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12888
12889 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
12890 * include/grub/misc.h: Likewise.
12891
b9396631
GS
128922010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12893
12894 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
12895 for which failure is fatal.
12896
50479feb
GS
128972010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12898
12899 * util/grub-install.in: Use mkdir -p to create grub directory.
12900 * util/i386/efi/grub-install.in: Likewise.
12901 * util/ieee1275/grub-install.in: Likewise.
12902
b1654fdf
GS
129032010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12904
12905 * Makefile.in (LEX): new variable.
12906
bd5a6415
GS
129072010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12908
12909 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
12910 `=' and added double quotes on operands of this equality test.
12911
3db3a82b
VS
129122010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 * Makefile.in (uninstall): Remove a leftover debug echo.
12915 Reported by: Grégoire Sutre
12916
38023412
VS
129172010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 MIPS multiboot2 support.
12920
12921 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
12922 (multiboot2_mod_SOURCES): New variable.
12923 (multiboot2_mod_CFLAGS): Likewise.
12924 (multiboot2_mod_LDFLAGS): Likewise.
12925 (multiboot2_mod_ASFLAGS): Likewise.
12926 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
12927 definition.
12928 (MULTIBOOT_ENTRY_REGISTER): Likewise.
12929 (MULTIBOOT_MBI_REGISTER): Likewise.
12930 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
12931 (MULTIBOOT_ELF32_MACHINE): Likewise.
12932 (MULTIBOOT_ELF64_MACHINE): Likewise.
12933 * include/grub/mips/multiboot.h: New file.
12934 * include/grub/video.h (grub_video_driver_id): New type
12935 GRUB_VIDEO_DRIVER_SM712.
12936 (grub_video_get_info_and_fini): Export.
12937 (grub_video_get_palette): Likewise.
12938 (grub_video_get_driver_id): Likewise.
12939 * include/multiboot2.h: Resynced with spec.
12940 * loader/i386/multiboot.c: Moved from here ...
12941 * loader/multiboot.c: ... here. All users updated.
12942 (grub_multiboot_boot): Use platform-specific macros.
12943 * loader/i386/multiboot_elfxx.c: Moved from here ...
12944 * loader/multiboot_elfxx.c: ... here. All users updated.
12945 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
12946 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
12947 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
12948
47674667
VS
129492010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 Import gnulib argp module.
12952
12953 * gnulib/argp-ba.c: New file.
12954 * gnulib/argp-eexst.c: Likewise.
12955 * gnulib/argp-fmtstream.c: Likewise.
12956 * gnulib/argp-fmtstream.h: Likewise.
12957 * gnulib/argp-fs-xinl.c: Likewise.
12958 * gnulib/argp-help.c: Likewise.
12959 * gnulib/argp-namefrob.h: Likewise.
12960 * gnulib/argp-parse.c: Likewise.
12961 * gnulib/argp-pin.c: Likewise.
12962 * gnulib/argp-pv.c: Likewise.
12963 * gnulib/argp-pvh.c: Likewise.
12964 * gnulib/argp-version-etc.c: Likewise.
12965 * gnulib/argp-version-etc.h: Likewise.
12966 * gnulib/argp-xinl.c: Likewise.
12967 * gnulib/argp.h: Likewise.
12968
495442ed
VS
129692010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 * kern/device.c (grub_device_iterate): Clear errors after failed
12972 opening device.
12973
f9fd65df
VS
129742010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12975
12976 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
12977 returned by firmware.
12978
af09641e
VS
129792010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
12982 compilation on coreboot and qemu
12983
016883a5
VS
129842010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * include/multiboot2.h: Resync with spec.
12987
f97e1f7d
VS
129882010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 Multiboot2 tag support
12991
12992 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
12993 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
12994 Remove loader/multiboot_loader.c.
12995 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
12996 (grub_multiboot2_real_boot): Likewise.
12997 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
12998 (grub_get_multiboot_mmap_count): New proto.
12999 (grub_fill_multiboot_mmap): Likewise.
13000 (grub_multiboot_set_video_mode): Likewise.
13001 (grub_multiboot_set_console): Likewise.
13002 (grub_multiboot_load): Likewise.
13003 (grub_multiboot_load_elf): Likewise.
13004 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
13005 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
13006 * include/multiboot.h: Resynced with specification.
13007 * include/multiboot2.h: Resynced with specification.
13008 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
13009 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
13010 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
13011 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
13012 users updated.
13013 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
13014 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
13015 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
13016 Removed.
13017 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
13018 Moved from here...
13019 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
13020 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13021 Moved from here...
13022 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
13023 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
13024 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
13025 All users updated.
13026 * loader/i386/multiboot_mbi2.c: New file.
13027
3506b90b
VS
130282010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 Resync with gnulib.
13031
13032 * Makefile.in (GNULIB_CFLAGS): New variable.
13033 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
13034 (grub_script_check_CFLAGS): New variable.
13035 * gnulib/alloca.h: Resync with gnulib.
13036 * gnulib/error.c: Likewise.
13037 * gnulib/error.h: Likewise.
13038 * gnulib/fnmatch.c: Likewise.
13039 * gnulib/fnmatch_loop.c: Likewise.
13040 * gnulib/getdelim.c: Likewise.
13041 * gnulib/getline.c: Likewise.
13042 * gnulib/getopt.c: Likewise.
13043 * gnulib/getopt1.c: Likewise.
13044 * gnulib/getopt_int.h: Likewise.
13045 * gnulib/gettext.h: Likewise.
13046 * gnulib/progname.c: Likewise.
13047 * gnulib/progname.h: Likewise.
13048
394a3120
GS
130492010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
13050
13051 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
13052 which is the case with --disabled-nls.
13053
13054 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
13055 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
13056 * util/misc.c: Likewise.
13057 * util/mkisofs/mkisofs.c: Likewise.
13058 * util/mkisofs/mkisofs.h: Likewise.
13059
969d1c78
VS
130602010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 Simplify Apple CC support.
13063
13064 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
13065 Add 0 byte at the end not to have a symbol with empty target.
13066 * mmap/i386/pc/mmap_helper.S: Likewise.
13067 * genmk.rb: Ignore errors 2030 and 2050.
13068 * kern/i386/pc/startup.S: Use LOCAL when possible.
13069
8d2977bb
BC
130702010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
13071
13072 Testcase and the fix for final semicolon on cmdline.
13073
13074 * tests/grub_script_final_semicolon.in: New testcase.
13075 * conf/tests.rmk: Rules for the new testcase.
13076 * script/parser.y: Grammar fix.
13077
a7bd6915
BC
130782010-03-26 BVK Chaitanya <bvk@localhost>
13079
13080 Blank lines testcase for GRUB script.
13081
13082 * tests/grub_script_blanklines.in: New testcase.
13083 * conf/tests.rmk: Rules for the new testcase.
13084
e4ff6628
VS
130852010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 Don't use __FILE__.
13088
13089 * genmk.rb: Add -DGRUB_FILE to all C targets.
13090 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
13091 * include/grub/list.h: Likewise.
13092 * include/grub/misc.h: Likewise.
13093 * include/grub/mm.h: Likewise.
13094 * include/grub/test.h: Likewise.
13095 * kern/mm.c: Likewise.
13096 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
13097
6a5cf6b6
VS
130982010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 Sunpc partitions support.
13101
13102 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
13103 (grub_fstest_SOURCES): Likewise.
13104 (pkglib_MODULES): Add part_sunpc.mod.
13105 (part_sunpc_mod_SOURCES): New variable.
13106 (part_sunpc_mod_CFLAGS): Likewise.
13107 (part_sunpc_mod_LDFLAGS): Likewise.
13108 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
13109 * partmap/sunpc.c: New file.
13110
746d9045
BC
131112010-03-26 BVK Chaitanya <bvk@localhost>
13112
13113 For loop support to GRUB script.
13114
13115 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
13116 (grub_script_create_cmdfor): New function prototype.
13117 (grub_script_execute_cmdfor): New function prototype.
13118 * script/execute.c (grub_script_execute_cmdfor): New function.
13119 * script/parser.y (command): New for command.
13120 (forcmd): New grammar rule.
13121 * script/script.c (grub_script_create_cmdfor): New function.
13122 * util/grub-script-check.c (grub_script_execute_cmdfor): New
13123 function.
13124 * tests/grub_script_for1.in: New testcase.
13125 * conf/tests.rmk: Rules for new testcase.
13126
18486b18
VS
131272010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 Nested partitions
13130
13131 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
13132 'partition' is NULL, grub_partition_get_start already does that.
13133 * commands/loadenv.c (check_blocklists): Likewise.
13134 (write_blocklists): Likewise.
13135 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
13136 (grub_fstest_SOURCES): Likewise.
13137 (pkglib_MODULES): Add part_bsd.mod.
13138 (part_bsd_mod_SOURCES): New variable.
13139 (part_bsd_mod_CFLAGS): Likewise.
13140 (part_bsd_mod_LDFLAGS): Likewise.
13141 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
13142 (grub_emu_SOURCES): Likewise.
13143 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13144 * include/grub/bsdlabel.h: New file.
13145 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
13146 'get_name'.
13147 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
13148 (grub_partition_map_list): New variable.
13149 (grub_partition_map_register): Inline.
13150 (grub_partition_map_unregister): Likewise.
13151 (FOR_PARTITION_MAPS): New macro.
13152 (grub_partition_map_iterate): Removed.
13153 (grub_partition_get_start): Handle nested partitions.
13154 * include/grub/msdos_partition.h: Remove bsd-related entries.
13155 (grub_pc_partition): Remove.
13156 * kern/disk.c (grub_disk_close): Free partition data.
13157 (grub_disk_adjust_range): Handle nested partitions.
13158 * kern/partition.c (grub_partition_map_probe): New function.
13159 (grub_partition_probe): Parse name to number, handle subpartitions.
13160 (get_partmap): New function.
13161 (grub_partition_iterate): Handle subpartitions.
13162 (grub_partition_get_name): Likewise.
13163 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
13164 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
13165 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
13166 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
13167 Set 'number'.
13168 (acorn_partition_map_probe): Remove.
13169 (acorn_partition_map_get_name): Likewise.
13170 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
13171 Set 'number'.
13172 Set 'index' to 0 since there can be only one partition entry per sector.
13173 (amiga_partition_map_probe): Remove.
13174 (amiga_partition_map_get_name): Likewise.
13175 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
13176 Set 'number'.
13177 Set 'offset' and 'index' to real positions of partitions.
13178 (apple_partition_map_probe): Remove.
13179 (apple_partition_map_get_name): Likewise.
13180 * partmap/bsdlabel.c: New file.
13181 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
13182 Set 'number'.
13183 Allocate 'data' so it can be correctly freed.
13184 Set 'index' to offset inside sector.
13185 (gpt_partition_map_probe): Remove.
13186 (gpt_partition_map_get_name): Likewise.
13187 * partmap/msdos.c (grub_partition_parse): Remove.
13188 (pc_partition_map_iterate): Don't force raw access.
13189 Set 'number'.
13190 Make 'ext_offset' a local variable.
13191 (pc_partition_map_probe): Remove.
13192 (pc_partition_map_get_name): Remove.
13193 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
13194 Set 'number'.
13195 (sun_partition_map_probe): Remove.
13196 (sun_partition_map_get_name): Likewise.
13197 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
13198 (grub_pcpart_type): Likewise.
13199 * util/hostdisk.c (open_device): Handle new numbering scheme.
13200 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
13201 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
13202 * util/grub-probe.c (probe_partmap): Handle nested paritions.
13203 * util/grub-install.in: Insert all subpartition modules.
13204 * util/ieee1275/grub-install.in: Likewise.
13205
a3940f88
AG
132062010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
13207
13208 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
13209 grammar.
13210
21b99926 132112010-03-24 Colin Watson <cjwatson@ubuntu.com>
13212
13213 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
13214
bed1d352
CW
132152010-03-21 Colin Watson <cjwatson@ubuntu.com>
13216
13217 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
13218 match where 'make install' puts them.
13219 * util/i386/efi/grub-install.in: Likewise.
13220
c9f58427
CW
132212010-03-19 Colin Watson <cjwatson@ubuntu.com>
13222
13223 * .bzrignore: Add gentrigtables, grub-script-check,
13224 grub_script_check_init.c, grub_script_check_init.h, and
13225 trigtables.c.
13226
f84afb27
VS
132272010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 * kern/parser.c: Indented.
13230
ed0e3d30
VS
132312010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13232
13233 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
13234
0ea81d98
VS
132352010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
13238 alpha_mask_size == 0 case.
13239
0cdc2a09
BC
132402010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
13241
13242 GRUB shell lexer and parser improvements.
13243
13244 * conf/any-emu.rmk: Build rule updates.
13245 * conf/common.rmk: Likewise.
13246 * conf/i386-coreboot.rmk: Likewise.
13247 * conf/i386-efi.rmk: Likewise.
13248 * conf/i386-ieee1275.rmk: Likewise.
13249 * conf/i386-pc.rmk: Likewise.
13250 * conf/powerpc-ieee1275.rmk: Likewise.
13251 * conf/x86_64-efi.rmk: Likewise.
13252
13253 * configure.ac: Configure check for flex.
13254
13255 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
13256 types.
13257 (grub_lexer_param): Struct member updates.
13258 (grub_parser_param): Likewise.
13259 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
13260 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
13261 (grub_script_lexer_init): Prototype update.
13262 (grub_script_lexer_record_start): Likewise.
13263 (grub_script_lexer_record_stop): Likewise.
13264 (grub_script_lexer_yywrap): New function prototype.
13265 (grub_script_lexer_fini): Likewise.
13266 (grub_script_execute_argument_to_string): Removed by...
13267 (grub_script_execute_argument_to_argv): ...better version.
13268
13269 * script/execute.c (ROUND_UPTO): New macro.
13270 (grub_script_execute_cmdline): Out of memory fixes.
13271 (grub_script_execute_menuentry): Likewise.
13272 (grub_script_execute_argument_to_string): Removed. Update all
13273 users by...
13274 (grub_script_execute_argument_to_argv): ...better version.
13275 * script/function.c (grub_script_function_create): Use
13276 grub_script_execute_argument_to_argv instead of
13277 grub_script_execute_argument_to_string.
13278
13279 * script/lexer.c (check_varstate): Removed.
13280 (check_textstate): Removed.
13281 (grub_script_lexer_record_start): Likewise.
13282 (grub_script_lexer_record_stop): Likewise.
13283 (recordchar): Replaced with...
13284 (grub_script_lexer_record): ...new function.
13285 (nextchar): Removed.
13286 (grub_script_lexer_init): Rewritten.
13287 (grub_script_yylex): Rewritten.
13288 (append_newline): New function.
13289 (grub_script_lexer_yywrap): New function.
13290 (grub_script_lexer_fini): New function.
13291 (grub_script_yyerror): Sets error flag.
13292
13293 * script/yylex.l: New file.
13294 (grub_lexer_yyfree): Wrapper for flex yyffre.
13295 (grub_lexer_yyalloc): Likewise.
13296 (grub_lexer_yyrealloc): Likewise.
13297 * script/parser.y: Refactored.
13298
13299 * script/script.c (grub_script_arg_add): Out of memory fixes.
13300 (grub_script_add_arglist): Likewise.
13301 (grub_script_create_cmdline): Likewise.
13302 (grub_script_create_cmdmenu): Likewise.
13303 (grub_script_add_cmd): Likewise.
13304 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
13305 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
13306 unnecessary code.
13307
13308 * tests/grub_script_echo1.in: New testcase.
13309 * tests/grub_script_vars1.in: New testcase.
13310 * tests/grub_script_echo_keywords.in: New testcase.
13311
1d63a066
VS
133122010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 Remove some redundancy in build system.
13315
13316 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
13317 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
13318 (TARGET_LDFLAGS): Add -nostdlib.
13319 (TARGET_IMG_LDFLAGS): Likewise.
13320 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
13321 anything since mmap isn't available.
13322 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
13323 Add util/time.c.
13324 (pkglib_MODULES): Remove reboot.mod.
13325 (reboot_mod_SOURCES): Removed.
13326 (reboot_mod_CFLAGS): Likewise.
13327 (reboot_mod_LDFLAGS): Likewise.
13328 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
13329 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
13330 (DEFSYMFILES): Add kernel_syms.lst.
13331 (kernel_img_HEADERS): Add common headers.
13332 (symlist.c): New target.
13333 (kernel_syms.lst): Likewise.
13334 (pkglib_MODULES): Add memdisk.mod.
13335 (memdisk_mod_SOURCES): New variable.
13336 (memdisk_mod_CFLAGS): Likewise.
13337 (memdisk_mod_LDFLAGS): Likewise.
13338 (pkglib_MODULES): Add reboot.mod.
13339 (reboot_mod_SOURCES): New variable.
13340 (reboot_mod_CFLAGS): Likewise.
13341 (reboot_mod_LDFLAGS): Likewise.
13342 (pkglib_MODULES): Add date.mod.
13343 (date_mod_SOURCES): New variable.
13344 (date_mod_CFLAGS): Likewise.
13345 (date_mod_LDFLAGS): Likewise.
13346 (pkglib_MODULES): Add datehook.mod.
13347 (datehook_mod_SOURCES): New variable.
13348 (datehook_mod_CFLAGS): Likewise.
13349 (datehook_mod_LDFLAGS): Likewise.
13350 (pkglib_MODULES): Add lsmmap.mod.
13351 (lsmmap_mod_SOURCES): New variable.
13352 (lsmmap_mod_CFLAGS): Likewise.
13353 (lsmmap_mod_LDFLAGS): Likewise.
13354 (pkglib_MODULES): Add boot.mod.
13355 (boot_mod_SOURCES): New variable.
13356 (boot_mod_CFLAGS): Likewise.
13357 (boot_mod_LDFLAGS): Likewise.
13358 * conf/i386-coreboot.rmk: Removed redundant parts.
13359 * conf/i386-ieee1275.rmk: Likewise.
13360 * conf/i386-pc.rmk: Likewise.
13361 * conf/mips-yeeloong.rmk: Likewise.
13362 * conf/mips.rmk: Likewise.
13363 * conf/powerpc-ieee1275.rmk: Likewise.
13364 * conf/sparc64-ieee1275.rmk: Likewise.
13365 * conf/x86_64-efi.rmk: Likewise.
13366 * conf/i386-coreboot.rmk: Moved qemu parts ..
13367 * conf/i386-qemu.rmk: ... here
13368 * conf/i386-efi.rmk: Moved common parts to...
13369 * conf/x86-efi.rmk: ... here.
13370 * conf/i386.rmk: Added modules common to all x86 variants.
13371 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
13372 * disk/memdisk.c: Remove grub/machine/kernel.h.
13373 * gensymlist.sh.in: Include symbol.h.
13374 * hook/datehook.c: Correct module name.
13375 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
13376 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
13377 * include/grub/i386/efi/serial.h: New file.
13378 * include/grub/x86_64/efi/serial.h: Likewise.
13379 * util/time.c: Likewise.
13380 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
13381
463ac55f
CK
133822010-03-14 Colin King <colin.king@ubuntu.com>
133832010-03-14 Colin Watson <cjwatson@ubuntu.com>
13384
13385 Shrink the pre-partition-table part of boot.img by eight bytes.
13386
13387 * boot/i386/pc/boot.S (ERR): New macro.
13388 (chs_mode): Use ERR.
13389 (geometry_error): Likewise.
13390 (hd_probe_error): Remove. This is only used once, so we wrwite
13391 it inline instead.
13392 (read_error): Instead of printing read_error_string, just set up
13393 %si and fall through to ...
13394 (error_message): ... this new function, also used by ERR.
13395
08e46ede
CW
133962010-03-14 Colin Watson <cjwatson@ubuntu.com>
13397
13398 Speed up consecutive hostdisk operations on the same device.
13399
13400 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
13401 (grub_util_biosdisk_open): Initialise disk->data.
13402 (struct linux_partition_cache): New structure.
13403 (linux_find_partition): Cache partition start positions; these are
13404 expensive to compute on every read and write.
13405 (open_device): Cache open file descriptor in disk->data, so that we
13406 don't have to reopen it and flush the buffer cache for consecutive
13407 operations on the same device.
13408 (grub_util_biosdisk_close): New function.
13409 (grub_util_biosdisk_dev): Set `close' member.
13410
13411 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
13412 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
13413 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13414 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13415 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
13416
4a6d2d06
VS
134172010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 Compile parts of grub-emu as modules.
13420
13421 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
13422 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
13423 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
13424 (all-local): Add $(GRUB_EMU).
13425 (install-local): Install $(GRUB_EMU).
13426 (uninstall): Uninstall $(GRUB_EMU).
13427 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
13428 * kern/dl.c: Likewise.
13429 * commands/sleep.c: Not include machine/time.h.
13430 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
13431 (COMMON_CFLAGS): Likewise.
13432 (sbin_UTILITIES): Remove grub-emu.
13433 (grub_emu_SOURCES): Removed.
13434 (kernel_img_RELOCATABLE): New variable.
13435 (pkglib_PROGRAMS): Add kernel.img.
13436 (kernel_img_SOURCES): New variable
13437 (kernel_img_CFLAGS): Likewise.
13438 (kernel_img_LDFLAGS): Likewise.
13439 (TARGET_NO_STRIP): Likewise.
13440 (TARGET_NO_DYNAMIC_MODULES): Likewise.
13441 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
13442 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
13443 (grub-emu): New target.
13444 (GRUB_EMU): New variable.
13445 * configure.ac: Whitelist -emu as possible x86_64 architecture.
13446 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
13447 * loader/xnu.c: Likewise.
13448 * include/grub/pci.h: Likewise.
13449 * genemuinit.sh: New file.
13450 * genemuinitheader.sh: Likewise.
13451 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
13452 Support TARGET_NO_DYNAMIC_MODULES.
13453 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
13454 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
13455 * disk/loopback.c: Likewise.
13456 * font/font_cmd.c: Likewise.
13457 * partmap/acorn.c: Likewise.
13458 * partmap/amiga.c: Likewise.
13459 * partmap/apple.c: Likewise.
13460 * partmap/gpt.c: Likewise.
13461 * partmap/msdos.c: Likewise.
13462 * partmap/sun.c: Likewise.
13463 * parttool/msdospart.c: Likewise.
13464 * term/gfxterm.c: Likewise.
13465 * video/bitmap.c: Likewise.
13466 * video/readers/jpeg.c: Likewise.
13467 * video/readers/png.c: Likewise.
13468 * video/readers/tga.c: Likewise.
13469 * video/video.c: Likewise.
13470 * util/grub-emu.c (read_command_list): Removed.
13471 (main): Don't call util_init_nls.
13472 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
13473 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
13474
91fdd2ed
VS
134752010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
13478 date.mod, datehook.mod.
13479 (datetime_mod_SOURCES): New variable.
13480 (datetime_mod_CFLAGS): Likewise.
13481 (datetime_mod_LDFLAGS): Likewise.
13482 (date_mod_SOURCES): Likewise.
13483 (date_mod_CFLAGS): Likewise.
13484 (date_mod_LDFLAGS): Likewise.
13485 (datehook_mod_SOURCES): Likewise.
13486 (datehook_mod_CFLAGS): Likewise.
13487 (datehook_mod_LDFLAGS): Likewise.
13488 * conf/sparc64-ieee1275.rmk: Likewise.
13489 * lib/ieee1275/datetime.c: New file.
13490
873ccae6
VS
134912010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
13494 (ieee1275_fb_mod_SOURCES): New variable.
13495 (ieee1275_fb_mod_CFLAGS): Likewise.
13496 (ieee1275_fb_mod_LDFLAGS): Likewise.
13497 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
13498 New proto.
13499 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
13500 (HEAP_MAX_ADDR): Likewise.
13501 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
13502 type.
13503 Correct stop condition.
13504 (grub_ieee1275_devices_iterate): New function.
13505 * video/ieee1275.c: New file.
13506
601c97c0
VS
135072010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
13510
13511 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
13512 as scratch.
13513 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
13514 SCRATCH_PAD_DISKBOOT as scratch.
13515 (bootit): Pass Openfirmware pointer in %o4.
13516 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
13517 of 0x200000.
13518 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
13519 with util/grub-mkrawimage.c.
13520 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
13521 * include/grub/aout.h (AOUT_MID_SUN): New definition.
13522 (grub_aout_get_type) [GRUB_UTIL]: Removed.
13523 (grub_aout_load) [GRUB_UTIL]: Likewise.
13524 * include/grub/kernel.h (grub_modules_get_end): New proto.
13525 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
13526 (SCRATCH_PAD_BOOT): New definition.
13527 (SCRATCH_PAD_DISKBOOT): Likewise.
13528 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
13529 * include/grub/sparc64/ieee1275/ieee1275.h
13530 (grub_ieee1275_original_stack): New variable
13531 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13532 New definition
13533 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
13534 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
13535 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
13536 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
13537 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
13538 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
13539 (grub_platform_image_format_t): New type.
13540 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
13541 * kern/main.c (grub_modules_get_end)
13542 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
13543 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
13544 (codestart): Switch stacks.
13545 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
13546 variable.
13547 (grub_heap_init): Use grub_modules_get_end.
13548 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
13549 stack.
13550 * util/grub-mkrawimage.c (generate_image): Support sparc64.
13551 (main): Likewise.
13552 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
13553
d68b491e
TG
135542010-03-14 Thorsten Glaser <tg@mirbsd.org>
13555
13556 * util/grub-mkrescue.in: Base ISO UUID on UTC.
13557
4e02ed50
MK
135582010-03-08 Matt Kraai <kraai@ftbfs.org>
13559
13560 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
13561 bug #559005).
13562
1f15fc1e
VS
135632010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * genmoddep.awk: Output all missing symbols and not only first.
13566
fce5d8ff
VS
135672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13568
13569 * NEWS: Put the date of 1.98 release.
13570
d1e8a02f
VS
135712010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
13574 ft2build.h.
13575
696fd607
VS
135762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
13579 completition in the middle of string.
13580
33e2e6f3
VS
135812010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 * util/grub-mkrescue.in: Use mktemp with explicit template.
13584
b1f6d291
VS
135852010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13586
13587 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
13588
2ac227c7
VS
135892010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
13592 right pointer.
13593
8f9a632b
VS
135942010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 Fix FreeBSD compilation.
13597
13598 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
13599 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
13600
60b03859
VS
136012010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
13604
48a5a769
VS
136052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
13608
3ab4bd77
VS
136092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13610
13611 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
13612
d116e0d8
RM
136132010-03-04 Robert Millan <rmh.grub@aybabtu.com>
13614
13615 Support relative image path in theme file.
13616
13617 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
13618 (image_set_property): Handle theme_dir and relative path.
13619
c7ef54aa
VS
136202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 * configure.ac: Alias amd64 to x86_64.
13623
fcee14ed
VS
136242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13625
13626 * NEWS: mention multiboot on EFI.
13627
d0780363
VS
136282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13629
13630 * kern/main.c (grub_load_modules): Handle errors from init functions of
13631 embeded modules.
13632
41168ea4
VS
136332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13634
13635 * normal/autofs.c (autoload_fs_module): Handle errors.
13636
b54d93ac
VS
136372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 Disable linux.mod on qemu-mips since it's not functional and leads
13640 to compilation failure.
13641
13642 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
13643 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
13644 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
13645 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
13646 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
13647 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
13648 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
13649 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
13650 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
13651 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
13652 Reported by: BVK Chaitanya
13653
fc8345da
JU
136542010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
13655
13656 * INSTALL: Add gettext as a dependency and add qemu to a new section
13657 "Prerequisites for make-check".
13658
4760f979
CF
136592010-03-04 Christian Franke <franke@computer.org>
13660
13661 * util/grub-pe2elf.c: Add missing include "progname.h".
13662
f209b5b2
VS
136632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * normal/crypto.c (read_crypto_list): Fix a typo.
13666 Reported by: Seth Goldberg.
13667
b4b7be98
VS
136682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 13671 Reported by: Seth Goldberg.
b4b7be98 13672
c0ee0385
VS
136732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
13676 ascii.bitmaps.
13677
a8efbf64
VS
136782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 13681 Reported by: Seth Goldberg.
a8efbf64 13682
08dcd913
VS
136832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * util/i386/efi/grub-install.in: Copy gettext files.
13686
c4d0b332
VS
136872010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
13690
c6f2fe52
VS
136912010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 Wait for user entry basing on presence of output rather than on errors.
13694
13695 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
13696 (grub_install_newline_hook): Likewise.
13697 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
13698 * normal/menu.c (show_menu): Check line_counter to determine presence
13699 of output.
13700 * normal/term.c (grub_normal_line_counter): New variable.
13701 (grub_normal_get_line_counter): New function.
13702 (grub_install_newline_hook): Likewise.
13703
5382b1e4
VS
137042010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13705
13706 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
13707
5519963b
VS
137082010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 * configure.ac: Update version to 1.98.
13711
72b28631
VS
137122010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 * util/grub.d/10_linux.in (linux_entry): Don't default to
13715 gfxpayload=keep if Linux doesn't support video handover.
13716
c140a180
VS
137172010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
13718
13719 Don't compile video modules on yeeloong since video subsystem is part
13720 of kernel.
13721
13722 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
13723 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
13724 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
13725 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
13726 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
13727 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
13728 * include/grub/bitmap_scale.h: Likewise.
13729 * include/grub/bufio.h: Likewise.
13730 * include/grub/font.h: Likewise.
13731 * include/grub/gfxterm.h: Likewise.
13732 * include/grub/video.h: Likewise.
13733 * include/grub/vbe.h: Don't include video_fb.h.
13734 * video/i386/pc/vbe.c: Include video_fb.h.
13735 * commands/i386/pc/vbetest.c: Include video.h.
13736
a0ca21c2
CW
137372010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
13738
13739 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
13740 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
13741 default entry if GRUB_SAVEDEFAULT=true. This allows using
13742 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
13743 saving a new default on every boot.
13744
4a8a763c
VS
137452010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * normal/crypto.c (read_crypto_list): Fix a memory leak.
13748 * normal/term.c (read_terminal_list): Likewise.
13749 * normal/main.c (grub_normal_init_page): Likewise.
13750 (grub_normal_read_line_real): Likewise.
13751
607ffde2
VS
137522010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
13755 memory leak.
13756 Reported by: Seth Goldberg.
13757
2b8fa975
CW
137582010-02-24 Joey Korkames <joey+lists@kidfixit.com>
13759
13760 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
13761 duplicate declaration of `start'.
13762
618307dd
VS
137632010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
13766 filename.
13767 Reported by: Georgy Buranov
13768
7dd05b96 137692010-02-20 Carles Pina i Estany <carles@pina.cat>
13770
13771 * util/grub-mkrawimage.c (usage): Change string formatting to
13772 improve gettext.
13773
d1484a42
MRA
137742010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13775
13776 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
13777 backspace keys.
13778
42b1d186
VS
137792010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
13782 Reported by: Michael Suchanek.
13783
137842010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
13785
13786 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
13787 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
13788
d9f31a41
VS
137892010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
13790
13791 Remove any reference to non-free fonts.
13792
13793 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
13794 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
13795 uses non-free components.
13796 * font/font.c (grub_font_get_name): Remove example name.
13797 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
13798 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13799 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
13800 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
13801
2793c71e
GB
138022010-02-16 Georgy Buranov <gburanov@gmail.com>
13803
13804 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
13805
402e3779
VS
138062010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13807
13808 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
13809 Double divisor.
13810 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
13811 features.
13812 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
13813
0dd1e0dd
VS
138142010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 * gensymlist.sh.in: Use TARGET_CC instead of CC.
13817
6fa7cfce
ST
138182010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13819
13820 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
13821 * docs/grub.texi (Command-line and menu entry commands): Document play
13822 command.
13823
37c8483b
ST
138242010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13825
13826 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
13827 parse arguments as inline tempo and notes. Move code for playing notes
13828 to...
13829 (play): ... new function.
13830
14da0fb7
ST
138312010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13832
13833 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
13834 grub_uint16_t instead of short.
13835 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
13836 disk from little endian to cpu endianness.
13837
04459e70
ST
138382010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
13839
13840 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
13841 GRUB_TICKS_PER_SECOND instead of 120.
13842
a0876943
VS
138432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
13846 escape sequence after \e.
13847
e29f95dc
VS
138482010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13849
13850 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
13851 non-ASCII characters.
13852
d27859b2
VS
138532010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
13856 set root in single quotes to prevent \, from being unescaped.
13857
bc028f2f
VS
138582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 Prevent unknown commands from stopping menuentry execution.
13861
13862 * script/execute.c (grub_script_execute_cmdline): Print error after
13863 unknown command.
13864
095f5f82
VS
138652010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
13868 Reported by: Pavel Pisa.
13869
8c717950
VS
138702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13871
13872 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
13873
904935c3
VS
138742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 Merge grub_ieee1275_map_physical into grub_map and rename to
13877 grub_ieee1275_map
13878
13879 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
13880 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
13881 Remove.
13882 * kern/ieee1275/openfw.c (grub_map): Rename to ...
13883 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
13884 necessary.
13885 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
13886
5b59a4e3
VS
138872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
13890 opening and not after.
13891
69e137e8
VS
138922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
13895 constants.
13896
2c0fcc36
VS
138972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
13900 (alloc_phys): Use ALIGN_UP instead of align_addr.
13901
8c6052ce
VS
139022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
13905
17cec782
VS
139062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
13909
e0128bbd
VS
139102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
13913 verbose dprintf.
13914
ca62070b
VS
139152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 Fix over-4GiB seek on sparc64.
13918
13919 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
13920 Replace pos_i and pos_lo with pos. All users updated.
13921 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13922 New constant.
13923 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13924 Likewise.
13925 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
13926 and pos_lo.
13927
bdca2607
VS
139282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 * util/grub-mkrawimage.c (main): Call set_program_name.
13931
da278c4d
VS
139322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 Properly align 64-bit targets.
13935
13936 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
13937 (generate_image): Use ALIGN_ADDR.
13938
b274d734
VS
139392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 Properly create cross-endian images.
13942
13943 * include/grub/types.h (grub_host_to_target_addr): New macro
13944 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
13945
82da2062
VS
139462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
13949
7cae4377
VS
139502010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
13953
13954 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
13955 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
13956 (grub_linux_boot): Divide by 64K when on VESA.
13957
65a533e7
VS
139582010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 Support GRUB_GFXPAYLOAD_LINUX.
13961
13962 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
13963 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
13964
dd01d397
VS
139652010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
13968 to show messages instead of discarding them.
13969 Process errors after executing command and not before. Keep old method
13970 too as precaution.
13971
660960d6
VS
139722010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 * configure.ac: Check for ft2build.h.
13975
62509f04
VS
139762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
13979
473df63d
VS
139802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13981
13982 * genkernsyms.sh.in: Use TARGET_CC.
13983
c98d2a13
CW
139842010-02-07 Colin Watson <cjwatson@ubuntu.com>
13985
13986 * NEWS: Update.
13987
6e14234c
VS
139882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
13991 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
13992 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 13993
b255e9cf
YB
139942010-02-07 Yves Blusseau <blusseau@zetam.org>
13995
6e14234c 13996 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 13997
98e6959d
VS
139982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 Fix warnings in grub-emu when compiling with maximum warning options.
14001
14002 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
14003 (grub_arch_modules_addr): Return 0 and not NULL.
14004 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 14005 (xstrdup): Use newstr instead of dup.
f88d801b
VS
14006 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
14007 of disk to dsk to avoid shadowing.
74e4934e
VS
14008 (find_free_slot): Fix prototype.
14009 * util/getroot.c (grub_util_is_dmraid): Make static.
14010 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
14011 Add missing prototype.
14012 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 14013
74e31b5c
VS
140142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * loader/i386/linux.c (grub_linux_setup_video): Handle error
14017 appropriately.
14018
6b2ad14b
VS
140192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14020
14021 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
14022 code out.
14023
8f891adc
VS
140242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14025
14026 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
14027 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
14028 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
14029 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
14030 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
14031 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
14032
74b45184
VS
140332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 * include/grub/err.h (grub_err_printf): Don't export.
14036
a4bced77
VS
140372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
14040
007d0695
VS
140412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 * include/grub/i18n.h (grub_gettext_dummy): Removed.
14044 * kern/misc.c (grub_gettext_dummy): Make static.
14045
b6c0d9c2
VS
140462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
14049 by non-valid ones.
14050 * kern/term.c (grub_putchar): Likewise.
14051
f51a90d0
VS
140522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
14055 buggy hook call and memory leak.
14056
6846cec5
VS
140572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
14060
468d69fe
VS
140612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
14064
51906b8c
VS
140652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
14068 modevar.
14069 Return grub_errno on allocation error.
14070
09706ce5
VS
140712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
14074
911df80c
YB
140752010-02-06 Yves Blusseau <blusseau@zetam.org>
14076
14077 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
14078 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
14079
3746a6bc
VS
140802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
14083 non-pxe disk.
14084 (grub_pxefs_open): Likewise.
14085
09706ce5
VS
140862010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14087
14088 * util/grub.d/10_hurd.in: Add --class information to menuentries.
14089 * util/grub.d/10_kfreebsd.in: Likewise.
14090 * util/grub.d/10_linux.in: Likewise.
14091
7cc192d9
VS
140922010-02-06 Colin D Bennett <colin@gibibit.com>
14093
14094 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
14095 (gfxmenu_mod_SOURCES): New variable.
14096 (gfxmenu_mod_CFLAGS): Likewise.
14097 (gfxmenu_mod_LDFLAGS): Likewise.
14098 * include/grub/term.h (grub_term_set_current_output): Declare
14099 argument as const.
14100 * docs/gfxmenu-theme-example.txt: New file.
14101 * gfxmenu/gfxmenu.c: Likewise.
14102 * gfxmenu/gui_box.c: Likewise.
14103 * gfxmenu/gui_canvas.c: Likewise.
14104 * gfxmenu/gui_circular_progress.c: Likewise.
14105 * gfxmenu/gui_image.c: Likewise.
14106 * gfxmenu/gui_label.c: Likewise.
14107 * gfxmenu/gui_list.c: Likewise.
14108 * gfxmenu/gui_progress_bar.c: Likewise.
14109 * gfxmenu/gui_string_util.c: Likewise.
14110 * gfxmenu/gui_util.c: Likewise.
14111 * gfxmenu/icon_manager.c: Likewise.
14112 * gfxmenu/model.c: Likewise.
14113 * gfxmenu/named_colors.c: Likewise.
14114 * gfxmenu/theme_loader.c: Likewise.
14115 * gfxmenu/view.c: Likewise.
14116 * gfxmenu/widget-box.c: Likewise.
14117 * include/grub/gfxmenu_model.h: Likewise.
14118 * include/grub/gfxmenu_view.h: Likewise.
14119 * include/grub/gfxwidgets.h: Likewise.
14120 * include/grub/gui.h: Likewise.
14121 * include/grub/gui_string_util.h: Likewise.
14122 * include/grub/icon_manager.h: Likewise.
14123
141242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 Agglomerate scrolling in gfxterm.
14127
14128 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
14129 (grub_virtual_screen_setup): Initialise 'total_screen'.
14130 (write_char): Split to ...
14131 (paint_char): ... this ...
14132 (write_char): ... and this.
14133 (paint_char): Handle delayed scrolling.
14134 (draw_cursor): Likewise.
14135 (scroll_up): Split to ...
14136 (real_scroll): ... this ...
14137 (scroll_up): ... and this.
14138 (real_scroll): Handle multi-line scroll and draw below-the-bottom
14139 characters.
14140 (grub_gfxterm_refresh): Call real_scroll.
14141
141422010-02-06 Colin D Bennett <colin@gibibit.com>
14143
14144 * include/grub/misc.h (grub_iscntrl): New inline function.
14145 (grub_isalnum): Likewise.
14146 (grub_strtol): Likewise.
14147
141482010-02-06 Colin D Bennett <colin@gibibit.com>
14149
14150 * normal/menu_text.c (get_entry_number): Move from here ...
14151 * normal/menu.c (get_entry_number): ... moved here.
14152 * include/grub/menu.h (grub_menu_get_default_entry_index):
14153 New prototype.
14154 * normal/menu.c (grub_menu_get_default_entry_index): New function.
14155 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
14156 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
14157 (grub_menu_viewer_should_return): Likewise.
14158 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
14159 * normal/menu_text.c (run_menu): Enable menu switching.
14160 * normal/menu_viewer.c (should_return): New variable.
14161 (menu_viewer_changed): Likewise.
14162 (grub_menu_viewer_show_menu): Handle menu viewer changes.
14163 (grub_menu_viewer_should_return): New function.
14164 (menuviewer_write_hook): Likewise.
14165 (grub_menu_viewer_init): Likewise.
14166
141672010-02-06 Colin D Bennet <colin@gibibit.com>
141682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 Support for gfxterm in a window.
14171
14172 * include/grub/gfxterm.h: New file.
14173 * include/grub/video.h (struct grub_video_rect): New declaration.
14174 (grub_video_rect_t): Likewise.
14175 * term/gfxterm.c (struct grub_gfxterm_window): New type.
14176 (refcount): New variable.
14177 (render_target): Likewise.
14178 (window): Likewise.
14179 (repaint_callback): Likewise.
14180 (grub_virtual_screen_setup): Use 'render_target'.
14181 (init_window): New function.
14182 (grub_gfxterm_init_window): Likewise.
14183 (grub_gfxterm_init): Check reference counter.
14184 Use init_window.
14185 (destroy_window): New function.
14186 (grub_gfxterm_destroy_window): Likewise.
14187 (grub_gfxterm_fini): Check reference counter.
14188 Use destroy_window.
14189 (redraw_screen_rect): Restore viewport.
14190 Use 'render_target' and 'window'.
14191 Call 'repaint_callback'.
14192 (write_char): Use 'render_target'.
14193 (draw_cursor): Likewise.
14194 (scroll_up): Restore viewport.
14195 Use 'render_target' and 'window'.
14196 Call 'repaint_callback'.
14197 (grub_gfxterm_cls): Likewise.
14198 (grub_gfxterm_refresh): Use 'window'.
14199 (grub_gfxterm_set_repaint_callback): New function.
14200 (grub_gfxterm_background_image_cmd): Use 'window'.
14201 (grub_gfxterm_get_term): New function.
14202 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
14203
142042010-02-06 Colin D Bennett <colin@gibibit.com>
14205
14206 Bitmap scaling support.
14207
14208 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
14209 (bitmap_scale_mod_SOURCES): New variable.
14210 (bitmap_scale_mod_CFLAGS): Likewise.
14211 (bitmap_scale_mod_LDFLAGS): Likewise.
14212 * include/grub/bitmap_scale.h: New file.
14213 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
14214 (background_image_cmd_options): New variable.
14215 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
14216 (cmd): Rename and change type to ...
14217 (background_image_cmd_handle): ... this. All users updated.
14218 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
14219 * video/bitmap_scale.c: New file.
14220
142212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 SDL support.
14224
14225 * Makefile.in (LIBSDL): New variable.
14226 (enable_grub_emu_sdl): Likewise.
14227 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
14228 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
14229 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
14230 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
14231 * util/sdl.c: New file.
14232
142332010-02-06 Colin D Bennett <colin@gibibit.com>
142342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 Double buffering support.
14237
14238 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
14239 * include/grub/video.h: Update comment.
14240 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
14241 New type.
14242 (grub_video_fb_doublebuf_blit_init): New prototype.
14243 * term/gfxterm.c (scroll_up): Support double buffering.
14244 (grub_gfxterm_refresh): Likewise.
14245 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
14246 (grub_video_fb_doublebuf_blit_init): Likewise.
14247 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
14248 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
14249 'displayed_page', 'render_page' and 'update_screen'.
14250 (grub_video_vbe_fini): Free offscreen buffer.
14251 (doublebuf_pageflipping_commit): New function.
14252 (doublebuf_pageflipping_update_screen): Likewise.
14253 (doublebuf_pageflipping_init): Likewise.
14254 (double_buffering_init): Likewise.
14255 (grub_video_vbe_setup): Enable doublebuffering.
14256 (grub_video_vbe_swap_buffers): Implement.
14257 (grub_video_vbe_set_active_render_target): Handle double buffering.
14258 (grub_video_vbe_get_active_render_target): Likewise.
14259 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
14260 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
14261 (grub_video_vbe_enable_double_buffering): Likewise.
14262 (grub_video_vbe_swap_buffers): Use update_screen.
14263 (grub_video_set_mode): Use double buffering.
14264
142652010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14266
14267 * maintainance/gentrigtables.py: Remove.
14268 * lib/trig.c: Likewise.
14269
14270 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
14271
14272 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
14273 `trigtables.c'.
14274 (trigtables.c): New rule.
14275 (gentrigtables): Likewise.
14276 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
14277
142782010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14279
14280 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
14281 integer constants.
14282
142832010-02-06 Colin D Bennet <colin@gibibit.com>
14284
14285 Trigonometry support.
14286
14287 * include/grub/trig.h: New file.
14288 * lib/trig.c: Likewise.
14289 * maintainance/gentrigtables.py: Likewise.
14290 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
14291 (trig_mod_SOURCES): New variable.
14292 (trig_mod_CFLAGS): Likewise.
14293 (trig_mod_LDFLAGS): Likewise.
14294
5562834e
VS
142952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
14298 disk devices.
14299
4f8528fc
VS
143002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
14303 error.
14304
2b4068e9
VS
143052010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14306
14307 * util/hostdisk.c (open_device): Don't use partition device when reading
14308 before the partition.
14309 (grub_util_biosdisk_read): Don't read from partition and before the
14310 partition in single operation.
14311 (grub_util_biosdisk_write): Don't write to partition and before the
14312 partition in single operation.
14313
399f6e4d
TL
143142010-02-03 Torsten Landschoff <torsten@debian.org>
14315
14316 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14317 last sectors.
14318
996649b0
VS
143192010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14320
14321 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
14322 CDROM reads.
14323 (grub_biosdisk_write): Refuse to write to CDROM.
14324
3b205d4d
VS
143252010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14326
14327 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
14328
61e89d9d
VS
143292010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 * font/font.c (find_glyph): Check that bmp_idx is available before
14332 using it.
14333 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
14334 with (font == NULL).
14335
bf7fcba2
CS
143362010-01-28 Christian Schmitt <chris@ilovelinux.de>
14337
14338 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
14339
f45d2663
BC
143402010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
14341
14342 * include/grub/script_sh.h (sourcecode): Add const qualifier.
14343 * util/grub-script-check.c (getline): Fix empty lines case.
14344
ec1444e6
RM
143452010-01-28 Robert Millan <rmh.grub@aybabtu.com>
14346
14347 * Makefile.in (check): Exit with fail status when one of the tests
14348 fails.
14349 * tests/example_functional_test.c (example_test): Fix reversed assert.
14350 * tests/example_unit_test.c (example_test): Likewise.
14351
2e1cb9bb
CW
143522010-01-28 Colin Watson <cjwatson@ubuntu.com>
14353
14354 * util/grub.d/10_linux.in: This script does not use any of the
14355 contents of gettext.sh, only the external command `gettext', so stop
14356 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
14357 the same prefix as GRUB.)
14358 * util/grub.d/10_kfreebsd.in: Likewise.
14359
63533ab0
VS
143602010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
14363 of the line.
14364
989e1f93
VS
143652010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14366
14367 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14368 last sectors.
14369
e709ebe2
VS
143702010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14371
14372 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14373 having a 4KiB and not 32KiB buffer size.
14374
27dea7ed
RM
143752010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14376
14377 * util/hostfs.c: Include `<errno.h>'.
14378 (grub_hostfs_read): Handle errors from fseeko() and fread().
14379
67667b9c
RM
143802010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14381
14382 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
14383 loop when using read hooks on files whose size isn't sector-aligned.
14384
c294d9d8
RM
143852010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14386
14387 Remove unused parameter.
14388
14389 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
14390 (grub_iso9660_open): Remove initialization of `data->length'.
14391
af75a9f1
RM
143922010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14393
14394 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
14395 memleak conditions.
14396
254e2ce5 143972010-01-27 Carles Pina i Estany <carles@pina.cat>
14398
14399 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
14400 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
14401
b510928c 144022010-01-26 Carles Pina i Estany <carles@pina.cat>
14403
14404 * util/bin2h.c (usage): Fix warning (space after backslash).
14405
aa2f9dd2 144062010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 14407
14408 * font/font.c: Include `grub/fontformat.h.
14409 Remove font file format constants.
14410 (grub_font_load): Use the new macros.
14411 * include/grub/fontformat.h: New file.
14412 * util/grub-mkfont.c: Include `grub/fontformat.c'.
14413 (write_font_pf2): Use the new macros.
14414
94e7e712
RM
144152010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14416
14417 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
14418 does.
14419
3973a59a
RM
144202010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14421
14422 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
14423
14424 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
14425 (_start): Macroify `0x7F'.
14426
14427 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
14428 (make_install_device): Use "(pxe)" as fallback prefix when booting
14429 via PXE.
14430
42e0cba3
GS
144312010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14432
14433 * configure.ac: Reset LIBS after check for libgcc symbols.
14434
847effd8
CW
144352010-01-25 Colin Watson <cjwatson@ubuntu.com>
14436
14437 * util/hostdisk.c (open_device): Add trailing newline to debug
14438 message.
14439
ea4a7e35
GS
144402010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
14441
14442 * configure.ac: Check for `limits.h'.
14443 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
14444
67951a53
RM
144452010-01-24 Robert Millan <rmh.grub@aybabtu.com>
14446
14447 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
14448 capitalize error strings.
14449
c273d4ce
ST
144502010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
14451
14452 * util/grub.d/10_hurd.in: Add a recovery mode.
14453
69be5b74
VS
144542010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 * configure.ac: Check for libgcc symbols with -nostdlib.
14457
fc9e5810
BC
144582010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
14459
14460 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
14461
4b358c0a
VS
144622010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
14465 stack since heap may be unavailable at that point.
14466 (grub_ofconsole_gotoxy): Likewise.
14467
454fcd1c
VS
144682010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 * configure.ac: Check for _restgpr_14_x.
14471 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
14472 and _savegpr_* prototypes.
14473
566863ca
RM
144742010-01-22 Robert Millan <rmh.grub@aybabtu.com>
14475
14476 Use generic grub_reboot() for i386-efi.
14477
14478 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
14479 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
14480 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
14481
bf86e59a
VS
144822010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
14485 presence of "prefix" variable as it breaks when normal.mod is
14486 embedded.
14487
d645e0f8
VS
144882010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
14491 stack since heap is unavailable at that point.
14492
f9ab2e25
VS
144932010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
14496 (grub_freebsd_bootinfo): Rewritten.
14497 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
14498
01fc7054
VS
144992010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
14502
caab4fd6
RM
145032010-01-21 Robert Millan <rmh.grub@aybabtu.com>
14504
14505 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
14506 domain now.
14507
67eb1427
FZ
145082010-01-20 Felix Zielcke <fzielcke@z-51.de>
14509
14510 * util/misc.c (make_system_path_relative_to_its_root): Change the work
14511 around for handling "/" to the correct fix. Fix a memory leak. Use
14512 xstrdup instead of strdup.
14513
a9ed4ff3
VS
145142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
14517
145182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
14519
14520 Optimise glyph lookup by Basic Multilingual Plane lookup array.
14521
14522 * font/font.c (struct grub_font): New member 'bmp_idx'.
14523 (font_init): Initialise 'bmp_idx'.
14524 (load_font_index): Fill 'bmp_idx'.
14525 (find_glyph): Make inline. Use bmp_idx for BMP characters.
14526
48209f4f
VS
145272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
14530 unnecessary calls.
14531
9f0a4bb7
VS
145322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 Move context handling out of the kernel.
14535
14536 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
14537 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
14538 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
14539 * conf/i386-efi.rmk: Likewise.
14540 * conf/i386-ieee1275.rmk: Likewise.
14541 * conf/i386-pc.rmk: Likewise.
14542 * conf/powerpc-ieee1275.rmk: Likewise.
14543 * conf/sparc64-ieee1275.rmk: Likewise.
14544 * conf/x86_64-efi.rmk: Likewise.
14545 * include/grub/env.h: Include grub/menu.h.
14546 (grub_env_var_type): Removed.
14547 (grub_env_var): Replaced field 'type' with 'global'.
14548 (grub_env_find): New prototype.
14549 (grub_env_context_open): Remove EXPORT_FUNC.
14550 (grub_env_context_close): Likewise.
14551 (grub_env_export): Likewise.
14552 (grub_env_set_data_slot): Removed.
14553 (grub_env_get_data_slot): Likewise.
14554 (grub_env_unset_data_slot): Likewise.
14555 (grub_env_unset_menu): New prototype.
14556 (grub_env_set_menu): Likewise.
14557 (grub_env_get_menu): Likewise.
14558 * include/grub/env_private.h: New file.
14559 * include/grub/normal.h (grub_context_init): New prototype.
14560 (grub_context_fini): Likewise.
14561 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
14562 * normal/context.c (grub_cmd_export): ... to here.
14563 * kern/env.c: Include env_private.h.
14564 (HASHSZ): Moved to include/grub/env_private.h.
14565 (grub_env_context): Likewise.
14566 (grub_env_sorted_var): Likewise.
14567 (current_context): Renamed from this ...
14568 (grub_current_context): ...to this. 'static' removed. All users updated.
14569 (grub_env_find): Removed 'static'.
14570 (grub_env_context_open): Moved to normal/context.c.
14571 (grub_env_context_close): Likewise.
14572 (grub_env_export): Likewise.
14573 (mangle_data_slot_name): Removed.
14574 (grub_env_set_data_slot): Likewise.
14575 (grub_env_get_data_slot): Likewise.
14576 (grub_env_unset_data_slot): Likewise.
14577 * kern/main.c (grub_set_root_dev): Don't export root.
14578 It will be done later.
14579 (grub_main): Don't export prefix.
14580 It will be done later.
14581 * normal/context.c: New file.
14582 * normal/main.c (free_menu): Use grub_env_unset_menu.
14583 (grub_normal_add_menu_entry): Use grub_env_get_menu.
14584 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
14585 (GRUB_MOD_INIT(normal)): Call grub_context_init.
14586 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
14587
8dd35b8c
VS
145882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 setpci support.
14591
14592 * commands/setpci.c: New file.
14593 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
14594 (setpci_mod_SOURCES): New variable.
14595 (setpci_mod_CFLAGS): Likewise.
14596 (setpci_mod_LDFLAGS): Likewise.
14597
449193d5
VS
145982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 Byte-addressable PCI configuration space.
14601
14602 * bus/pci.c (grub_pci_make_address): Use byte address instead of
14603 dword address.
14604 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
14605 GRUB_PCI_REG_CACHELINE.
14606 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
14607 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
14608 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
14609 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
14610 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
14611 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
14612 grub_pci_make_address.
14613 (lock_rom_area): Likewise.
14614 * commands/lspci.c (grub_lspci_iter): Use macroses
14615 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
14616 of grub_pci_make_address.
14617 * disk/ata.c (grub_ata_pciinit): Likewise.
14618 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
14619 (GRUB_PCI_REG_VENDOR): Likewise.
14620 (GRUB_PCI_REG_DEVICE): Likewise.
14621 (GRUB_PCI_REG_COMMAND): Likewise.
14622 (GRUB_PCI_REG_STATUS): Likewise.
14623 (GRUB_PCI_REG_REVISION): Likewise.
14624 (GRUB_PCI_REG_CLASS): Likewise.
14625 (GRUB_PCI_REG_CACHELINE): Likewise.
14626 (GRUB_PCI_REG_LAT_TIMER): Likewise.
14627 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
14628 (GRUB_PCI_REG_BIST): Likewise.
14629 (GRUB_PCI_REG_ADDRESSES): Likewise.
14630 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14631 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14632 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14633 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14634 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14635 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14636 (GRUB_PCI_REG_CIS_POINTER): Likewise.
14637 (GRUB_PCI_REG_SUBVENDOR): Likewise.
14638 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
14639 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
14640 (GRUB_PCI_REG_CAP_POINTER): Likewise.
14641 (GRUB_PCI_REG_IRQ_LINE): Likewise.
14642 (GRUB_PCI_REG_IRQ_PIN): Likewise.
14643 (GRUB_PCI_REG_MIN_GNT): Likewise.
14644 (GRUB_PCI_REG_MAX_LAT): Likewise.
14645 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
14646 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
14647 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 14648 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
14649 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
14650 space.
14651
96d73208
RM
146522010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14653
14654 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
14655 can be reliably determined to be supported.
14656
d4484482
RM
146572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14658
14659 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
14660 that VESA is supported.
14661 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
14662 supported.
14663
00308ecf
VS
146642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
14667
f66924a4
RM
146682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14669
14670 * util/misc.c (make_system_path_relative_to_its_root): Work around
14671 special-casing of "/", as previous incarnation of this routine did.
14672
cbca0ada
VS
146732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 Fix any-emu compilation.
14676
14677 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
14678 * grub_bin2h_SOURCES: New variable.
14679
34a66d99
RM
146802010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14681
14682 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
14683
94fabf58
RM
146842010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14685
14686 * util/grub.d/00_header.in: Fix handling of locale_dir.
14687
02cf98ca
VS
146882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14689
14690 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
14691 as possible unifont location (Gentoo).
14692 Reported by: Alexander Brüning
14693
327dbcd7
VS
146942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 Don't try to generate lists for kernel.img.
14697
14698 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
14699 (pkglib_MODULES): Remove kernel.img.
14700 (kernel_img_EXPORTS): Removed.
14701 (kernel_img_RELOCATABLE): New variable.
14702 * conf/x86_64-efi.rmk: Likewise.
14703 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
14704
ca467290
VS
147052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
14708 grub_xasprintf or grub_snprintf.
14709 (grub_vsprintf): Likewise.
14710 (grub_snprintf): New proto.
14711 (grub_vsnprintf): Likewise.
14712 (grub_xasprintf): Likewise.
14713 (grub_xvasprintf): Likewise.
14714 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
14715 (grub_sprintf): Removed.
14716 (grub_vsnprintf): New function.
14717 (grub_snprintf): Likewise.
14718 (grub_xvasprintf): Likewise.
14719 (grub_xasprintf): Likewise.
14720 (grub_vsprintf): Renamed to ...
14721 (grub_vsnprintf_real): ...this. New argument max_len.
14722
aca655fd
BC
147232010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
14724
14725 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
14726 fix grub-script-check warning.
14727
7ee92c32
VS
147282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14729
14730 * include/grub/font.h (grub_font_load): Fix prototype.
14731
f80927ca
VS
147322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
14735
119c50ea
VS
147362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 * include/grub/x86_64/at_keyboard.h: New file.
14739
47d5f3c1
VS
147402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * loader/mips/linux.c: Include missing grub/i18n.h.
14743
55ff5266
RM
147442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14745
14746 * normal/menu.c (notify_execution_failure): Clarify error message.
14747
c893cc87
RM
147482009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14749
14750 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
14751 return value (and revert all return statements). Update users.
14752
917dd370
CW
147532010-01-20 Dan Merillat <debian@dan.merillat.org>
14754
14755 * kern/device.c (grub_device_iterate): Allocate new part_ent
14756 structure based on sizeof (*p) rather than sizeof (p->next), to
14757 account for structure padding.
14758
14759 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
14760 disk is NULL, which might happen for LVM physical volumes with no
14761 LVM signature.
14762
d4a4ee57
RM
147632009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14764
14765 * loader/mips/linux.c (grub_cmd_initrd)
14766 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
14767
147682009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14769
14770 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
14771 (grub_video_video_init, grub_video_bitmap_init)
14772 (grub_font_manager_init, grub_term_gfxterm_init)
14773 (grub_at_keyboard_init): New extern declarations.
14774 (grub_machine_init): Initialize gfxterm and at_keyboard.
14775
14776 * kern/main.c (grub_main): Revert grub_printf delay kludge.
14777
14778 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
14779 `gfxterm.mod' into core image.
14780
14781 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14782 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14783 (kernel_img_FORMAT): Copy to ...
14784
14785 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14786 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14787 (kernel_img_FORMAT): ... here, and ...
14788
14789 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14790 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14791 (kernel_img_FORMAT): ... here.
14792
14793 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
14794 and input (at_keyboard) terminals in kernel.
14795 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
14796
14797 (pkglib_MODULES): Remove `pci.mod'.
14798 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
14799 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
14800 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14801 (at_keyboard_mod_LDFLAGS): Remove variables.
14802
148032010-01-11 Felix Zielcke <fzielcke@z-51.de>
14804
14805 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
14806
148072009-12-10 Robert Millan <rmh.grub@aybabtu.com>
14808
14809 * include/grub/mips/libgcc.h: Only export symbols for functions
14810 that libgcc provides.
14811
148122009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 MIPS support.
14815
14816 * bus/bonito.c: New file.
14817 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
14818 GRUB_PCI_NUM_DEVICES.
14819 * term/i386/pc/serial.c: Move to ...
14820 * term/serial.c: ... here. All users updated.
14821 * util/i386/pc/grub-mkimage.c: Move to ...
14822 * util/grub-mkrawimage.c: ... here. All users updated.
14823 * term/i386/pc/at_keyboard.c: Move to ...
14824 * term/at_keyboard.c: ... here. All users updated.
14825 * conf/mips-qemu-mips.rmk: New file.
14826 * conf/mips-yeeloong.rmk: Likewise.
14827 * conf/mips.rmk: Likewise.
14828 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
14829 mipsel-qemu-mips.
14830 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
14831 to port addresses.
14832 (grub_ata_pciinit): Support CS5536.
14833 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
14834 * font/font_cmd.c (loadfont_command): Open file before passing it to
14835 grub_font_load.
14836 (pseudo_file_read): New function.
14837 (pseudo_file_close): Likewise.
14838 (pseudo_fs): New structure.
14839 (load_font_module): New function.
14840 (GRUB_MOD_INIT(font_manager)): Load embedded font.
14841 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
14842 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
14843 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
14844 * include/grub/i386/at_keyboard.h: Split into ...
14845 * include/grub/at_keyboard.h: ... this ...
14846 * include/grub/i386/at_keyboard.h: ... and this.
14847 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
14848 New prototype.
14849 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
14850 updated.
14851 (grub_elf64_size): Likewise.
14852 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
14853 filename.
14854 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
14855 * include/grub/i386/coreboot/serial.h: Rewritten.
14856 * include/grub/i386/ieee1275/serial.h: Include
14857 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
14858 * include/grub/i386/pc/serial.h: Moved from here ...
14859 * include/grub/serial.h: ... to here. All users updated.
14860 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
14861 (GRUB_PCI_NUM_BUS): Likewise.
14862 (GRUB_PCI_NUM_DEVICES): Likewise.
14863 (grub_pci_device_map_range): Add missing volatile keyword.
14864 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
14865 * include/grub/mips/at_keyboard.h: New file.
14866 * include/grub/mips/cache.h: Likewise.
14867 * include/grub/mips/io.h: Likewise.
14868 * include/grub/mips/kernel.h: Likewise.
14869 * include/grub/mips/libgcc.h: Likewise.
14870 * include/grub/mips/pci.h: Likewise.
14871 * include/grub/mips/qemu-mips/boot.h: Likewise.
14872 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14873 * include/grub/mips/qemu-mips/loader.h: Likewise.
14874 * include/grub/mips/qemu-mips/memory.h: Likewise.
14875 * include/grub/mips/qemu-mips/serial.h: Likewise.
14876 * include/grub/mips/qemu-mips/time.h: Likewise.
14877 * include/grub/mips/relocator.h: Likewise.
14878 * include/grub/mips/time.h: Likewise.
14879 * include/grub/mips/types.h: Likewise.
14880 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
14881 * include/grub/mips/yeeloong/boot.h: Likewise.
14882 * include/grub/mips/yeeloong/kernel.h: Likewise.
14883 * include/grub/mips/yeeloong/loader.h: Likewise.
14884 * include/grub/mips/yeeloong/memory.h: Likewise.
14885 * include/grub/mips/yeeloong/pci.h: Likewise.
14886 * include/grub/mips/yeeloong/serial.h: Likewise.
14887 * include/grub/mips/yeeloong/time.h: Likewise.
14888 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
14889 * kern/elf.c (grub_elf32_size): New parameter. All users
14890 updated.
14891 (grub_elf64_size): Likewise.
14892 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
14893 Load modules before saying "Welcome to GRUB!".
14894 Call grub_refresh after saying "Welcome to GRUB!".
14895 * kern/mips/cache.S: New file.
14896 * kern/mips/cache_flush.S: Likewise.
14897 * kern/mips/dl.c: Likewise.
14898 * kern/mips/init.c: Likewise.
14899 * kern/mips/qemu-mips/init.c: Likewise.
14900 * kern/mips/startup.S: Likewise.
14901 * kern/mips/yeeloong/init.c: Likewise.
14902 * kern/term.c (grub_putcode): Handle NULL terminal.
14903 (grub_getcharwidth): Likewise.
14904 (grub_getkey): Likewise.
14905 (grub_checkkey): Likewise.
14906 (grub_getkeystatus): Likewise.
14907 (grub_getxy): Likewise.
14908 (grub_getwh): Likewise.
14909 (grub_gotoxy): Likewise.
14910 (grub_cls): Likewise.
14911 (grub_setcolorstate): Likewise.
14912 (grub_setcolor): Likewise.
14913 (grub_getcolor): Likewise.
14914 (grub_refresh): Likewise.
14915 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
14916 (write_jump): Add hatch nop.
14917 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
14918 * lib/mips/setjmp.S: New file.
14919 * loader/mips/linux.c: Likewise.
14920 * term/i386/pc/at_keyboard.c: Move from here ...
14921 * term/at_keyboard.c: ... to here.
14922 * term/i386/pc/serial.c: Moved from here ...
14923 * term/serial.c: ... to here. All users updated.
14924 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
14925 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
14926 (serial_translate_key_sequence): Avoid deadlock.
14927 (grub_serial_getkey): Handle backspace.
14928 (grub_serial_putchar): Fix newline handling.
14929 * util/i386/pc/grub-mkimage.c: Move from here ...
14930 * util/grub-mkrawimage.c: ... to here. All users updated.
14931 (generate_image): New parameters 'font_path' and 'format'.
14932 Support embedding font.
14933 Use grub_host_to_target* instead of grub_cpu_to_le*.
14934 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
14935 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
14936 (options): New option "--font".
14937 (usage): Likewise.
14938 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
14939 (main): Handle "--font".
14940 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
14941 (grub_virtual_screen_setup): Set bg_color_display.
14942 (redraw_screen_rect): Use bg_color_display instead of incorrect
14943 bg_color.
14944 (grub_gfxterm_cls): Likewise.
14945 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
14946 Support embedding config file.
14947 (add_segments): Likewise.
14948 (options): New option "--config".
14949 (main): Handle "--config".
14950 * video/sm712.c: New file.
14951
25c2b5b3
RM
149522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14953
14954 Fix parallel builds.
14955
14956 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
14957 font.c depend on ascii.h).
14958
149592010-01-12 Carles Pina i Estany <carles@pina.cat>
14960
14961 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
14962
149632010-01-11 Carles Pina i Estany <carles@pina.cat>
14964
14965 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
14966 By default: disabled.
14967 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
14968 parameter.
14969
149702010-01-10 Carles Pina i Estany <carles@pina.cat>
14971
14972 * font/font.c: Update copyright years.
14973 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
14974
149752010-01-10 Carles Pina i Estany <carles@pina.cat>
14976
14977 * font/font.c: Include `ascii.h'.
14978 (ASCII_BITMAP_SIZE): New macro.
14979 (ascii_font_glyph): Define.
14980 (ascii_glyph_lookup): New function.
14981 (grub_font_get_string_width): Change comment. If glyph not found, use
14982 ascii_glyph_lookup.
14983 (grub_font_get_glyph_with_fallback): If glyph not available returns
14984 ascii_glyph_lookup.
14985 * util/grub-mkfont.c (file_formats): New enum.
14986 (options): Add `ascii-bitmaps' new option.
14987 (usage): Add `asii-bitmaps' new option.
14988 (write_font_ascii_bitmap): New function.
14989 (write_font): Rename to ...
14990 (write_font_p2): ... this. Remove print_glyphs call.
14991 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
14992 used. Call print_glyphs.
14993 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
14994
149952010-01-14 Robert Millan <rmh.grub@aybabtu.com>
14996
14997 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
14998 (grub_bin2h_SOURCES): New variable.
14999 * util/bin2h.c: New file.
15000
915fc1b8
VS
150012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 * include/multiboot.h: Resynced with spec.
15004 * include/multiboot2.h: Likewise.
15005 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
15006 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
15007
9444b678
RM
150082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15009
15010 * include/grub/term.h (grub_term_register_input,
15011 grub_term_register_output): Check return of terminal init()
15012 routines, and abort if errors are raised.
15013
15014 * commands/terminal.c: Update copyright year.
15015
cba98e8d
RM
150162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15017
15018 * commands/terminal.c (grub_cmd_terminal_input)
15019 (grub_cmd_terminal_output): Check return of terminal init()
15020 routines, and abort if errors are raised.
15021
6f7db5d6
VS
150222010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 * include/grub/i386/bsd.h: Fix include pathes.
15025
262bff8d
VS
150262010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15027
15028 Add missing *BSD copyright headers.
15029
15030 * include/grub/aout.h: Add BSD licence.
15031 * include/grub/i386/bsd.h: Parts under different licences moved to ...
15032 * include/grub/i386/freebsd_linker.h: ... here,
15033 * include/grub/i386/freebsd_reboot.h: ... here,
15034 * include/grub/i386/netbsd_bootinfo.h: ... here,
15035 * include/grub/i386/netbsd_reboot.h: ... here,
15036 * include/grub/i386/openbsd_bootarg.h: ... here,
15037 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
15038 licence to each file.
15039
b2cab848
RM
150402010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15041
15042 * acinclude.m4: Remove `nop' assembly instruction; it's not
15043 implemented by all architectures.
15044
2cb6be4b
RM
150452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15046
15047 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
15048 ELILO. This is no longer necessary.
15049
a2eaee15
BC
150502010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
15051
15052 Added new tool, grub-scrit-check to verify grub.cfg syntax.
15053
15054 * util/grub-script-check.c: grub-script-check tool.
15055 * conf/common.rmk: Make rules for grub-script-check.
15056
88d17012
RM
150572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15058
15059 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
15060 spotting it back in 2008. Shame on me for forgetting he did.
15061
15062 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
15063
8040619d
RM
150642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15065
15066 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
15067 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
15068 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
15069 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
15070 (GRUB_VIDEO_TYPE_EFI): Rename to ...
15071 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
15072
a0c2a0f6
RM
150732010-01-17 Robert Millan <rmh.grub@aybabtu.com>
15074
15075 * include/grub/test.h: Add license header.
15076 * tests/example_functional_test.c: Likewise.
15077 * tests/example_unit_test.c: Likewise.
15078 * tests/lib/functional_test.c: Likewise.
15079 * tests/lib/test.c: Likewise.
15080 * tests/lib/unit_test.c: Likewise.
15081
b0b13907
VS
150822010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 Use flag-based instead of hook-based video mode selection and "auto"
15085 keyword.
15086
15087 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
15088 (grub_video_set_mode): Changed prototype. All users updated.
15089 (grub_video_check_mode_flag): New inline function.
15090 * video/video.c (parse_modespec): New function.
15091 (grub_video_set_mode): Parse flags and keywords.
15092
ea379330 150932010-01-17 Carles Pina i Estany <carles@pina.cat>
15094
15095 * util/misc.c (grub_util_info): Fix the order of the parameters in a
15096 fprintf call.
15097
e15c215e
FZ
150982010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
15099
15100 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
15101
409ae1c9 151022010-01-16 Carles Pina i Estany <carles@pina.cat>
15103
15104 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
15105 string.
15106 * util/grub-emu.c (usage): Likewise.
15107 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
15108 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15109 * util/i386/pc/grub-mkimage.c (usage): Likewise.
15110 * util/i386/pc/grub-setup.c (usage): Likewise.
15111
70a14d3d 151122010-01-16 Carles Pina i Estany <carles@pina.cat>
15113
15114 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
15115 the message.
15116 (grub_util_info): Likewise.
15117 (grub_util_error): Likewise.
15118 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
15119 and/or new lines in `grub_util_warna', `grub_util_info',
15120 `grub_util_error' calls.
15121 * util/getroot.c: Likewise.
15122 * util/grub-editenv.c: Likewise.
15123 * util/grub-emu.c: Likewise.
15124 * util/grub-fstest.c: Likewise.
15125 * util/grub-mkdevicemap.c: Likewise.
15126 * util/grub-mkfont.c: Likewise.
15127 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15128 * util/grub-mkrelpath.c: Likewise.
15129 * util/grub-pe2elf.c: Likewise.
15130 * util/grub-probe.c: Likewise.
15131 * util/hostdisk.c: Likewise.
15132 * util/i386/efi/grub-mkimage.c: Likewise.
15133 * util/i386/pc/grub-mkimage.c: Likewise.
15134 * util/i386/pc/grub-setup.c: Likewise.
15135 * util/ieee1275/ofpath.c: Likewise.
15136 * util/mkisofs/eltorito.c: Likewise.
15137 * util/mkisofs/rock.c: Likewise.
15138 * util/mkisofs/write.c: Likewise.
15139 * util/raid.c: Likewise.
15140 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
15141 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15142
a0b766fc
VS
151432010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 Enable multiboot on non-pc.
15146
15147 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
15148 multiboot.mod and multiboot2.mod to ...
15149 * conf/i386.rmk (pkglib_MODULES): ... here.
15150 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
15151 Moved to ...
15152 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
15153 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
15154 Moved to ...
15155 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
15156 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
15157 Moved to ...
15158 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
15159 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
15160 Moved to ...
15161 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
15162 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
15163 relocator.mod.
15164 (ata_mod_SOURCES): Removed.
15165 (ata_mod_CFLAGS): Likewise.
15166 (ata_mod_LDFLAGS): Likewise.
15167 (relocator_mod_SOURCES): Removed.
15168 (relocator_mod_CFLAGS): Likewise.
15169 (relocator_mod_ASFLAGS): Likewise.
15170 (relocator_mod_LDFLAGS): Likewise.
15171 Include i386.mk.
15172 * include/grub/x86_64/multiboot.h: New file.
15173 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
15174 Terminate EFI.
15175
884ade56
VS
151762010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 Video multiboot support.
15179
15180 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
15181 New prototype.
15182 * include/multiboot.h: Resynced with multiboot specification.
15183 * include/multiboot2.h: Likewise.
15184 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
15185 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
15186 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
15187 (HAS_VGA_TEXT): Likewise.
15188 (accepts_video): New variable.
15189 (grub_multiboot_set_accepts_video): New function.
15190 (grub_multiboot_get_mbi_size): Account for video structures.
15191 (set_video_mode): New function.
15192 (retrieve_video_parameters): Likewise.
15193 (grub_multiboot_make_mbi): Fill video fields.
15194
0d90e8a6
VS
151952010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15196
15197 Video driver ids.
15198
15199 * include/grub/video.h (grub_video_driver_id): New type.
15200 (grub_video_adapter): New member 'id'. All users updated.
15201 (grub_video_get_driver_id): New proto.
15202 * video/video.c (grub_video_get_driver_id): New function.
15203
5c71db1b 152042010-01-14 Carles Pina i Estany <carles@pina.cat>
15205
15206 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
15207 `var=val'.
15208
cca15b52 152092010-01-14 Carles Pina i Estany <carles@pina.cat>
15210
15211 * normal/cmdline.c (print_completion): Gettextizze.
15212
c586fbb2 152132001-01-14 Carles Pina i Estany <carles@pina.cat>
15214
15215 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
15216
ba2f6848 152172010-01-14 Carles Pina i Estany <carles@pina.cat>
15218
15219 * gettext/gettext.c (grub_gettext_translate): Push and pop
15220 grub_errno.
15221 (grub_gettext_delete_list): Change comment style.
15222 * kern/err.c (grub_error): Gettextizze.
15223 (grub_fatal): Gettextizze.
15224
0a46429a
RM
152252010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15226
15227 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
15228 (grub_linux16_real_boot): ... this.
15229 * kern/i386/loader.S: Likewise.
15230 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
15231 (grub_linux16_boot): New function. Switches to text mode and calls
15232 grub_linux16_real_boot().
15233
15234 * loader/i386/bsd.c: Include `<grub/video.h>'.
15235 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
15236 text mode before calling grub_unix_real_boot().
15237
15238 * loader/i386/multiboot.c: Include `<grub/video.h>'.
15239 (grub_multiboot_boot): Switch to text mode before calling
15240 grub_relocator32_boot().
15241
15242 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
15243 (grub_chainloader_boot): Switch to text mode before calling
15244 grub_chainloader_real_boot().
15245
d6f93a66
RM
152462010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
152472010-01-05 Colin Watson <cjwatson@ubuntu.com>
15248
15249 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
15250 non-empty value.
15251
152522010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
152532010-01-05 Colin Watson <cjwatson@ubuntu.com>
15254
15255 * util/grub.d/00_header.in: Define a "savedefault" function for use
15256 in menu entries.
15257 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
15258
152592010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
152602010-01-05 Colin Watson <cjwatson@ubuntu.com>
15261
15262 * util/grub-mkconfig_lib.in (save_default_entry): Only set
15263 saved_entry if boot_once is unset.
15264 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
15265 previous saved entry (i.e. grub-reboot).
15266
152672009-12-08 Colin Watson <cjwatson@ubuntu.com>
15268
15269 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
15270
152712009-12-08 Colin Watson <cjwatson@ubuntu.com>
15272
15273 * util/grub.d/00_header.in: Use `set var=val' rather than plain
15274 `var=val'.
15275 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
15276
152772009-12-08 Colin Watson <cjwatson@ubuntu.com>
15278
15279 * util/grub-reboot.in: Fix --version output.
15280 * util/grub-set-default.in: Likewise.
15281
152822009-12-08 Colin Watson <cjwatson@ubuntu.com>
15283
15284 * util/grub.d/00_header.in: Silently ignore zero-sized environment
15285 blocks.
15286
152872009-12-08 Colin Watson <cjwatson@ubuntu.com>
15288
15289 * util/grub.d/00_header.in: Quote the value assigned to `default',
15290 in case it contains spaces.
15291
152922009-12-08 Colin Watson <cjwatson@ubuntu.com>
15293
15294 * util/grub.d/30_os-prober.in: Fix merge error that moved a
15295 `save_default_entry' call from the macosx case to the linux case.
15296
152972009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
152982009-10-25 Colin Watson <cjwatson@ubuntu.com>
15299
15300 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
15301 in `chosen' environment variable.
15302 * normal/menu_text.c (get_entry_number): Check if the variable
15303 matches the title of a menu entry.
15304 (run_menu): Pass menu to get_entry_number.
15305
15306 * util/grub-reboot.in: New file.
15307 * util/grub-set-default.in: New file.
15308 * conf/common.rmk (grub-reboot): New utility.
15309 (grub-set-default): New utility.
15310
15311 * util/grub-mkconfig_lib.in (save_default_entry): New function.
15312 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
15313 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
15314 move it to `saved_entry' for the next boot. Load environment on
15315 initialisation.
15316 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
15317 * util/grub.d/10_hurd.in: Likewise.
15318 * util/grub.d/10_linux.in (linux_entry): Likewise.
15319 * util/grub.d/10_windows.in: Likewise.
15320 * util/grub.d/30_os-prober.in: Likewise.
15321
15322 * util/grub-install.in: Create environment block.
15323 * util/i386/efi/grub-install.in: Likewise.
15324 * util/ieee1275/grub-install.in: Likewise.
15325 * util/sparc64/ieee1275/grub-install.in: Likewise.
15326
0934d184
BC
153272010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
15328
15329 Unit testing framework for GRUB.
15330
15331 * Makefile.in: Test framework build rules for 'make check'.
15332 * conf/tests.rmk: Build rules for individual tests and framework.
15333
15334 * include/grub/test.h: Header file for whitebox tests.
15335 * tests/lib/functional_test.c: Framework support for whitebox
15336 functional tests.
15337 * tests/lib/test.c: Common whitebox testing code for unit and
15338 functional tests.
15339 * tests/lib/unit_test.c: Framework support for whitebox unit
15340 tests.
15341
15342 * tests/util/grub-shell-tester.in: Support utility for grub-script
15343 tests.
15344 * tests/util/grub-shell.in: Utility to execute grub-script
15345 commands in a Qemu instance.
15346
15347 * tests/example_functional_test.c: Example whitebox functional
15348 test.
15349 * tests/example_grub_script_test.in: Example grub-script test.
15350 * tests/example_scripted_test.in: Example scripted test.
15351 * tests/example_unit_test.c: Example whitebox unit test.
15352
9c4ffeeb
VS
153532010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
15356 Add loader/i386/multiboot_mbi.c.
15357 (multiboot2_mod_SOURCES): Likewise.
15358 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
15359 (multiboot2_mod_SOURCES): Likewise.
15360 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
15361 (grub_multiboot_make_mbi): Likewise.
15362 (grub_multiboot_free_mbi): Likewise.
15363 (grub_multiboot_init_mbi): Likewise.
15364 (grub_multiboot_add_module): Likewise.
15365 (grub_multiboot_set_bootdev): Likewise.
15366 * loader/i386/multiboot.c (mbi): Removed.
15367 (mbi_dest): Likewise.
15368 (alloc_mbi): New variable.
15369 (grub_multiboot_payload_size): Removed. All users updated.
15370 (grub_multiboot_pure_size): New variable.
15371 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
15372 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
15373 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
15374 (grub_fill_multiboot_mmap): Likewise.
15375 (grub_multiboot_get_bootdev): Likewise.
15376 (grub_multiboot): Use multiboot_mbi functions.
15377 * loader/i386/multiboot_mbi.c: New file.
15378
17383dfe
VS
153792010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
15382 it would result in module crash.
15383
c1f28820
VS
153842010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15385
15386 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
15387 (grub_ofconsole_getwh): Split to ...
15388 (grub_ofconsole_getwh): ... this.
15389 (grub_ofconsole_dimensions): ...and this.
15390 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
15391
58655a16
RM
153922010-01-13 Robert Millan <rmh.grub@aybabtu.com>
15393
15394 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
15395
10891398
VS
153962010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15397
15398 * loader/i386/pc/multiboot2.c: Removed stalled file.
15399
0b8a223c
VS
154002010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
15403 Reported by: Grégoire Sutre
15404
92ab12b0
RM
154052010-01-11 Robert Millan <rmh.grub@aybabtu.com>
15406
15407 * util/misc.c (canonicalize_file_name): New function.
15408 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
15409 instead of realpath().
15410
a788afb6
CW
154112010-01-11 Colin Watson <cjwatson@ubuntu.com>
15412
15413 * util/grub-install.in (usage): Clarify meaning of --root-directory,
15414 and make it clearer that it's optional. Based on confusion
15415 witnessed on IRC.
15416
ffa8e3d2
VS
154172010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
15420 in premature implicit newline.
15421
e9060a9d
VS
154222010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15423
15424 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
15425 which resulted in garbled command line at the end of screen.
15426
f0d0c0b7
RM
154272010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15428
15429 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
15430 initialization with similar approach as with other Linux loaders.
15431
0e60bae7
RM
154322010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15433
15434 Fix i386-ieee1275 build.
15435
15436 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
15437 and grub_term_height() for video_{width,height} initialization.
15438
154392010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
15440
15441 Fix grub-emu build.
15442
15443 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
15444
cdb3f378
RM
154452010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
154462010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15447
15448 Support for multiple terminals.
15449
15450 * Makefile.in (pkglib_DATA): terminal.lst.
15451 (terminal.lst): New target.
15452 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
15453 (GRUB_MOD_INIT(handler)): Likewise.
15454 (GRUB_MOD_FINI(handler)): Likewise.
15455 * commands/help.c (grub_cmd_help): Handle multiple terminals.
15456 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
15457 * commands/sleep.c (do_print): Use grub_term_restore_pos.
15458 (grub_cmd_sleep): Use grub_term_save_pos.
15459 * commands/terminal.c: New file.
15460 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
15461 commands/terminal.c and lib/charset.c.
15462 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
15463 (pkglib_MODULES): Add terminal.mod.
15464 (terminal_mod_SOURCES): New variable.
15465 (terminal_mod_CFLAGS): Likewise.
15466 (terminal_mod_LDFLAGS): Likewise.
15467 * genhandlerlist.sh: Don't handle terminals.
15468 * genmk.rb: Generate terminal-*.lst.
15469 * genterminallist.sh: New file.
15470 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
15471 (grub_is_valid_utf8): Likewise.
15472 (grub_utf8_to_ucs4_alloc): Likewise.
15473 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
15474 (grub_menu_register_viewer): Changed argument.
15475 (grub_menu_try_text): New proto.
15476 (grub_gfxmenu_try_hook): New declaration.
15477 * include/grub/normal.h (grub_normal_exit_level): New declaration.
15478 (grub_menu_init_page): Additional argument term.
15479 (grub_normal_init_page): Likewise.
15480 (grub_cmdline_get): Arguments simplified.
15481 (grub_utf8_to_ucs4_alloc): Removed.
15482 (grub_print_ucs4): Additional argument term.
15483 (grub_getstringwidth): Likewise.
15484 (grub_print_message_indented): Likewise.
15485 (grub_menu_text_register_instances): New proto.
15486 (grub_show_menu): Likewise.
15487 (read_terminal_list): Likewise.
15488 (grub_set_more): Likewise.
15489 * include/grub/parser.h: Include handler.h.
15490 * include/grub/reader.h: Rewritten.
15491 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
15492 (GRUB_TERM_WIDTH): Changed to function.
15493 (GRUB_TERM_HEIGHT): Likewise.
15494 (GRUB_TERM_BORDER_WIDTH): Likewise.
15495 (GRUB_TERM_BORDER_HEIGHT): Likewise.
15496 (GRUB_TERM_NUM_ENTRIES): Likewise.
15497 (GRUB_TERM_ENTRY_WIDTH): Likewise.
15498 (GRUB_TERM_CURSOR_X): Likewise.
15499 (grub_term_input_class): Likewise.
15500 (grub_term_output_class): Likewise.
15501 (grub_term_outputs_disabled): New declaration.
15502 (grub_term_inputs_disabled): Likewise.
15503 (grub_term_outputs): Likewise.
15504 (grub_term_inputs): Likewise.
15505 (grub_term_register_input): Rewritten.
15506 (grub_term_register_output): Likewise.
15507 (grub_term_unregister_input): Likewise.
15508 (grub_term_unregister_output): Likewise.
15509 (FOR_ACTIVE_TERM_INPUTS): New macro.
15510 (FOR_DISABLED_TERM_INPUTS): Likewise.
15511 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15512 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15513 * include/grub/terminfo.h: Add oterm argument to all protypes.
15514 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
15515 Use grub_rescue_run.
15516 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
15517 All users updated.
15518 * kern/reader.c: Removed. All users updated.
15519 * kern/rescue_reader.c (grub_rescue_init): Removed.
15520 (grub_rescue_reader): Likewise.
15521 (grub_register_rescue_reader): Likewise.
15522 (grub_rescue_run): New function based on kern/reader.c.
15523 * kern/term.c: Adapted for multiterm.
15524 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
15525 (grub_is_valid_utf8): Likewise.
15526 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
15527 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
15528 right terminal.
15529 * loader/i386/linux.c (grub_linux_boot): Likewise.
15530 * normal/auth.c (grub_username_get): New function.
15531 (grub_auth_check_authentication): Use grub_username_get.
15532 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
15533 * normal/color.c: Adapt for multiterm.
15534 * normal/main.c (read_config_file): Don't use grub_reader_loop.
15535 (grub_normal_init_page): Additional argument term.
15536 (read_lists): Call read_terminal_lists.
15537 (grub_enter_normal_mode): Call grub_cmdline_run.
15538 Handle grub_normal_exit_level.
15539 (grub_cmd_normal): Make reentrant.
15540 (grub_cmd_normal_exit): New function.
15541 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
15542 * normal/menu.c: Adapt for multiterm.
15543 * normal/menu_entry.c: Likewise.
15544 * normal/menu_text.c: Likewise.
15545 * normal/menu_viewer.c: Removed. All users updated.
15546 * normal/term.c: New file.
15547 * util/console.c: Change order of includes to workaround a bug in
15548 ncurses headers.
15549 * term/terminfo.c: New argument oterm on all exported functions.
15550 All users updated.
15551 * util/grub-editenv.c (grub_term_input_class): Removed.
15552 (grub_term_output_class): Likewise.
15553
1a064917
RM
155542010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15555
15556 Make loader output a bit more user-friendly.
15557
15558 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
15559 is being loaded. Likewise for the Hurd.
15560
15561 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
15562 that kernel of FreeBSD ${version} is being loaded.
15563
15564 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
15565 grub_dprintf().
15566 (grub_cmd_initrd): Likewise.
15567 * util/grub.d/10_linux.in (linux_entry): Print message indicating
15568 that Linux ${version} is being loaded. Likewise for initrd.
15569
5ce0a83a 155702010-01-09 Carles Pina i Estany <carles@pina.cat>
15571
15572 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
15573
809bbfeb 155742010-01-08 Carles Pina i Estany <carles@pina.cat>
15575
15576 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
15577 (GRUB_MOD_INIT): Gettextizze.
15578 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
15579 (GRUB_MOD_INIT): Gettextizze.
15580 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
15581 (grub_cmd_linux): Capitalise Linux.
15582 (GRUB_MOD_INIT): Gettextizze.
15583 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
15584 (grub_cmd_linux): Capitalise Linux.
15585 (GRUB_MOD_INIT): Gettextizze.
15586 * loader/i386/linux.c: Include `<grub/i18n.h>'.
15587 (grub_cmd_linux): Capitalise Linux.
15588 (GRUB_MOD_INIT): Gettextizze.
15589 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
15590 (GRUB_MOD_INIT): Gettextizze.
15591 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
15592 (grub_cmd_linux): Capitalise Linux.
15593 (GRUB_MOD_INIT): Gettextizze.
15594 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
15595 (grub_cpu_xnu_init): Gettextizze.
15596 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
15597 (GRUB_MOD_INIT): Gettextizze.
15598 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
15599 (GRUB_MOD_INIT): Gettextizze.
15600 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
15601 (grub_linux_load64): Capitalise Linux.
15602 (GRUB_MOD_INIT): Gettextizze.
15603 * loader/xnu.c: Include `<grub/i18n.h>'.
15604 (GRUB_MOD_INIT): Gettextizze.
15605 * po/POTFILES: Add `loader/efi/appleloader.c',
15606 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
15607 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
15608 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
15609 `loader/i386/xnu.c', `loader/multiboot_loader.c',
15610 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
15611 and `loader/xnu.c'.
15612
b394b2ca
RM
156132010-01-08 Robert Millan <rmh.grub@aybabtu.com>
15614
15615 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
15616
156172010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
15618
15619 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
15620 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
15621 * util/mkisofs/mkisofs.c (main): Readjust --version output.
15622
bc8b32b3
RM
156232010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15624
15625 Reset Multiboot 2 support. New loader implements the draft in
15626 /branches/multiboot2 and shares as much code as possible with the
15627 production Multiboot 1 implementation.
15628
15629 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
15630 * loader/multiboot2.c: Likewise.
15631 * loader/i386/multiboot_helper.S: Likewise.
15632 * include/multiboot2.h: Replace with latest version from the draft
15633 in /branches/multiboot2.
15634
15635 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
15636 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
15637 and `loader/multiboot2.c'.
15638 (pkglib_MODULES): Add `multiboot2.mod'.
15639 (multiboot2_mod_SOURCES): New variable.
15640 (multiboot2_mod_LDFLAGS): Likewise.
15641 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
15642
15643 * conf/i386-pc.rmk: Likewise.
15644
15645 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
15646 (multiboot_mod_SOURCES): Remove variable.
15647 (multiboot_mod_LDFLAGS): Likewise.
15648 (multiboot_mod_CFLAGS): Likewise.
15649
15650 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
15651 `<multiboot2.h>' instead of `<multiboot.h>'.
15652 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
15653 (MULTIBOOT_HEADER_MAGIC): New macros.
15654
15655 * loader/multiboot_loader.c (module_version_status): Remove variable.
15656 (find_multi_boot2_header): Remove function.
15657 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
15658 logic. Always check for the Multiboot version we're compiling for.
15659 (grub_cmd_module_loader): Likewise.
15660 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
15661 command instead of `multiboot'.
15662
5d2c52b8
RM
156632010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15664
15665 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
15666 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
15667 all users.
15668
53108d92
RM
156692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
156702010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 Fix breakage introduced with previous commit.
15673
15674 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
15675 commands.
15676 * normal/handler.c (read_handler_list): Revert part of previous commit
15677 affecting this file.
15678 * normal/main.c (read_lists): Move read_handler_list() call back to ...
15679 (grub_normal_execute): ... here.
15680
e2e936b2
RM
156812010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15682
15683 Merge prefix-redefinition-fix branch.
15684
15685 * normal/autofs.c (read_fs_list): Make function capable of being
15686 run multiple times, gracefuly replacing the previous data
15687 structures.
15688 * normal/dyncmd.c (read_command_list): Likewise.
15689 * normal/handler.c (read_handler_list): Likewise.
15690 * normal/main.c (read_lists): New function. Calls all the
15691 list reading functions.
15692 (grub_normal_execute): Use read_lists() instead of calling all
15693 list reading functions explicitly. Register read_lists() as a
15694 variable hook attached to ${prefix}.
15695
607a3701
VS
156962010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 Merge crypto branch.
15699
15700 * Makefile.in (pkglib_DATA): Add crypto.lst.
15701 (crypto.lst): New target.
15702 * commands/hashsum.c: New file.
15703 * commands/password.c (check_password): Use grub_crypto_memcmp.
15704 * commands/password_pbkdf2.c: New file.
15705 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
15706 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
15707 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
15708 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
15709 -I$(srcdir)/lib/libgcrypt_wrap.
15710 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
15711 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
15712 password_pbkdf2.mod.
15713 (crypto_mod_SOURCES): New variable.
15714 (crypto_mod_CFLAGS): Likewise.
15715 (crypto_mod_LDFLAGS): Likewise.
15716 (hashsum_mod_SOURCES): New variable.
15717 (hashsum_mod_CFLAGS): Likewise.
15718 (hashsum_mod_LDFLAGS): Likewise.
15719 (pbkdf2_mod_SOURCES): New variable.
15720 (pbkdf2_mod_CFLAGS): Likewise.
15721 (pbkdf2_mod_LDFLAGS): Likewise.
15722 (password_pbkdf2_mod_SOURCES): New variable.
15723 (password_pbkdf2_mod_CFLAGS): Likewise.
15724 (password_pbkdf2_mod_LDFLAGS): Likewise.
15725 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
15726 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
15727 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
15728 Include conf/gcry.rmk.
15729 * include/grub/auth.h: Rewritten.
15730 * include/grub/crypto.h: New file.
15731 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
15732 * include/grub/normal.h (read_crypto_list): New prototype.
15733 * lib/crypto.c: New file.
15734 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15735 * lib/pbkdf2.c: Likewise.
15736 * normal/auth.c (grub_auth_strcmp): Removed.
15737 (grub_iswordseparator): Likewise.
15738 (grub_auth_strword): Likewise.
15739 (is_authenticated): Use grub_strword.
15740 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
15741 and grub_strword. Pass entered password to authentication callback.
15742 * normal/crypto.c: New file.
15743 * normal/main.c: Call read_crypto_list.
15744 * util/grub-mkpasswd-pbkdf2.c: New file.
15745 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
15746
42841caa
VS
157472010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 Fix descent and ascent calculation.
15750
15751 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
15752 (options): New option "asce".
15753 (usage): Likewise.
15754 (add_char): Ignore invalid glyphs for descent calculation.
15755 Calculate ascent from actual content.
15756 (print_glyphs): Use 'asce'.
15757 (write_font): Likewise. Allow ascent override.
15758 (main): Handle "asce" option.
15759
e7730de7 157602010-01-06 Carles Pina i Estany <carles@pina.cat>
15761
15762 * kern/err.c: Include `<grub/i18n.h>'.
15763 (grub_print_error): Add full stop. Gettextizze.
15764 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
15765 (grub_bsd_load_elf): Capitalise ELF.
15766 (grub_cmd_freebsd_loadenv): Add `s' in error string.
15767 (grub_cmd_freebsd_module): Likewise.
15768 (grub_cmd_freebsd_module_elf): Likewise.
15769 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
15770
40e3a41f 157712010-01-06 Carles Pina i Estany <carles@pina.cat>
15772
15773 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
15774 * commands/search_file.c (HELP_MESSAGE): New macro.
15775 * commands/search_label.c (HELP_MESSAGE): Likewise.
15776 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
15777 * po/POTFILES: Add `commands/search_file.c',
15778 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
15779 `commands/search.c'.
15780
83507e68
RM
157812010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15782
15783 * config.rpath: Update from Gnulib.
15784
465c787b
YB
157852010-01-05 Yves Blusseau <blusseau@zetam.org>
15786
15787 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
15788
6581dd3a
YB
157892010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
15790
15791 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
15792
3bff18c5
CW
157932010-01-05 Colin Watson <cjwatson@ubuntu.com>
15794
15795 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
15796 arguments to fread so that we get a return value in bytes, rather
15797 than something that will normally be rounded down to 0.
15798 Adjust error handling to avoid producing garbage when size_t is not
15799 the same size as long long.
15800
a1368118
CW
158012010-01-05 Colin Watson <cjwatson@ubuntu.com>
15802
15803 * util/mkisofs/write.c (padblock_write): Check return value of
15804 fread.
15805
7c302978
RM
158062010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15807
15808 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
15809 floppy images now.
15810
15811 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
15812
e33ace06
RM
158132010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15814
15815 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
15816 instead of manual alignment.
15817 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
15818 verbose). Avoid attempts to read past end of the device
15819 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
15820 but GRUB_DISK_CACHE_SIZE may exceed that).
15821
4b856776
RM
158222010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15823
15824 * commands/crc.c (grub_cmd_crc): Abort on read errors.
15825 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
15826 it to upper layer.
15827
52c2d97f
VS
158282010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
15831 New constant.
15832 (grub_efi_piwg_device_path): New structure
15833 (grub_efi_piwg_device_path_t): New type.
15834 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
15835 (devpath_1): Transform to a structure. All users updated.
15836 (devpath_2): Likewise.
15837 (devpath_3): Likewise.
15838 (devpath_4): Likewise.
15839 (devpath_5): Likewise.
15840
98ff6a54
VS
158412010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 * loader/efi/appleloader.c: Restored. Update all users.
15844
3a73dcb6
RM
158452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15846
15847 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
15848
15849 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
15850 (struct boot_blocklist): Move from here ...
15851 * include/grub/i386/pc/boot.h [ASM_FILE]
15852 (struct grub_boot_blocklist): ... to here. Update all users.
15853 (setup): Only initialize `start' member of `first_block'
15854 structure. Add assert() calls to verify the other members.
15855
15856 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
15857 (generate_image): Fix broken blocklist length initialization.
15858 Add assert() call to verify blocklist `segment' field.
15859
ab0eeb0c
RM
158602010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15861
15862 * loader/efi/appleloader.c: Remove. Update all users.
15863
58bc8bd5
RM
158642010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15865
15866 * boot/i386/pc/boot.S: Update copyright year.
15867 * boot/i386/pc/cdboot.S: Likewise.
15868 * boot/i386/pc/diskboot.S: Likewise.
15869 * boot/i386/pc/lnxboot.S: Likewise.
15870 * boot/i386/pc/pxeboot.S: Likewise.
15871 * bus/pci.c: Likewise.
15872 * commands/cmp.c: Likewise.
15873 * commands/help.c: Likewise.
15874 * commands/hexdump.c: Likewise.
15875 * commands/i386/pc/halt.c: Likewise.
15876 * commands/i386/pc/play.c: Likewise.
15877 * commands/i386/pc/vbeinfo.c: Likewise.
15878 * commands/ls.c: Likewise.
15879 * commands/test.c: Likewise.
15880 * disk/dmraid_nvidia.c: Likewise.
15881 * disk/i386/pc/biosdisk.c: Likewise.
15882 * disk/ieee1275/nand.c: Likewise.
15883 * disk/ieee1275/ofdisk.c: Likewise.
15884 * disk/lvm.c: Likewise.
15885 * disk/raid.c: Likewise.
15886 * disk/raid6_recover.c: Likewise.
15887 * disk/scsi.c: Likewise.
15888 * fs/affs.c: Likewise.
15889 * fs/cpio.c: Likewise.
15890 * fs/ext2.c: Likewise.
15891 * fs/hfs.c: Likewise.
15892 * fs/iso9660.c: Likewise.
15893 * fs/ntfs.c: Likewise.
15894 * fs/sfs.c: Likewise.
15895 * fs/udf.c: Likewise.
15896 * fs/ufs.c: Likewise.
15897 * fs/xfs.c: Likewise.
15898 * gencmdlist.sh: Likewise.
15899 * genmk.rb: Likewise.
15900 * include/grub/disk.h: Likewise.
15901 * include/grub/efi/api.h: Likewise.
15902 * include/grub/efi/efi.h: Likewise.
15903 * include/grub/efi/pe32.h: Likewise.
15904 * include/grub/elf.h: Likewise.
15905 * include/grub/fs.h: Likewise.
15906 * include/grub/i386/at_keyboard.h: Likewise.
15907 * include/grub/i386/pc/memory.h: Likewise.
15908 * include/grub/i386/pc/vbe.h: Likewise.
15909 * include/grub/i386/pci.h: Likewise.
15910 * include/grub/i386/tsc.h: Likewise.
15911 * include/grub/ieee1275/ieee1275.h: Likewise.
15912 * include/grub/ntfs.h: Likewise.
15913 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
15914 * include/grub/sparc64/libgcc.h: Likewise.
15915 * include/grub/symbol.h: Likewise.
15916 * include/grub/types.h: Likewise.
15917 * include/multiboot2.h: Likewise.
15918 * io/gzio.c: Likewise.
15919 * kern/device.c: Likewise.
15920 * kern/disk.c: Likewise.
15921 * kern/efi/efi.c: Likewise.
15922 * kern/efi/mm.c: Likewise.
15923 * kern/elf.c: Likewise.
15924 * kern/file.c: Likewise.
15925 * kern/i386/dl.c: Likewise.
15926 * kern/i386/pc/init.c: Likewise.
15927 * kern/i386/pc/startup.S: Likewise.
15928 * kern/ieee1275/ieee1275.c: Likewise.
15929 * kern/ieee1275/init.c: Likewise.
15930 * kern/main.c: Likewise.
15931 * kern/mm.c: Likewise.
15932 * kern/powerpc/dl.c: Likewise.
15933 * kern/sparc64/dl.c: Likewise.
15934 * kern/x86_64/dl.c: Likewise.
15935 * lib/hexdump.c: Likewise.
15936 * loader/efi/appleloader.c: Likewise.
15937 * loader/i386/ieee1275/linux.c: Likewise.
15938 * loader/i386/pc/chainloader.c: Likewise.
15939 * loader/i386/pc/linux.c: Likewise.
15940 * loader/i386/pc/multiboot2.c: Likewise.
15941 * loader/ieee1275/multiboot2.c: Likewise.
15942 * loader/multiboot2.c: Likewise.
15943 * loader/multiboot_loader.c: Likewise.
15944 * loader/powerpc/ieee1275/linux.c: Likewise.
15945 * normal/completion.c: Likewise.
15946 * normal/menu_entry.c: Likewise.
15947 * partmap/apple.c: Likewise.
15948 * util/grub.d/10_hurd.in: Likewise.
15949 * util/hostfs.c: Likewise.
15950 * video/readers/png.c: Likewise.
15951
e2d70b5c
CW
159522010-01-03 Colin Watson <cjwatson@ubuntu.com>
15953
15954 * include/grub/misc.h (GNUC_PREREQ): New macro.
15955 (ATTRIBUTE_ERROR): New macro.
15956 * include/grub/list.h (grub_bad_type_cast_real): Use
15957 ATTRIBUTE_ERROR.
15958
a173283f 159592010-01-03 Carles Pina i Estany <carles@pina.cat>
15960
15961 * normal/menu_text.c (print_message): Change messages.
15962
7fa7ff74 159632010-01-03 Carles Pina i Estany <carles@pina.cat>
15964
15965 * normal/menu_entry.c (store_completion): Gettextizze.
15966
136d24f6 159672010-01-03 Carles Pina i Estany <carles@pina.cat>
15968
15969 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
15970
f936862e 159712010-01-03 Carles Pina i Estany <carles@pina.cat>
15972
15973 * po/POTFILES: Sort correctly.
15974
29c44ad1 159752010-01-03 Carles Pina i Estany <carles@pina.cat>
15976
15977 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
15978 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
15979 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
15980 full stop.
15981 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
15982 summary. Gettextizze the strings.
15983 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
15984 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
15985 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
15986 full stop.
15987 (GRUB_MOD_INIT): Remove command name from summary.
15988 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
15989 summary.
15990 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
15991 * term/i386/pc/serial.c (options): Add full stops.
15992 (GRUB_MOD_INIT): Remove command name from the summary.
15993
77a79592 159942010-01-03 Carles Pina i Estany <carles@pina.cat>
15995
15996 * commands/acpi.c: Gettextizze help strings and/or options. Include
15997 `grub/i18n.h' if needed.
15998 * commands/blocklist.c: Likewise.
15999 * commands/boot.c: Likewise.
16000 * commands/cat.c: Likewise.
16001 * commands/cmp.c: Likewise.
16002 * commands/configfile.c: Likewise.
16003 * commands/crc.c: Likewise.
16004 * commands/date.c: Likewise.
16005 * commands/echo.c: Likewise.
16006 * commands/efi/fixvideo.c: Likewise.
16007 * commands/efi/loadbios.c: Likewise.
16008 * commands/gptsync.c: Likewise.
16009 * commands/halt.c: Likewise.
16010 * commands/handler.c: Likewise.
16011 * commands/hdparm.c: Likewise.
16012 * commands/hexdump.c: Likewise.
16013 * commands/i386/cpuid.c: Likewise.
16014 * commands/i386/pc/drivemap.c: Likewise.
16015 * commands/i386/pc/halt.c: Likewise.
16016 * commands/i386/pc/pxecmd.c: Likewise.
16017 * commands/i386/pc/vbeinfo.c: Likewise.
16018 * commands/i386/pc/vbetest.c: Likewise.
16019 * commands/ieee1275/suspend.c: Likewise.
16020 * commands/keystatus.c: Likewise.
16021 * commands/loadenv.c: Likewise.
16022 * commands/ls.c: Likewise.
16023 * commands/lsmmap.c: Likewise.
16024 * commands/lspci.c: Likewise.
16025 * commands/memrw.c: Likewise.
16026 * commands/minicmd.c: Likewise.
16027 * commands/parttool.c: Likewise.
16028 * commands/password.c: Likewise.
16029 * commands/probe.c: Likewise.
16030 * commands/read.c: Likewise.
16031 * commands/reboot.c: Likewise.
16032 * commands/search.c: Likewise.
16033 * commands/sleep.c: Likewise.
16034 * commands/test.c: Likewise.
16035 * commands/true.c: Likewise.
16036 * commands/usbtest.c: Likewise.
16037 * commands/videotest.c: Likewise.
16038 * commands/xnu_uuid.c: Likewise.
16039 * disk/loopback.c: Likewise.
16040 * hello/hello.c: Likewise.
16041 * loader/i386/bsd.c: Likewise.
16042 * term/i386/pc/serial.c: Likewise.
16043 * po/POTFILES: Add new files.
16044
da8d5c53
CW
160452010-01-02 Colin Watson <cjwatson@ubuntu.com>
16046
16047 * term/i386/pc/at_keyboard.c
16048 (keyboard_controller_wait_untill_ready): Rename to ...
16049 (keyboard_controller_wait_until_ready): ... this. Update all users.
16050
33937904 160512010-01-01 Carles Pina i Estany <carles@pina.cat>
16052
16053 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
16054 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
16055 string using string width.
16056 * normal/menu_text.c (grub_print_message_indented): Use
16057 grub_print_spaces and not print_spaces.
16058 (print_timeout): Likewise.
16059 (print_spaces): Move to...
16060 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
16061
3fd3b8d8
RM
160622010-01-01 Robert Millan <rmh.grub@aybabtu.com>
16063
16064 Import from Gnulib.
16065
16066 * gnulib/getdelim.c: New file.
16067 * gnulib/getline.c: Likewise.
16068
33433555
VS
160692009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
16070
16071 * include/grub/list.h (grub_assert_fail): Removed.
16072 (grub_bad_type_cast_real): New function.
16073 (grub_bad_type_cast): New macro.
16074 (GRUB_AS_LIST): Use grub_bad_type_cast.
16075 (GRUB_AS_LIST_P): Likewise.
e44721e8 16076 (GRUB_AS_NAMED_LIST): Likewise.
33433555 16077 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 16078 (GRUB_AS_PRIO_LIST): Likewise.
33433555 16079 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 16080 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 16081
f5a51306
VS
160822009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
16085 Fix syntax error.
16086
90d1e879
RM
160872009-12-29 Robert Millan <rmh.grub@aybabtu.com>
16088
16089 * configure.ac: Check for TARGET_CFLAGS initialization before we
16090 initialize it ourselves (sigh).
16091 Move a few modifications to TARGET_CFLAGS to be unconditional
16092 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
16093 eh_frame)
16094
16095 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
16096 * term/i386/pc/at_keyboard.c
16097 (keyboard_controller_wait_untill_ready): Likewise.
16098 (keyboard_controller_led): Rename `led_status' paramter to avoid
16099 name conflict.
16100
465b5a81 161012009-12-28 Carles Pina i Estany <carles@pina.cat>
16102
16103 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
16104 quotes.
16105
c181849b
VS
161062009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
16109
9c8739a4
VS
161102009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16111
16112 * normal/menu_text.c (grub_print_message_indented): Prevent
16113 past-the-end-of-array dereference.
16114
3e74249c
VS
161152009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16116
16117 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
16118 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
16119
64fd18ed 161202009-12-27 Carles Pina i Estany <carles@pina.cat>
16121
16122 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
16123 * normal/main.c (grub_normal_read_line): Remove a space from the
16124 default prompt.
16125
714af9b9 161262009-12-27 Carles Pina i Estany <carles@pina.cat>
16127
16128 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
16129 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16130 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16131 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16132 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16133 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16134 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16135
82f3e412 161362009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 16137
16138 * video/readers/jpeg.c (cmd): Declare.
16139 (grub_cmd_jpegtest): Use `grub_command_t' type.
16140 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16141 Assign to `cmd'.
16142 (GRUB_MOD_FINI): Use `cmd' to unregister.
16143 * video/readers/png.c (cmd): Declare.
16144 (grub_cmd_pngtest): Use `grub_command_t' type.
16145 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16146 Assign to `cmd'.
16147 (GRUB_MOD_FINI): Use `cmd' to unregister.
16148 * video/readers/tga.c (cmd): Declare.
16149 (grub_cmd_tgatest): Use `grub_command_t' type.
16150 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16151 Assign to `cmd'.
16152 (GRUB_MOD_FINI): Use `cmd' to unregister.
16153
82f3e412 161542009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 16155
16156 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
16157 stops.
16158 * kern/corecmd.c (grub_register_core_commands): Likewise.
16159 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
16160 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16161 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
16162 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16163 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16164 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
16165 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16166 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
16167 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16168 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16169 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16170 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16171 * normal/handler.c (insert_handler): Likewise.
16172 * normal/main.c (GRUB_MOD_INIT): Likewise.
16173 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16174
fdcdbb66 161752009-12-26 Carles Pina i Estany <carles@pina.cat>
16176
16177 * commands/help.c (grub_cmd_help): Print the command name before the
16178 summary.
16179 (GRUB_MOD_INIT): Remove command name from the summary.
16180 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 16181 string as summary.
fdcdbb66 16182 * lib/arg.c (find_long): Print the command name before the summary.
16183 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
16184 summary.
16185 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
16186 * commands/cat.c (GRUB_MOD_INIT): Likewise.
16187 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
16188 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
16189 * commands/crc.c (GRUB_MOD_INIT): Likewise.
16190 * commands/date.c (GRUB_MOD_INIT): Likewise.
16191 * commands/echo.c (GRUB_MOD_INIT): Likewise.
16192 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
16193 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16194 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16195 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
16196 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
16197 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
16198 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
16199 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16200 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
16201 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
16202 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
16203 * commands/ls.c (GRUB_MOD_INIT): Likewise.
16204 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16205 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16206 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16207 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
16208 * commands/password.c (GRUB_MOD_INIT): Likewise.
16209 * commands/probe.c (GRUB_MOD_INIT): Likewise.
16210 * commands/read.c (GRUB_MOD_INIT): Likewise.
16211 * commands/search.c (GRUB_MOD_INIT): Likewise.
16212 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
16213 * commands/test.c (GRUB_MOD_INIT): Likewise.
16214 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
16215 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16216 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16217 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
16218 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16219 * lib/arg.c (GRUB_MOD_INIT): Likewise.
16220 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
16221 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16222 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16223 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16224 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16225 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
16226 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
16227 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
16228
9c288be2
VS
162292009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16230
16231 Use search command for preliminar UUID search.
16232
16233 * commands/search.c: Split into ...
16234 * commands/search_wrap.c: ...this
16235 * commands/search.c: ...and this.
16236 * commands/search_file.c: New file.
16237 * commands/search_label.c: New file.
16238 * commands/search_uuid.c: New file.
16239 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
16240 Add commands/search_wrap.c, commands/search_file.c,
16241 commands/search_label.c and commands/search_uuid.c.
16242 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
16243 (search_mod_SOURCES): Set to commands/search_wrap.c.
16244 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
16245 search_label.mod.
16246 (search_fs_file_mod_SOURCES): New variable.
16247 (search_fs_file_mod_CFLAGS): Likewise.
16248 (search_fs_file_mod_LDFLAGS): Likewise.
16249 (search_label_mod_SOURCES): Likewise.
16250 (search_label_mod_CFLAGS): Likewise.
16251 (search_label_mod_LDFLAGS): Likewise.
16252 (search_fs_uuid_mod_SOURCES): New variable.
16253 (search_fs_uuid_mod_CFLAGS): Likewise.
16254 (search_fs_uuid_mod_LDFLAGS): Likewise.
16255 (fs_file_mod_SOURCES): Removed.
16256 (fs_file_mod_CFLAGS): Likewise.
16257 (fs_file_mod_LDFLAGS): Likewise.
16258 (fs_uuid_mod_SOURCES): Removed.
16259 (fs_uuid_mod_CFLAGS): Likewise.
16260 (fs_uuid_mod_LDFLAGS): Likewise.
16261 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
16262 Set to util/grub-install.in.
16263 * disk/fs_file.c: Removed.
16264 * disk/fs_uuid.c: Likewise.
16265 * include/grub/search.h: New file.
16266 * util/grub-install.in: Handle sparc64.
16267 Create and use load.cfg.
16268 * util/sparc64/ieee1275/grub-install.in: Removed.
16269
db943399
VS
162702009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16271
16272 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
16273 Ignore return status if CF is cleared.
16274 (grub_biosdisk_get_diskinfo_standard): Likewise.
16275
3fdae612
RM
162762009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16277
16278 * term/i386/pc/at_keyboard.c
16279 (keyboard_controller_wait_untill_ready): New function.
16280 (grub_keyboard_controller_write, grub_keyboard_controller_read)
16281 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
16282 for keyboard polling, rather than duplicate the same loop. This
16283 saves a few bytes in code size.
16284
7ebaa2b4
VS
162852009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 Support for (pxe[:server[:gateway]]) syntax and
16288 use environment variable for PXE.
16289
16290 * commands/i386/pc/pxecmd.c (options): Removed.
16291 (print_ip): Removed.
16292 (grub_cmd_pxe): Removed
16293 (grub_cmd_pxe_unload): New function.
16294 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
16295 (grub_pxe_your_ip): Made static.
16296 (grub_pxe_default_server_ip): Likewise.
16297 (grub_pxe_default_gateway_ip): Likewise.
16298 (grub_pxe_blksize): Likewise.
16299 (parse_ip): New function.
16300 (grub_pxe_open): Support server and gateway specification.
16301 (grub_pxe_close): Free disk->data.
16302 (grub_pxefs_open): Use disk->data.
16303 (grub_pxefs_read): Likewise.
16304 (grub_env_write_readonly): New function.
16305 (set_mac_env): Likewise.
16306 (set_env_limn_ro): Likewise.
16307 (parse_dhcp_vendor): Likewise.
16308 (grub_pxe_detect): Set the environment variables.
16309 (set_ip_env): New function.
16310 (write_ip_env): Likewise.
16311 (grub_env_write_pxe_default_server): Likewise.
16312 (grub_env_write_pxe_default_gateway): Likewise.
16313 (grub_env_write_pxe_blocksize): Likewise.
16314 (GRUB_MOD_INIT(pxe)): Set environment variables.
16315 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
16316 (grub_pxe_mac_addr_t): ... this. All users updated.
16317 (grub_pxe_your_ip): Removed.
16318 (grub_pxe_server_ip): Likewise.
16319 (grub_pxe_gateway_ip): Likewise.
16320 (grub_pxe_blksize): Likewise.
16321
ec5f98ab 163222009-12-25 Carles Pina i Estany <carles@pina.cat>
16323
16324 * commands/help.c: Include `<grub/i18n.h>'.
16325 (grub_cmd_help): Gettextizze.
16326 (GRUB_MOD_INIT): Likewise.
16327 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
16328 (GRUB_MOD_INIT): Gettextizze.
16329 * commands/search.c: Include `<grub/i18n.h>'.
16330 (options): Gettextizze.
16331 (GRUB_MOD_INIT): Gettextizze.
16332 * lib/arg.c: Include `<grub/i18n.h>'.
16333 (help_options): Gettextizze.
16334 (find_long): Likewise.
16335 (grub_arg_show_help): Likewise.
16336 * normal/dyncmd.c: Include `<grub/i18n.h>'.
16337 (read_command_list): Gettextizze.
16338 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 16339 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 16340
22815526
RM
163412009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16342
16343 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
16344 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
16345 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
16346 (led_status): New variable.
16347 (keyboard_controller_led): New function.
16348 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
16349 update led status for caps lock, num lock and scroll lock.
16350
0ad46fd7
FZ
163512009-12-25 Felix Zielcke <fzielcke@z-51.de>
16352
16353 * util/hostdisk.c (open_device): Fix a comment.
16354
d0e158c2
RM
163552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16356
16357 * util/grub-install.in (host_os): New variable.
16358 * util/i386/efi/grub-install.in (host_os): Likewise.
16359
401c0ad6
RM
163602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16361
16362 * util/mkisofs/write.c (padblock_write): Abort when given an
16363 excedingly large embed image, instead of silently truncating it.
16364
d14d3370
RM
163652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16366
16367 * include/multiboot.h: Indentation fixes.
16368
eeed10b4
RM
163692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16370
16371 * include/multiboot.h (struct multiboot_aout_symbol_table)
16372 (struct multiboot_elf_section_header_table): New structure
16373 declarations (stolen from GRUB Legacy).
16374 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
16375 table information.
16376
16377 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
16378 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
16379 type aliases.
16380
681c70ab
RM
163812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16382
16383 * include/multiboot.h: Make comments src2texi-friendly.
16384
e4d47d8d
RM
163852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16386
16387 For consistency with [multiboot]/docs/boot.S.
16388
16389 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
16390 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
16391 (MULTIBOOT_MAGIC2): Rename from this ...
16392 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
16393
a0b70bda
RM
163942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16395
16396 * include/multiboot.h: Remove `<grub/types.h>'.
16397 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
16398 types. Update all users.
16399
61ba42be 164002009-12-25 Carles Pina i Estany <carles@pina.cat>
16401
16402 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
16403 `couldn't' and `can not' by `cannot'.
16404 * commands/i386/pc/drivemap.c: Likewise.
16405 * disk/ata.c: Likewise.
16406 * disk/ieee1275/nand.c: Likewise.
16407 * fs/affs.c: Likewise.
16408 * fs/fat.c: Likewise.
16409 * fs/hfs.c: Likewise.
16410 * fs/hfsplus.c: Likewise.
16411 * fs/iso9660.c: Likewise.
16412 * fs/jfs.c: Likewise.
16413 * fs/minix.c: Likewise.
16414 * fs/reiserfs.c: Likewise.
16415 * fs/sfs.c: Likewise.
16416 * fs/udf.c: Likewise.
16417 * fs/ufs.c: Likewise.
16418 * fs/xfs.c: Likewise.
16419 * loader/powerpc/ieee1275/linux.c: Likewise.
16420 * loader/sparc64/ieee1275/linux.c: Likewise.
16421 * util/grub-probe.c: Likewise.
16422 * util/misc.c: Likewise.
16423
7fd0baee 164242009-12-24 Carles Pina i Estany <carles@pina.cat>
16425
16426 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
16427 grub_errno calls.
16428 * commands/acpi.c: Likewise.
16429 * commands/blocklist.c: Likewise.
16430 * commands/efi/loadbios.c: Likewise.
16431 * commands/i386/pc/drivemap.c: Likewise.
16432 * commands/loadenv.c: Likewise.
16433 * commands/memrw.c: Likewise.
16434 * commands/password.c: Likewise.
16435 * commands/videotest.c: Likewise.
16436 * disk/ata.c: Likewise.
16437 * disk/ata_pthru.c: Likewise.
16438 * disk/dmraid_nvidia.c: Likewise.
16439 * disk/ieee1275/nand.c: Likewise.
16440 * disk/ieee1275/ofdisk.c: Likewise.
16441 * disk/loopback.c: Likewise.
16442 * disk/lvm.c: Likewise.
16443 * disk/mdraid_linux.c: Likewise.
16444 * disk/raid.c: Likewise.
16445 * disk/raid6_recover.c: Likewise.
16446 * disk/scsi.c: Likewise.
16447 * efiemu/main.c: Likewise.
16448 * efiemu/mm.c: Likewise.
16449 * efiemu/pnvram.c: Likewise.
16450 * efiemu/symbols.c: Likewise.
16451 * font/font.c: Likewise.
16452 * fs/cpio.c: Likewise.
16453 * fs/hfsplus.c: Likewise.
16454 * fs/iso9660.c: Likewise.
16455 * fs/jfs.c: Likewise.
16456 * fs/minix.c: Likewise.
16457 * fs/ntfs.c: Likewise.
16458 * fs/ntfscomp.c: Likewise.
16459 * fs/reiserfs.c: Likewise.
16460 * fs/ufs.c: Likewise.
16461 * fs/xfs.c: Likewise.
16462 * gettext/gettext.c: Likewise.
16463 * include/grub/auth.h: Likewise.
16464 * kern/elf.c: Likewise.
16465 * kern/file.c: Likewise.
16466 * kern/ieee1275/init.c: Likewise.
16467 * kern/ieee1275/mmap.c: Likewise.
16468 * kern/ieee1275/openfw.c: Likewise.
16469 * kern/powerpc/dl.c: Likewise.
16470 * kern/sparc64/dl.c: Likewise.
16471 * lib/arg.c: Likewise.
16472 * loader/i386/bsd.c: Likewise.
16473 * loader/i386/bsdXX.c: Likewise.
16474 * loader/i386/efi/linux.c: Likewise.
16475 * loader/i386/efi/xnu.c: Likewise.
16476 * loader/i386/ieee1275/linux.c: Likewise.
16477 * loader/i386/linux.c: Likewise.
16478 * loader/i386/multiboot.c: Likewise.
16479 * loader/i386/pc/linux.c: Likewise.
16480 * loader/i386/pc/multiboot2.c: Likewise.
16481 * loader/i386/xnu.c: Likewise.
16482 * loader/ieee1275/multiboot2.c: Likewise.
16483 * loader/macho.c: Likewise.
16484 * loader/machoXX.c: Likewise.
16485 * loader/multiboot2.c: Likewise.
16486 * loader/multiboot_loader.c: Likewise.
16487 * loader/powerpc/ieee1275/linux.c: Likewise.
16488 * loader/sparc64/ieee1275/linux.c: Likewise.
16489 * loader/xnu.c: Likewise.
16490 * loader/xnu_resume.c: Likewise.
16491 * mmap/i386/pc/mmap.c: Likewise.
16492 * normal/menu_viewer.c: Likewise.
16493 * partmap/acorn.c: Likewise.
16494 * partmap/amiga.c: Likewise.
16495 * partmap/apple.c: Likewise.
16496 * script/lexer.c: Likewise.
16497 * term/gfxterm.c: Likewise.
16498 * term/i386/pc/serial.c: Likewise.
16499 * term/i386/pc/vga.c: Likewise.
16500 * term/ieee1275/ofconsole.c: Likewise.
16501 * term/terminfo.c: Likewise.
16502 * video/bitmap.c: Likewise.
16503 * video/efi_gop.c: Likewise.
16504 * video/efi_uga.c: Likewise.
16505 * video/fb/video_fb.c: Likewise.
16506 * video/i386/pc/vbe.c: Likewise.
16507 * video/readers/tga.c: Likewise.
16508 * video/video.c: Likewise.
16509
0ad46fd7 165102009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
16511
16512 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
16513 * commands/lspci.c: Likewise.
16514 * commands/probe.c: Likewise.
16515 * commands/xnu_uuid.c: Likewise.
16516 * conf/i386-coreboot.rmk: Likewise.
16517 * conf/i386-efi.rmk: Likewise.
16518 * conf/i386-ieee1275.rmk: Likewise.
16519 * conf/i386-pc.rmk: Likewise.
16520 * conf/powerpc-ieee1275.rmk: Likewise.
16521 * conf/sparc64-ieee1275.rmk: Likewise.
16522 * conf/x86_64-efi.rmk: Likewise.
16523 * fs/i386/pc/pxe.c: Likewise.
16524 * gettext/gettext.c: Likewise.
16525 * include/grub/efi/graphics_output.h: Likewise.
16526 * include/grub/i386/pc/memory.h: Likewise.
16527 * kern/env.c: Likewise.
16528 * kern/i386/qemu/startup.S: Likewise.
16529 * lib/i386/pc/biosnum.c: Likewise.
16530 * lib/i386/relocator.c: Likewise.
16531 * lib/i386/relocator_asm.S: Likewise.
16532 * lib/relocator.c: Likewise.
16533 * loader/i386/bsd.c: Likewise.
16534 * loader/i386/multiboot.c: Likewise.
16535 * loader/i386/pc/chainloader.c: Likewise.
16536 * loader/i386/xnu.c: Likewise.
16537 * loader/xnu.c: Likewise.
16538 * normal/main.c: Likewise.
16539 * normal/menu_text.c: Likewise.
16540 * util/getroot.c: Likewise.
16541 * util/grub-mkconfig_lib.in: Likewise.
16542 * util/grub.d/00_header.in: Likewise.
16543 * util/i386/pc/grub-mkimage.c: Likewise.
16544 * util/mkisofs/eltorito.c: Likewise.
16545 * util/mkisofs/exclude.h: Likewise.
16546 * util/mkisofs/hash.c: Likewise.
16547 * util/mkisofs/iso9660.h: Likewise.
16548 * util/mkisofs/joliet.c: Likewise.
16549 * util/mkisofs/mkisofs.c: Likewise.
16550 * util/mkisofs/mkisofs.h: Likewise.
16551 * util/mkisofs/multi.c: Likewise.
16552 * util/mkisofs/name.c: Likewise.
16553 * util/mkisofs/rock.c: Likewise.
16554 * util/mkisofs/tree.c: Likewise.
16555 * util/mkisofs/write.c: Likewise.
16556 * video/efi_gop.c: Likewise.
16557
009ec743
VS
165582009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
16559
16560 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
16561 size counting.
16562
0ad46fd7 165632009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
16564
16565 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
16566 * genmk.rb (class SCRIPT): Modify the target file instead of source.
16567
d3d30ea0
VS
165682009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
16571 (GRUB_MOD_INIT(memrw)): Update help line.
16572
a34f5c70
VS
165732009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
16576 Use grub_extcmd_t. All users updated.
16577 (options): New variable.
16578 (grub_cmd_read): Restructure for readability. Support "-v" option.
16579 (grub_cmd_write): Restructure for readability.
16580
0ad46fd7 165812009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
16582
16583 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
16584
0ad46fd7 165852009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
16586
16587 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
16588 with the actual contents of the correspondending make variable.
16589 * util/grub-mkrescue.in (pkglib_DATA): New variable.
16590 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
16591 specifying `*.lst' and `efiemu??.o'
16592
0ad46fd7 165932009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
16594
16595 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
16596 after function name.
16597 Noticed by Rene Engelhard <rene@debian.org>.
16598
dc77a799
VS
165992009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
16602 (options): New variable.
16603 (iospace): Likewise.
16604 (grub_lspci_iter): List IO spaces if "-i" was given.
16605 (grub_cmd_lspci): Parse options.
16606 (GRUB_MOD_INIT(lspci)): Use extcmd.
16607 (GRUB_MOD_FINI(lspci)): Likewise.
16608
0ad46fd7 166092009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
16610
16611 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
16612 `function' keyword.
16613 Patch by Tony Mancill <tmancill@debian.org>.
16614
b5d5993b
VS
166152009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
16618 (grub_uhci_portstatus): Likewise.
16619 (grub_uhci_portstatus): Add necessary delay.
11d18281 16620 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 16621
941903f2 166222009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 16623
941903f2 16624 * commands/acpi.c (options): Fix capitalizations and/or full stops.
16625 (GRUB_MOD_INIT): Likewise.
16626 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 16627 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
16628 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 16629 * commands/efi/loadbios.c (enable_rom_area): Likewise.
16630 (enable_rom_area): Likewise.
16631 (GRUB_MOD_INIT): Likewise.
16632 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16633 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
16634 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16635 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
16636 * commands/hexdump.c (options): Likewise.
16637 * commands/i386/cpuid.c (options): Likewise.
16638 (GRUB_MOD_INIT): Likewise.
16639 * commands/i386/pc/drivemap.c (options): Likewise.
16640 (GRUB_MOD_INIT): Likewise.
16641 * commands/i386/pc/halt (options): Likewise.
16642 (GRUB_MOD_INIT): Likewise.
16643 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16644 * commands/i386/pc/pxecmd.c (options): Likewise.
16645 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
16646 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
16647 * commands/keystatus.c (options): Likewise.
16648 (GRUB_MOD_INIT): Likewise.
16649 * commands/loadenv.c (options): Likewise.
16650 * commands/ls.c (options): Likewise.
16651 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16652 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16653 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16654 * commands/parttool.c (helpmsg): Likewise.
16655 * commands/probe.c (options): Likewise.
16656 * commands/read.c (GRUB_MOD_INIT): Likewise.
16657 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
16658 * commands/search.c (options): Likewise.
16659 * commands/sleep.c (options): Likewise.
16660 * commands/test.c (GRUB_MOD_INIT): Likewise.
16661 * commands/true.c (GRUB_MOD_INIT): Likewise.
16662 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
16663 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
16664 * lib/arg.c (help_options): Likewise.
e9bbb4e7 16665 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
16666 `$(XGETTEXT)'.
98a50553 16667 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 16668
0ad46fd7 166692009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 16670
ef3c2c3a 16671 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
16672 instead of specifying them explicit.
16673
7922f68b
RM
166742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16675
16676 * NEWS: Add grub-probe support for GNU/Hurd.
16677
537ce47f
RM
166782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16679
16680 * NEWS: gettext was added after 1.97.
16681
9b214e3a
RM
166822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16683
16684 * util/mkisofs/msdos_partition.h: New file (based on
16685 include/grub/msdos_partition.h).
16686 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
16687 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
16688 (ld_options, main): Recognize --protective-msdos-label.
16689 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
16690 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
16691 (padblock_write): If `use_protective_msdos_label' is set, patch a
16692 protective DOS-style label in the output image.
16693
16694 * util/grub-mkrescue.in: Use --protective-msdos-label.
16695
e9309813
RM
166962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16697
16698 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
16699 boot.
16700
0ae56929
RM
167012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16702
16703 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
16704 variables.
16705 (ld_options, main): Recognize `--embedded-boot'.
16706 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
16707 declarations.
16708 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
16709 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
16710 (padblock_write): Likewise. Rewrite to support embedded boot image.
16711
16712 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
16713 for BIOS-based disk boot instead of only ElTorito.
16714
b15937b1
RM
167152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16716
16717 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
16718 build (not needed for bootstrap).
16719
52cc3ce0
RM
167202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16721
16722 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
16723 from i386-pc build (not needed for bootstrap).
16724 Rewrite a pair of strings.
16725
36f5ff04
RM
167262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16727
16728 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
16729
973c6c85 167302009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
16731
16732 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
16733
05d21547
AB
167342009-12-21 Andreas Born <futur.andy@googlemail.com>
16735
16736 * kern/env.c (grub_env_context_open): Mark exported variable for
16737 reexport.
16738
0175d51f
AB
167392009-12-21 Andreas Born <futur.andy@googlemail.com>
16740
16741 * kern/env.c (grub_env_export): Create nonexistent variables before
16742 exporting.
16743
7f39d92f 167442009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 16745
7f39d92f 16746 * include/grub/auth.h: Include `<grub/i18n.h>'.
16747 (GRUB_GET_PASSWORD): Gettextizze string.
16748 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
16749 menu_text.c.
16750 (grub_utf8_to_ucs4_alloc): Fix indentation.
16751 (grub_print_ucs4): Likewise.
16752 (grub_getstringwidth): Likewise.
16753 (print_message_indented): New declaration.
16754 * normal/auth.c: Include `<grub/i18n.h>'.
16755 (grub_auth_check_authentication): Gettexttize string.
16756 * normal/cmdline.c: Include `<grub/i18n.h>'.
16757 (grub_cmdline_get): Gettextizze.
16758 * normal/color.c: Include `<grub/i18n.h>'.
16759 (grub_parse_color_name_pair): Gettexttize strings.
16760 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
16761 string (use `print_message_indented').
16762 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
16763 `include/grub/normal.h'.
16764 (print_message_indented): Renamed to ...
16765 (grub_print_message_indented): ... this. Remove `static' qualifer (now
16766 used in normal/main.c).
16767 (print_message): Use `grub_print_message_indented' instead of
16768 `print_message_indented'.
16769 (print_timeout): Likewise.
16770 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
16771 (grub_normal_print_device_info): Gettexttize strings.
16772 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
16773
3041d898
VS
167742009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
16777 of arguments. Return number of tokens and not arguments. All users
16778 updated.
16779
de15bf8e
VS
167802009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16781
16782 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
16783 non-MSDOS paritions.
16784
e0a6ca52
VS
167852009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16786
16787 * include/grub/types.h (UNUSED): Removed since it conflicts with
16788 NetBSD headers. All users changed to direct __attribute__ ((unused)).
16789 Reported by Grégoire Sutre.
16790
b99518d1 167912009-12-19 Carles Pina i Estany <carles@pina.cat>
16792
16793 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
16794 (grub_print_ucs4_alloc): Likewise.
16795 (grub_getstringwidth): Likewise.
16796 * normal/main.c (grub_normal_init_page): Gettextize version string.
16797 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
16798 (getstringwidth): Renamed to ...
16799 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
16800 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
16801 (grub_print_ucs4): Remove `static' qualifer (now used in
16802 normal/main.c).
16803 * po/POTFILES: Add normal/main.c.
16804
bfd5e52b 168052009-12-19 Carles Pina i Estany <carles@pina.cat>
16806
16807 * normal/menu_text.c (STANDARD_MARGIN): New macro.
16808 (print_message_indented): Add `margin_left' and `margin_right'
16809 parameters.
16810 (print_message): Update `print_message_indented' calls. Adds '\n' to the
16811 strings.
16812 (print_timeout): Use `print_message_indented' to print the message.
16813 Deletes `second_stage' parameter.
16814 (run_menu): Update `print_timeout' calls.
16815
5a1ad2b9
VS
168162009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 Fix console palette on OpenFirmware.
16819
16820 * term/ieee1275/ofconsole.c (MAX): Removed.
16821 (colors): Redone based on VGA palette.
16822 (grub_ofconsole_setcolor): Discard brightness bit since only 8
16823 colors are supported.
16824 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
16825
b045f00a
VS
168262009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16827
16828 Fix potential EfiEmu double prepare.
16829
16830 * efiemu/main.c (prepared): New variable
16831 (grub_efiemu_unload): Set prepare to '0'.
16832 (grub_efiemu_prepare): Return if already prepared. Set prepared.
16833
16834 set_virtual_address_map support.
16835
16836 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
16837 prototype.
16838 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
16839 prototype.
16840 (grub_efiemu_crc32): Likewise.
16841 (grub_efiemu_crc64): Likewise.
16842 (grub_efiemu_set_virtual_address_map): Likewise.
16843 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
16844 New definition.
16845 (grub_autoefi_set_virtual_address_map): Likewise.
16846 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
16847 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
16848 Restructure flow to accomodate it.
16849 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
16850 (grub_efiemu_crc): Recompute CRC32.
16851 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
16852 (efiemu_ptv_relocated): ... this. Made global. All users updated.
16853 * efiemu/symbols.c (relocated_handle): New variable.
16854 (grub_efiemu_free_syms): Free relocated_handle.
16855 (grub_efiemu_alloc_syms): Allocate relocated_handle.
16856 (grub_efiemu_write_sym_markers): New function.
16857 (grub_efiemu_set_virtual_address_map): Likewise.
16858
16859 Newer XNU parameters.
16860
16861 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
16862 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
16863 (grub_xnu_fill_devicetree): New prototype.
16864 (grub_xnu_heap_real_start): New variable.
16865 * loader/xnu.c (get_name_ptr): New function.
16866 (grub_xnu_load_driver): Fill namelen and name.
16867
16868 64-bit xnu support.
16869
16870 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
16871 and 'loader/macho64.c'.
16872 * conf/i386-pc.rmk: Likewise.
16873 * conf/x86_64-efi.rmk: Likewise.
16874 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
16875 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
16876 * include/grub/macho.h (grub_macho_segment64): New structure.
16877 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
16878 (grub_macho_size32): ... to this.
16879 (grub_macho32_get_entry_point): Renamed from ...
16880 (grub_macho_get_entry_point32): ... to this.
16881 (grub_macho_contains_macho64): New prototype.
16882 (grub_macho_size64): Likewise.
16883 (grub_macho_get_entry_point64): Likewise.
16884 (grub_macho32_load): Renamed from ...
16885 (grub_macho_load32): ... to this.
16886 (grub_macho32_filesize): Renamed from ...
16887 (grub_macho_filesize32): ... to this.
16888 (grub_macho32_readfile): Renamed from ...
16889 (grub_macho_readfile32): ... to this.
16890 (grub_macho_filesize64): New prototype.
16891 (grub_macho_readfile64): Likewise.
16892 (grub_macho_parse32): Likewise.
16893 (grub_macho_parse64): Likewise.
16894 * loader/macho.c: Split into ...
16895 * loader/machoXX.c: ... and this. Replace 32 with XX.
16896 * loader/macho32.c: New file.
16897 * loader/macho64.c: Likewise.
16898 * loader/xnu.c (grub_xnu_is_64bit): New variable.
16899 (grub_cmd_xnu_kernel): Make 32-bit only.
16900 (grub_cmd_xnu_kernel64): New function.
16901 (grub_xnu_load_driver): Support Mach-O 64.
16902 (grub_cmd_xnu_mkext): Likewise.
16903 * util/grub.d/30_os-prober.in (osx_entry): New function.
16904 Generate entries for 64-bit boot too.
16905
16906 Eliminate ad-hoc tree format in XNU and EfiEmu.
16907
16908 * efiemu/main.c (grub_efiemu_prepare): Update comment.
16909 * efiemu/pnvram.c: Rewritten to use environment variables.
16910 All users updated.
16911
16912 Inline utf16_to_utf8.
16913
16914 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
16915 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
16916 All users updated.
16917 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
16918
16919 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
16920 * commands/usbtest.c (grub_usb_get_string): ... move here.
16921 (usb_print_str): Fix error handling.
16922 * include/grub/usb.h (grub_usb_get_string): Remove.
16923
16924 UTF-8 to UTF-16 transformation.
16925
16926 * conf/common.rmk (pkglib_MODULES): Add charset.mod
16927 (charset_mod_SOURCES): New variable.
16928 (charset_mod_CFLAGS): Likewise.
16929 (charset_mod_LDFLAGS): Likewise.
16930 * include/grub/utf.h: New file.
16931 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
16932
16933 Support for device properties.
16934
16935 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
16936 (grub_xnu_devprop_device_header): Likewise.
16937 (grub_xnu_devprop_device_descriptor): Likewise.
16938 (grub_xnu_devprop_add_device): New prototype.
16939 (grub_xnu_devprop_remove_device): Likewise.
16940 (grub_xnu_devprop_remove_property): Likewise.
16941 (grub_xnu_devprop_add_property_utf8): Likewise.
16942 (grub_xnu_devprop_add_property_utf16): Likewise.
16943 (grub_cpu_xnu_init): Likewise.
16944 (grub_cpu_xnu_fini): Likewise.
16945 (grub_cpu_xnu_unload): Likewise.
16946 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
16947 (property_descriptor): Likewise.
16948 (devices): New variable.
16949 (grub_xnu_devprop_remove_property): New function.
16950 (grub_xnu_devprop_add_device): Likewise.
16951 (grub_xnu_devprop_remove_device): Likewise.
16952 (grub_xnu_devprop_add_property): Likewise.
16953 (grub_xnu_devprop_add_property_utf8): Likewise.
16954 (grub_xnu_devprop_add_property_utf16): Likewise.
16955 (hextoval): Likewise.
16956 (grub_cpu_xnu_fill_devprop): Likewise.
16957 (grub_cmd_devprop_load): Likewise.
16958 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
16959 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
16960 (cmd_devprop_load): New variable.
16961 (grub_cpu_xnu_init): New function.
16962 (grub_cpu_xnu_fini): Likewise.
16963 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
16964 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
16965 (grub_cmd_xnu_devtree): Likewise.
16966 (hextoval): New function.
16967 (unescape): Likewise.
16968 (grub_xnu_fill_devicetree): Likewise.
16969
16970 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
16971 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
16972
0945f181
VS
169732009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16974
16975 Workaround for broken ATI VBE.
16976
16977 * video/i386/pc/vbe.c (last_set_mode): New variable.
16978 (grub_vbe_set_video_mode): Set 'last_set_mode'.
16979 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
16980 (grub_video_vbe_setup): Don't check for reserved flag.
16981
0ad46fd7 169822009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
16983
16984 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
16985 the `find' command.
16986
c179ebe4
VS
169872009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 UUID support for HFS.
16990
16991 * fs/hfs.c (grub_hfs_uuid): New function.
16992 (grub_hfs_fs): New value .uuid.
16993 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
16994
0ad46fd7 169952009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
16996
16997 Fix a segfault with parsing unknown long options.
16998
16999 * util/grub-mkrelpath.c (options): Zero terminate it.
17000
c4a3e41a
CPE
170012009-12-13 Carles Pina i Estany <carles@pina.cat>
17002
17003 * include/grub/misc.h (grub_puts): New declaration.
17004 (grub_puts_): Likewise.
a22008a6 17005 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
17006 (grub_puts_): Likewise.
17007
2e8a7602
RM
170082009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17009
17010 * util/grub-probe.c (probe): Improve error message.
17011
b50b77b9
RM
170122009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17013
17014 * loader/i386/multiboot_elfxx.c
17015 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
17016 initialization.
17017
170182009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17019
17020 Relocator framework
17021
17022 * loader/i386/xnu_helper.S: Removed. All users updated.
17023 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
17024 (relocator_mod_SOURCES): New variable.
17025 (relocator_mod_CFLAGS): Likewise.
17026 (relocator_mod_LDFLAGS): Likewise.
17027 (relocator_mod_ASFLAGS): Likewise.
17028 * conf/x86_64.rmk: Likewise.
17029 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
17030 (grub_multiboot_payload_entry_offset): Likewise.
17031 (grub_multiboot_forward_relocator): Likewise.
17032 (grub_multiboot_forward_relocator_end): Likewise.
17033 (grub_multiboot_backward_relocator): Likewise.
17034 (grub_multiboot_backward_relocator_end): Likewise.
17035 (grub_multiboot_payload_eip): New variable.
17036 (grub_multiboot_payload_orig): Likewise.
17037 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
17038 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
17039 * include/grub/i386/memory.h
17040 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
17041 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
17042 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
17043 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
17044 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
17045 * include/grub/i386/relocator.h: New file.
17046 * include/grub/x86_64/relocator.h: Likewise.
17047 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
17048 (XNU_RELOCATOR): New macro.
17049 (grub_xnu_launcher_start): Remove.
17050 (grub_xnu_launcher_end): Likewise.
17051 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
17052 (grub_xnu_heap_real_start): Remove.
17053 (grub_xnu_heap_start): Change to void *. All users updated.
17054 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
17055 * lib/i386/relocator.c: New file.
17056 * lib/i386/relocator_asm.S: Likewise.
17057 * lib/i386/relocator_backward.S: Likewise.
17058 * lib/mips/relocator.c: Likewise.
17059 * lib/mips/relocator_asm.S: Likewise.
17060 * lib/relocator.c: Likewise.
17061 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
17062 (entry): Removed.
17063 (playground): Likewise.
17064 (grub_multiboot_payload_orig): New variable.
17065 (grub_multiboot_payload_dest): Likewise.
17066 (grub_multiboot_payload_size): Likewise.
17067 (grub_multiboot_payload_eip): Likewise.
17068 (grub_multiboot_payload_esp): Likewise.
17069 (grub_multiboot_boot): Use grub_relocator32_boot.
17070 (grub_multiboot_unload): Free relocators.
17071 (grub_multiboot): Setup stack. Use relocators.
17072 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
17073 (grub_multiboot_load_elfXX): Use relocators.
17074 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
17075 (grub_multiboot_payload_size): Likewise.
17076 (grub_multiboot_payload_dest): Likewise.
17077 (grub_multiboot_payload_entry_offset): Likewise.
17078 (grub_multiboot_forward_relocator): Likewise.
17079 (grub_multiboot_backward_relocator): Likewise.
17080 (grub_multiboot_real_boot): Likewise.
17081 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
17082 (grub_xnu_entry_point): Likewise.
17083 (grub_xnu_arg1): Likewise.
17084 (grub_xnu_stack): Likewise.
17085 (grub_xnu_launch): Removed.
17086 (grub_xnu_boot_resume): New function.
17087 (grub_xnu_boot): Use relocators.
17088 * loader/i386/xnu_helper.S: Removed.
17089 * loader/xnu.c (grub_xnu_heap_start): New variable.
17090 (grub_xnu_heap_size): Likewise.
17091 (grub_xnu_heap_malloc): Use relocators.
17092 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
17093
29eb90c6
VS
170942009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17095
17096 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
17097 anything.
17098
31027430
CPE
170992009-12-13 Carles Pina i Estany <carles@pina.cat>
17100
17101 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
17102 GRUB_ERR_NONE before calling grub_env_set.
17103
dc0c71d9
RM
171042009-12-12 Robert Millan <rmh@aybabtu.com>
17105
17106 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
17107 * genmk.rb (video): New variable.
17108 (CLEANFILES, VIDEOFILES): Add #{video}.
17109 (#{video}): New target rule.
17110 * genvideolist.sh: New file.
17111 * Makefile.in (pkglib_DATA): Add video.lst.
17112 (video.lst): New target rule.
17113 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
17114 `video.lst'.
17115 * util/grub.d/30_os-prober.in: Replace `vbe' with
17116 ${GRUB_VIDEO_BACKEND}.
17117
2a4bfcf0
RM
171182009-12-11 Robert Millan <rmh.grub@aybabtu.com>
17119
17120 * THANKS: Add David Miller.
17121
2a3aa4d5
RM
171222009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
17123
17124 libpciaccess support.
17125
17126 * Makefile.in (LIBPCIACCESS): New variable.
17127 (enable_grub_emu_pci): Likewise.
17128 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
17129 util/pci.c and commands/lspci.c.
17130 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
17131 * configure.ac (grub-emu-pci): New option.
17132 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
17133 (grub_pci_device_unmap_range): Likewise.
17134 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
17135 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
17136 (grub_pci_address_t) [!GRUB_UTIL]: New type.
17137 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
17138 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
17139 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
17140 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
17141 * include/grub/pciutils.h: New file.
17142 * util/pci.c: Likewise.
17143
0ad46fd7 171442009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
17145
17146 * util/misc.c: Don't include <errno.h> twice.
17147
0ad46fd7 171482009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
17149
17150 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
17151 name in an error message.
17152 (grub_biosdisk_rw): Likewise.
17153
2e59983c
VS
171542009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17155
17156 Eliminate NTFS 4Gib barrier.
17157
17158 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
17159 (read_run_data): Likewise.
17160 (grub_ntfs_read_run_list): Likewise.
17161 (grub_ntfs_read_block): Likewise.
17162 (grub_ntfs_iterate_dir): Likewise.
17163 (read_mft): Likewise.
17164 (read_data): Likewise.
17165 Use COM_LOG_LEN.
17166 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
17167 to avoid 64-bit division
17168 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
17169 (grub_ntfs_rlst): Use grub_disk_addr_t.
17170
71ee178a
VS
171712009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17172
17173 Eliminate grub-fstest 4Gib barrier.
17174
17175 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
17176 (read_file): Fix error reporting.
17177
2520d4b8
VS
171782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 Eliminate hexdump 4Gib barrier.
17181
17182 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
17183 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
17184
e1f27065
VS
171852009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17186
17187 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
17188 Fixes amarsh bug.
17189
1a0f7f45
RM
171902009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
17191
17192 Remove miscellaneous files in distclean target.
17193
17194 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
17195
c631d9fb
CW
171962009-12-09 Colin Watson <cjwatson@ubuntu.com>
17197
17198 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
17199 if they're already set. This resolves the conflict between my
17200 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
17201 fixing the --grub-probe option again.
17202 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
17203 change on 2009-10-06, so that we now once again source
17204 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17205
7c7b6106
RM
172062009-12-08 Robert Millan <rmh.grub@aybabtu.com>
17207
17208 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
17209 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
17210 `util/devicemap.c'.
17211
e3069ec1
CPE
172122009-12-08 Carles Pina i Estany <carles@pina.cat>
17213
17214 * include/grub/misc.h (grub_printf_): New declaration.
17215 * kern/misc.c (grub_printf_): New definition.
17216 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
17217 instead of `grub_printf' and `_'.
17218 * normal/menu_entry.c (store_completion): Likewise.
17219 (run): Likewise.
17220 (grub_menu_entry_run): Likewise.
17221 * normal/menu_text.c (grub_wait_after_message): Likewise.
17222 (notify_booting): Likewise.
17223 (notify_fallback): Likewise.
17224 (notify_execution_failure): Likewise.
17225
d6ceebf1
CW
172262009-12-07 Colin Watson <cjwatson@ubuntu.com>
17227
17228 * configure.ac: Check for vasprintf.
17229 * util/misc.c (asprintf): Move allocation from here ...
17230 (vasprintf): ... to here. New function.
17231 (xasprintf): New function.
17232 * include/grub/util/misc.h (vasprintf, xasprintf): Add
17233 prototypes.
17234 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17235 * util/grub-mkfont.c (write_font): Likewise.
17236 * util/grub-probe.c (probe): Likewise.
17237 * util/hostdisk.c (make_device_name): Likewise.
17238
de6daa8b
DM
172392009-12-06 David S. Miller <davem@sunset.davemloft.net>
17240
17241 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
17242 anything even prefixed with 'cdrom' as a cdrom.
17243
0ad46fd7 172442009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
17245
17246 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
17247 mount points.
17248
98d3dc02
CPE
172492009-12-05 Carles Pina i Estany <carles@pina.cat>
17250
17251 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
17252 grub_gettext_msg_list.
17253 (grub_gettext_gettranslation_from_position): Return const char *
17254 and not char *.
a2c1332b 17255 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
17256 returns from the list if existing there.
17257 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
17258 (grub_gettext_delete_list): Delete the list.
17259 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
17260 lang environment variable is changed.
17261 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
17262
b283f108
VS
172632009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17264
17265 Rename kernel.mod to kernel.img.
17266
17267 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
17268 (kernel_mod_EXPORTS): Rename to ...
17269 (kernel_img_EXPORTS): ... this.
17270 (kernel_mod_SOURCES): Rename to ...
17271 (kernel_img_SOURCES): ... this.
17272 (kernel_mod_HEADERS): Rename to ...
17273 (kernel_img_HEADERS): ... this. All users updated.
17274 (kernel_mod_CFLAGS): Rename to ...
17275 (kernel_img_CFLAGS): ... this.
17276 (kernel_mod_ASFLAGS): Rename to ...
17277 (kernel_img_ASFLAGS): ... this.
17278 (kernel_mod_LDFLAGS): Rename to ...
17279 (kernel_img_LDFLAGS): ... this.
17280 * conf/x86_64-efi.rmk: Likewise.
17281 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
17282 (read_kernel_image): ... this. All users updated.
17283 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
17284
69055f8a
CPE
172852009-12-05 Carles Pina i Estany <carles@pina.cat>
17286
17287 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
17288 (print_spaces): New function.
17289 (grub_print_ucs4): New function.
17290 (getstringwidth): New function.
17291 (print_message_indented): New function.
17292 (print_message): Gettexttize strings using print_message_indented.
17293 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
17294 width.
17295 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 17296 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
17297 Gettextize.
17298 * normal/menu_entry.c (store_completion): Cleanup the gettextized
17299 string.
17300 (run): Likewise.
17301 (grub_menu_entry_run): Likewise.
17302 * PO/POTFILES: Add normal/menu_entry.c.
17303
f616f51c
VS
173042009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17305
17306 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
17307
57bbe3be
CPE
173082009-12-05 Carles Pina i Estany <carles@pina.cat>
17309
17310 * util/grub-install.in: Install gettext .mo files.
17311 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
17312
013d67a1
CPE
173132009-12-05 Carles Pina i Estany <carles@pina.cat>
17314
17315 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
17316 grub_dprintf.
17317
fb954db0
RM
173182009-12-05 Robert Millan <rmh.grub@aybabtu.com>
17319
17320 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
17321 non-firmware-dependant one in realmode.S takes precedence.
17322
6b8474f8
RM
173232009-12-04 Robert Millan <rmh.grub@aybabtu.com>
17324
17325 * commands/halt.c: Replace misc arch-specific headers with
17326 `<grub/misc.h>'.
17327 * commands/reboot.c: Likewise.
17328 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
17329 `<grub/misc.h>'.
17330 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
17331 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
17332 (kernel_img_SOURCES): ... to here.
17333
17334 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
17335 * include/grub/i386/pc/init.h: Likewise.
17336 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17337 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17338
17339 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
17340
17341 * include/grub/i386/halt.h: Remove.
17342 * include/grub/i386/reboot.h: Likewise.
17343
17344 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
17345
4b2e6ca2
DM
173462009-12-03 David S. Miller <davem@sunset.davemloft.net>
17347
17348 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
17349 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
17350 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
17351 "progname.h"
17352 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17353 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17354 (usage): Add missing comma in printf.
17355
5239348f
RM
173562009-12-02 Robert Millan <rmh.grub@aybabtu.com>
17357
17358 Use the same reboot approach on i386 coreboot and qemu as we do on
17359 BIOS.
17360
17361 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
17362 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
17363 * kern/i386/reboot.c: Remove.
17364 * include/grub/i386/reboot.h (grub_reboot): Export function.
17365 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
17366 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
17367 0xf000:0xfff0 instead of 0xffff:0x0000.
17368 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
17369 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
17370
ef34cbd4
RM
173712009-11-30 Robert Millan <rmh.grub@aybabtu.com>
17372
17373 Fix $srcdir != $objdir build.
17374
17375 * Makefile.in (po/%.po): Rewrite as ...
17376 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
17377
dc9837ea
ST
173782009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
17379
17380 Fix GNU/Hurd grub-install crash.
17381 * util/grub-probe.c (probe): Try to access `path' only when it is not
17382 NULL.
17383
2f857f98
VS
173842009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17385
17386 Correct module naming.
17387
17388 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17389 (GRUB_MOD_INIT(efi_uga)): ... to this
17390 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17391 (GRUB_MOD_FINI(efi_uga)): ... to this
17392 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17393 (GRUB_MOD_INIT(efi_gop)): ... to this
17394 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17395 (GRUB_MOD_FINI(efi_gop)): ... to this
17396
c5448046
RM
173972009-11-28 Robert Millan <rmh.grub@aybabtu.com>
17398
17399 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
17400 translatable.
17401 (usage): Translate `arg' strings using gettext().
17402 Thanks to Jordi Mallach for the suggestion.
17403
c85184ad
VS
174042009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17405
17406 GOP support. Based on patch from Bean
17407 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17408
17409 * video/efi_gop.c: New file.
17410 * include/grub/efi/graphics_output.h: Likewise.
17411 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
17412 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17413 variables.
17414 * conf/x86_64-efi.rmk: Likewise.
17415
8a4c48d8
VS
174162009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 Rename efi_fb to efi_uga.
17419
17420 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17421 'efi_uga.mod'.
17422 (efi_fb_mod_SOURCES): Rename this ...
17423 (efi_uga_mod_SOURCES): ... to this.
17424 (efi_fb_mod_CFLAGS): Rename this ...
17425 (efi_uga_mod_CFLAGS): ... to this.
17426 (efi_fb_mod_LDFLAGS): Rename this ...
17427 (efi_uga_mod_LDFLAGS): ... to this.
17428 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17429 'efi_uga.mod'.
17430 (efi_fb_mod_SOURCES): Rename this ...
17431 (efi_uga_mod_SOURCES): ... to this.
17432 (efi_fb_mod_CFLAGS): Rename this ...
17433 (efi_uga_mod_CFLAGS): ... to this.
17434 (efi_fb_mod_LDFLAGS): Rename this ...
17435 (efi_uga_mod_LDFLAGS): ... to this.
17436 * video/efi_fb.c: Move this ...
17437 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
17438
fb6c1a7b
RM
174392009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17440
17441 * po/README: New file. Explain our PO file workflow.
17442
3bc7896c
RM
174432009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17444
17445 * po/ChangeLog: Remove. Move relevant entries back to ...
17446 * ChangeLog: ... here.
17447 * po/ca.po: Remove (now handled by TLP).
17448 * po/id.po: Likewise.
17449 * po/zh_CN.po: Likewise.
17450 * Makefile.in (LINGUAS): Initialize in a way that supports
17451 empty set.
17452
9ed4841d
RM
174532009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17454
17455 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
17456 reliing on po/LINGUAS.
17457 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
17458 (po/%.po): ... this.
17459
0ad46fd7 174602009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
17461
17462 * util/i386/efi/grub-mkimage.c: Include "progname.h".
17463 (main): Use `program_name' instead of nonexistent `progname'.
17464
e30dd392
FZ
174652009-11-26 Felix Zielcke <fzielcke@z-51.de>
17466
17467 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17468 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
17469
7656de4f
RM
174702009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17471
17472 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
17473 commit.
17474 * conf/i386-efi.rmk: Likewise.
17475 * conf/i386-ieee1275.rmk: Likewise.
17476 * conf/powerpc-ieee1275.rmk: Likewise.
17477 * conf/sparc64-ieee1275.rmk: Likewise.
17478 * conf/x86_64-efi.rmk: Likewise.
17479
db77c4d4
FZ
174802009-11-26 Felix Zielcke <fzielcke@z-51.de>
17481
17482 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
17483
a755bb04
FZ
174842009-11-26 Felix Zielcke <fzielcke@z-51.de>
17485
17486 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
17487
8a4c07fd
RM
174882009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17489
17490 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
17491 (grub_mkdevicemap_SOURCES): New variable.
17492 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
17493 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
17494 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
17495 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
17496 (grub_mkdevicemap_SOURCES): Remove.
17497 * conf/i386-efi.rmk: Likewise.
17498 * conf/i386-ieee1275.rmk: Likewise.
17499 * conf/i386-pc.rmk: Likewise.
17500 * conf/powerpc-ieee1275.rmk: Likewise.
17501 * conf/sparc64-ieee1275.rmk: Likewise.
17502 * conf/x86_64-efi.rmk: Likewise.
17503 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
17504 (usage): Fix strings to use `program_name'.
17505 (main): Initialize gettext.
17506 * util/grub-editenv.c: Likewise.
17507 * util/grub-emu.c: Likewise.
17508 * util/grub-fstest.c: Likewise.
17509 * util/grub-mkdevicemap.c: Likewise.
17510 * util/grub-mkfont.c: Likewise.
17511 * util/grub-mkrelpath.c: Likewise.
17512 * util/grub-pe2elf.c: Likewise.
17513 * util/grub-probe.c: Likewise.
17514 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17515 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17516 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17517
17518 * util/misc.c: Include `"progname.h"'.
17519 (progname): Remove variable.
17520 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
17521
6f61ed55
FZ
175222009-11-25 Felix Zielcke <fzielcke@z-51.de>
17523
17524 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
17525 printf and print a newline after the menuentry header line.
17526 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17527
f022876b
FZ
175282009-11-25 Felix Zielcke <fzielcke@z-51.de>
17529
17530 autoconf >= 2.60 support $(localedir).
17531
17532 * INSTALL: Note that autoconf 2.60 is required.
17533 * configure.ac (AC_PREREQ): Bump to 2.60.
17534 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
17535 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17536
6717926e
YB
175372009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
17538
17539 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
17540 aclocal is run.
17541
08806a54
RM
175422009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17543
17544 * normal/main.c (grub_normal_read_line): Fix off-by-one
17545 buffer overflow.
17546
13b33fba
RM
175472009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17548
17549 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
17550 "parser.grub" in grub_command_execute() call.
17551
4a8572e9
CPE
175522009-11-24 Carles Pina i Estany <carles@pina.cat>
17553
17554 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
17555 * conf/i386-efi.rmk: Likewise.
17556 * conf/i386-ieee1275.rmk: Likewise.
17557 * conf/i386-pc.rmk: Likewise.
17558 * conf/powerpc-ieee1275.rmk: Likewise.
17559 * conf/sparc64-ieee1275.rmk: Likewise.
17560 * conf/x86_64-efi.rmk: Likewise.
17561 * gettext/gettex.c: Include <grub/i18n.h>.
17562 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
17563 here ...
17564 * include/grub/i18n.h: ... to here
17565 * include/grub/i18n.h: ... to here.
17566 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 17567 (grub_gettext_dummy): Move above user.
4a8572e9 17568
bee48093
FZ
175692009-11-24 Felix Zielcke <fzielcke@z-51.de>
17570
17571 * util/Makefile.in (install-local): Convert a `for' into a normal
17572 shell expansion.
17573
a031e91c
RM
175742009-11-24 Robert Millan <rmh.grub@aybabtu.com>
17575
17576 * autogen.sh: Add automake call.
17577 * config.guess: Remove.
17578 * config.sub: Likewise.
17579 * install-sh: Likewise.
17580
26bec39d
FZ
175812009-11-24 Felix Zielcke <fzielcke@z-51.de>
17582
17583 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
17584
8e2532fd
FZ
175852009-11-24 Felix Zielcke <fzielcke@z-51.de>
17586
17587 * util/Makefile.in (install-local): Convert a make `$(foreach)'
17588 function to a normal shell `for'.
17589
fefa1b7d
FZ
175902009-11-24 Felix Zielcke <fzielcke@z-51.de>
17591
17592 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17593
4501250b
FZ
175942009-11-24 Felix Zielcke <fzielcke@z-51.de>
17595
17596 * util/grub-mkrelpath.c: New file.
17597 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
17598 (grub_mkrelpath_SOURCES): New variable.
17599 * include/grub/util/misc.h: New function prototype.
17600 * util/misc.c (make_system_path_relative_to_its_root): New function.
17601
17602 * util/grub-mkconfig_lib.in (bindir): New variable.
17603 (grub_mkrelpath): Likewise.
17604 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
17605
17606 * util/probe.c (probe): Make the file path relative to its root.
17607 Change a info message to use the GRUB path. Enable again the
17608 check if we can read the file with GRUB facilities.
17609
17610 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
17611 to its root.
17612
11d9778b
FZ
176132009-11-24 Felix Zielcke <fzielcke@z-51.de>
17614
17615 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
17616 platform.
17617
4465287d
FZ
176182009-11-24 Felix Zielcke <fzielcke@z-51.de>
17619
17620 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
17621 strncmp().
17622
62b47f22
FZ
176232009-11-24 Felix Zielcke <fzielcke@z-51.de>
17624
17625 * util/getroot.c (grub_util_is_dmraid): New function.
17626 (grub_util_get_dev_abstraction): Treat dmraid and multipath
17627 devices as normal ones, not as LVM.
17628
1eafb9b9 176292009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
17630
17631 * conf/common.rmk: Add grub-gettext_lib target and updates
17632 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
17633 LDFLAGS.
17634 * gettext/gettext.c: New file. (Reads mo files).
17635 * include/grub/file.h (grub_file_pread): New prototype.
17636 * include/grub/i18n.h (_): New prototype.
17637 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
17638 prototypes.
17639 * kern/misc.c (grub_gettext_dummy): New function.
17640 * normal/menu_text.c: Include <grub/i18n.h>.
17641 * normal/menu_text.c (print_timeout): Gettexttize string.
17642 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
17643 * po/POTFILES: Add `normal/menu_text.c'.
17644 * po/ca.po: Add new translations.
c3ea6bd4
CPE
17645 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
17646 gettext module and defines locale_dir and lang in grub.cfg.
17647 * NEWS: Add gettext support.
17648
0fdb2568
RM
176492009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17650
17651 * util/hostdisk.c: Include `<grub/i18n.h>'.
17652 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
17653 (make_device_name): Rewrite using asprintf.
17654 (convert_system_partition_to_system_disk): Replace 0 with NULL.
17655 (find_system_device): If a device is not found, generate one just
17656 by reusing the OS path name.
17657 (read_device_map): Make it permissible for device.map not to exist.
17658
f515aa62
RM
176592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17660
17661 * script/sh/execute.c: Move from here ...
17662 * script/execute.c: ... to here. Update all users.
17663 * script/sh/function.c: Move from here ...
17664 * script/function.c: ... to here. Update all users.
17665 * script/sh/lexer.c: Move from here ...
17666 * script/lexer.c: ... to here. Update all users.
17667 * script/sh/main.c: Move from here ...
17668 * script/main.c: ... to here. Update all users.
17669 * script/sh/parser.y: Move from here ...
17670 * script/parser.y: ... to here. Update all users.
17671 * script/sh/script.c: Move from here ...
17672 * script/script.c: ... to here. Update all users.
17673
f84b481b
RM
176742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17675
17676 * configure.ac: Detect all `emu' platforms. Define
17677 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
17678 --enable-grub-emu logic. Disable include/grub/machine
17679 symlink on `emu' platforms.
17680
17681 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
17682 * gensymlist.sh.in: Likewise.
17683
17684 * include/grub/i386/coreboot/machine.h: Remove file.
17685 * include/grub/i386/efi/machine.h: Likewise.
17686 * include/grub/i386/ieee1275/machine.h: Likewise.
17687 * include/grub/i386/pc/machine.h: Likewise.
17688 * include/grub/i386/qemu/machine.h: Likewise.
17689 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17690 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17691 * include/grub/x86_64/efi/machine.h: Likewise.
17692
17693 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
17694 * commands/halt.c: Likewise.
17695 * commands/reboot.c: Likewise.
17696 * include/grub/autoefi.h: Likewise.
17697 * include/grub/i386/at_keyboard.h: Likewise.
17698 * include/grub/i386/kernel.h: Likewise.
17699 * include/grub/i386/loader.h: Likewise.
17700 * include/grub/i386/pc/memory.h: Likewise.
17701 * kern/dl.c: Likewise.
17702 * kern/i386/coreboot/init.c: Likewise.
17703 * loader/i386/bsd.c: Likewise.
17704 * loader/i386/linux.c: Likewise.
17705 * loader/multiboot_loader.c: Likewise.
17706 * term/i386/pc/serial.c: Likewise.
17707 * term/usb_keyboard.c: Likewise.
17708
17709 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
17710 `<grub/machine/machine.h>'
17711 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
17712 * util/misc.c: Remove `<grub/machine/machine.h>' and
17713 `<grub/machine/time.h>'.
17714
17715 * Makefile.in (enable_grub_emu): Remove variable.
17716 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
17717
17718 * conf/any-emu.rmk: New file.
17719 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
17720 (grub_emu_init.c): Move from here ...
17721 * conf/any-emu.rmk: ... to here.
17722
17723 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
17724 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
17725 * conf/any-emu.rmk: ... to here.
17726
4efeab03
RM
177272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17728
17729 * include/grub/parser.h (grub_parser_register): Document need
17730 of `name' parameter.
17731 * normal/main.c (grub_normal_read_line): Simplify prompt string.
17732 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
17733 "sh" to "grub".
17734
ea1dd8bf
RM
177352009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17736
17737 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
17738 `$(XGETTEXT)'.
17739 * include/grub/i18n.h (N_): New macro.
17740 * util/mkisofs/mkisofs.h: Likewise.
17741 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
17742 around N_().
17743 (usage): Use gettext() to translate help strings when printing them.
17744
0c140626
RM
177452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17746
17747 Based on patch from Bean
17748 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17749
17750 * video/efi_fb.c: New file.
17751 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
17752 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17753 variables.
17754 * conf/x86_64-efi.rmk: Likewise.
17755
87d58298
RM
177562009-11-22 Robert Millan <rmh.grub@aybabtu.com>
17757
17758 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
17759 * util/i386/pc/grub-setup.c: Likewise.
17760
994cc3a3
ST
177612009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17762
17763 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
17764 <hurd/fs.h>
17765 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
17766 file_get_storage_info to implement grub_guess_root_device.
17767
26a61d6a
FZ
177682009-11-21 Felix Zielcke <fzielcke@z-51.de>
17769
17770 * Makefile.in (target): Use make's builtin $(shell) function
17771 instead of calling directly $(SHELL) to create the locale directories,
17772 inside the $(foreach) function.
17773
74ff1dd5
FZ
177742009-11-21 Felix Zielcke <fzielcke@z-51.de>
17775
17776 * util/grub-mkrescue.in: Print an error and usage if output option
17777 has not been given.
17778
0b787d0e
FZ
177792009-11-21 Felix Zielcke <fzielcke@z-51.de>
17780
17781 Patch from Loïc Minier <loic.minier@ubuntu.com>.
17782 * util/grub.d/30_os-prober.in: Cope with Linux entries where
17783 root and /boot are on different devices.
17784
1164b270
RM
177852009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17786
17787 Fix build for srcdir != objdir.
17788
17789 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
17790 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
17791 $(srcdir).
17792 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
17793 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
17794 reference for input.
17795
13774a2f
RM
177962009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17797
17798 * util/grub-mkrescue.in: Use source directory direcly (without copiing
17799 or hardlinking it). Remove -J option, Joliet is not compatible with
17800 multiple source directories.
17801
efda854e
RM
178022009-11-21 Carles Pina i Estany <carles@pina.cat>
178032009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17804
17805 * util/grub-mkrescue.in: Recognize `--override-directory' option.
17806 (process_input_dir): New function. Process an arbitrary input
17807 directory.
17808 Misc adjustments to support both "override mode" and system-wide mode.
17809
6c09890c
FZ
178102009-11-20 Felix Zielcke <fzielcke@z-51.de>
17811
17812 * configure.ac (UNIFONT_BDF): Rename to ...
17813 (FONT_SOURCE): ... this. Update all users.
17814
a797824f
FZ
178152009-11-20 Felix Zielcke <fzielcke@z-51.de>
17816
17817 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
17818 to the list of unifont files to look for.
17819
cd4f42b0
RM
178202009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17821
17822 Patch from Joe Auricchio <jauricchio@gmail.com>
17823 * commands/minicmd.c (grub_mini_cmd_clear): New function.
17824 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
17825 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
17826
393c783d
FZ
178272009-11-19 Felix Zielcke <fzielcke@z-51.de>
17828
17829 * Makefile.in (install-local): Add a missing backslash.
17830
b2f1e327
FZ
178312009-11-19 Felix Zielcke <fzielcke@z-51.de>
17832
17833 * include/grub/x86_64/io.h: New file.
17834
f577f7a0
RM
178352009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17836
17837 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
17838 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
17839 Include `"progname.h"'.
17840 (main): Initialize gettext.
17841 * util/i386/pc/grub-setup.c: Gettexttize.
17842 * util/i386/pc/grub-mkimage.c: Likewise.
17843
17844 * Makefile.in (po/*.po): Redefine as ...
17845 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
17846
3bc7896c
RM
17847 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
17848
c37943b6
RM
178492009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17850
17851 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
17852 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
17853 (program_name): Remove.
17854 (main): Initialize gettext support.
6323f705
RM
17855 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
17856 Include `<libintl.h>'.
17857 (_): New macro.
c37943b6
RM
17858
17859 * util/mkisofs/eltorito.c: Gettexttize.
17860 * util/mkisofs/joliet.c: Likewise.
17861 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
17862 * util/mkisofs/multi.c: Likewise.
17863 * util/mkisofs/rock.c: Likewise.
17864 * util/mkisofs/tree.c: Likewise.
17865 * util/mkisofs/write.c: Likewise.
17866
3bc7896c
RM
17867 * po/POTFILES: Update with new files.
17868
5ce77c6e
RM
178692009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17870
17871 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
17872 * util/mkisofs/iso9660.h: Likewise.
17873 * util/mkisofs/joliet.c: Likewise.
17874 * util/mkisofs/mkisofs.c: Likewise.
17875 * util/mkisofs/mkisofs.h: Likewise.
17876 * util/mkisofs/rock.c: Likewise.
17877 * util/mkisofs/tree.c: Likewise.
17878 * util/mkisofs/write.c: Likewise.
17879
17880 * util/mkisofs/eltorito.c (rcsid): Remove.
17881 * util/mkisofs/hash.c: Likewise.
17882 * util/mkisofs/joliet.c: Likewise.
17883 * util/mkisofs/name.c: Likewise.
17884 * util/mkisofs/rock.c: Likewise.
17885 * util/mkisofs/tree.c: Likewise.
17886 * util/mkisofs/write.c: Likewise.
17887
1dabbc77
RM
178882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17889
17890 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
17891 instead of static allocation.
17892 * util/mkisofs/match.h: Likewise.
17893
633877cb
RM
178942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17895
3bc7896c
RM
17896 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
17897 and `util/grub.d/10_linux.in'.
633877cb
RM
17898 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
17899 translatable Shell files.
17900
af1c0c85
RM
179012009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17902
17903 * Makefile.in ($(srcdir)/aclocal.m4): New target.
17904
769ae37b
RM
179052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17906
17907 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 17908 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
17909 * util/grub.d/10_kfreebsd.in (bindir): New variable.
17910 Add gettext initialization.
17911 (kfreebsd_entry): Make menuentry output translatable.
17912
179132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17914
17915 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
17916 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
17917 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
17918 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
17919 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 17920 * po/LINGUAS: New file.
769ae37b
RM
17921
179222009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17923
17924 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
17925 other things).
17926 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
17927 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
17928 bindtextdomain() calls for gettext initialization.
17929
179302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17931
17932 * gnulib/progname.c: New file (imported from Gnulib).
17933 * gnulib/progname.h: Likewise.
17934 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17935 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
17936 (usage): Replace `progname' with `program_name'.
17937 (main): Use set_program_name() for program name initialization.
17938
179392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17940
17941 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
17942 from here ...
17943 * Makefile.in (CPPFLAGS): ... to here.
17944
179452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17946
17947 * aclocal.m4: Move from here ...
17948 * acinclude.m4: ... to here.
17949 * autogen.sh: Add call to `aclocal'.
17950 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
17951
179522009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17953
17954 * Makefile.in (CLEANFILES): Add `po/*.mo'.
17955 (LINGUAS): New variable.
17956 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
17957 (install-local): Install MO files.
17958 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
17959 * include/grub/i18n.h: New file.
3bc7896c
RM
17960 * po/POTFILES: New file.
17961 * po/ca.po: New file.
769ae37b
RM
17962 * util/grub.d/10_linux.in (bindir): New variable.
17963 Add gettext initialization.
17964 (linux_entry): Make menuentry output translatable.
17965 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
17966 (usage): Make --help output translatable.
17967 (main): Initialize gettext.
17968
02c0a6ad
RM
179692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17970
17971 * import_gcry.py: New file (written by Vladimir with minor
17972 adjustments).
17973 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
17974 ciphers.
17975 * INSTALL: Document that Python is required for bootstrap.
17976
179772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17978
17979 Import ciphers from libgcrypt 1.4.4.
17980
17981 * lib/libgcrypt/cipher/ChangeLog
17982 * lib/libgcrypt/cipher/ac.c
17983 * lib/libgcrypt/cipher/arcfour.c
17984 * lib/libgcrypt/cipher/bithelp.h
17985 * lib/libgcrypt/cipher/blowfish.c
17986 * lib/libgcrypt/cipher/camellia-glue.c
17987 * lib/libgcrypt/cipher/camellia.c
17988 * lib/libgcrypt/cipher/camellia.h
17989 * lib/libgcrypt/cipher/cast5.c
17990 * lib/libgcrypt/cipher/cipher.c
17991 * lib/libgcrypt/cipher/crc.c
17992 * lib/libgcrypt/cipher/des.c
17993 * lib/libgcrypt/cipher/dsa.c
17994 * lib/libgcrypt/cipher/ecc.c
17995 * lib/libgcrypt/cipher/elgamal.c
17996 * lib/libgcrypt/cipher/hash-common.c
17997 * lib/libgcrypt/cipher/hash-common.h
17998 * lib/libgcrypt/cipher/hmac-tests.c
17999 * lib/libgcrypt/cipher/md.c
18000 * lib/libgcrypt/cipher/md4.c
18001 * lib/libgcrypt/cipher/md5.c
18002 * lib/libgcrypt/cipher/primegen.c
18003 * lib/libgcrypt/cipher/pubkey.c
18004 * lib/libgcrypt/cipher/rfc2268.c
18005 * lib/libgcrypt/cipher/rijndael-tables.h
18006 * lib/libgcrypt/cipher/rijndael.c
18007 * lib/libgcrypt/cipher/rmd.h
18008 * lib/libgcrypt/cipher/rmd160.c
18009 * lib/libgcrypt/cipher/rsa.c
18010 * lib/libgcrypt/cipher/seed.c
18011 * lib/libgcrypt/cipher/serpent.c
18012 * lib/libgcrypt/cipher/sha1.c
18013 * lib/libgcrypt/cipher/sha256.c
18014 * lib/libgcrypt/cipher/sha512.c
18015 * lib/libgcrypt/cipher/tiger.c
18016 * lib/libgcrypt/cipher/twofish.c
18017 * lib/libgcrypt/cipher/whirlpool.c
18018
af2f93ac
RM
180192009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18020
18021 Fix build for systems without error().
18022
18023 * gnulib/error.c: New file (imported from Gnulib).
18024 * gnulib/error.h: Likewise.
18025 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
18026 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
18027 (this variable is now used by error()).
18028
73fb3dd5
FZ
180292009-11-16 Felix Zielcke <fzielcke@z-51.de>
18030
814f5e96
FZ
18031 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
18032 instead of relying that char is signed.
73fb3dd5 18033
a691ca33
VS
180342009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18035
18036 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
18037 blocksize different from specified.
18038 (grub_pxefs_read): Likewise.
18039
2af8f0f4
FZ
180402009-11-16 Felix Zielcke <fzielcke@z-51.de>
18041
18042 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
18043
18044 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
18045 (grub_ata_readwrite): Likewise. Update 2 format strings.
18046 (grub_atapi_read): Likewise.
18047
18048 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
18049 * conf/i386.rmk (pkglib_MODULES): ... to here ...
18050 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
18051 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
18052 (ata_mod_LDFLAGS): Move from here ...
18053 * conf/i386.rmk: ... to here ...
18054 * conf/x86_64-efi.rmk: ... and here.
18055 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
18056 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
18057
83bdecaf
RM
180582009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18059
18060 Relicense multiboot.h, with RMS' blessing.
18061
18062 * include/multiboot.h: Change to X11 license.
18063
fd6fd3d7
RM
180642009-11-15 Robert Millan <rmh.grub@aybabtu.com>
18065
18066 Support --version in grub-mkisofs.
18067
18068 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
18069 (OPTION_VERSION): New macro.
18070 (ld_options): Recognize --version.
18071 (usage): Move `program_name' from here ...
18072 (program_name): ... to here. Add `static' qualifier.
18073 (main): Recognize `OPTION_VERSION'.
18074
16a88c49
FZ
180752009-11-15 Felix Zielcke <fzielcke@z-51.de>
18076
18077 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
18078 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
18079
a4158476
RM
180802009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18081
18082 Fix help2man generation for mkisofs.
18083
18084 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
18085 (usage): Send output to stdout (rather than stderr).
18086
fc2208b0
RM
180872009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18088
18089 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
18090 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18091 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
18092 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18093 (bin_SCRIPTS): Add `grub-mkfloppy'.
18094 (grub_mkfloppy_SOURCES): New variable.
18095
18096 * util/grub-mkrescue.in: New file.
18097 * util/i386/pc/grub-mkfloppy.in: New file.
18098
18099 * util/i386/coreboot/grub-mkrescue.in: Remove.
18100 * util/i386/pc/grub-mkrescue.in: Remove.
18101
8d0edf4a
RM
181022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18103
18104 * include/grub/multiboot.h (struct grub_multiboot_header): Move
18105 from here ...
18106 * include/multiboot.h (struct multiboot_header): ... to here. Update
18107 all users.
18108 * include/grub/multiboot.h (struct grub_multiboot_info): Move
18109 from here ...
18110 * include/multiboot.h (struct multiboot_info): ... to here. Update
18111 all users.
18112 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
18113 from here ...
18114 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
18115 Update all users.
18116 * include/grub/multiboot.h (struct grub_mod_list): Move
18117 from here ...
18118 * include/multiboot.h (struct multiboot_mod_list): ... to here.
18119 Update all users.
18120
a73f5969
RM
181212009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18122
18123 * include/multiboot2.h (multiboot_word): Rename from this ...
18124 (multiboot2_word): ... to this. Update all users.
18125 (multiboot_header): Rename from this ...
18126 (multiboot2_header): ... to this. Update all users.
18127 (multiboot_tag_header): Rename from this ...
18128 (multiboot2_tag_header): ... to this. Update all users.
18129 (multiboot_tag_start): Rename from this ...
18130 (multiboot2_tag_start): ... to this. Update all users.
18131 (multiboot_tag_name): Rename from this ...
18132 (multiboot2_tag_name): ... to this. Update all users.
18133 (multiboot_tag_module): Rename from this ...
18134 (multiboot2_tag_module): ... to this. Update all users.
18135 (multiboot_tag_memory): Rename from this ...
18136 (multiboot2_tag_memory): ... to this. Update all users.
18137 (multiboot_tag_unused): Rename from this ...
18138 (multiboot2_tag_unused): ... to this. Update all users.
18139 (multiboot_tag_end): Rename from this ...
18140 (multiboot2_tag_end): ... to this. Update all users.
18141
1c8927f0
RM
181422009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18143
18144 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
18145 this platform we should support Multiboot1 first.
18146
18147 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18148 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
18149 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
18150
6e1e0d89
RM
181512009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18152
18153 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
18154 of write calls (converting them to fwrite() if they aren't already).
18155 (get_torito_desc): Likewise.
18156 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
18157
7f2b34d8
RM
181582009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18159
18160 * util/i386/pc/grub-install.in: Move from here ...
18161 * util/grub-install.in: ... to here. Update all users.
18162
c0ef3311
CW
181632009-11-11 Colin Watson <cjwatson@ubuntu.com>
18164
18165 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
18166
e1f240ff
RM
181672009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18168
18169 Support for El Torito without floppy emulation.
18170
18171 * util/mkisofs/eltorito.c: Include `<errno.h>'.
18172 (init_boot_catalog): Improve error handling.
18173 (get_torito_desc): Don't use floppy emulation unless requested by
18174 user. Patch boot information table when requested via
18175 `-boot-info-table'.
18176 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
18177 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
18178 (use_boot_info_table): New variables.
18179 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
18180 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
18181 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
18182 `--eltorito-emul-floppy'.
18183 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
18184 and `OPTION_ELTORITO_EMUL_FLOPPY'.
18185 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
18186 (use_boot_info_table, get_731): New prototypes.
18187 * util/mkisofs/write.c (get_731): New function.
18188
af7d4de5
FZ
181892009-11-11 Felix Zielcke <fzielcke@z-51.de>
18190
18191 Fix the generation of the man page.
18192
18193 * util/pc/i386/grub-install.in: Source
18194 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18195
2c55dbc0
RM
181962009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18197
18198 Large file support for grub-mkisofs.
18199
18200 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
18201 * util/mkisofs/mkisofs.c (next_extent, last_extent)
18202 (session_start): Upgrade type to `uint64_t'. Update all users.
18203 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
18204 (struct directory_entry): Upgrade type of `starting_block' and
18205 `size' to `uint64_t'. Update all users.
18206 (struct deferred): Remove unused structure.
18207 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
18208 Update all users.
18209 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
18210 file is larger than `UINT32_MAX'.
18211 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
18212 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
18213 return value.
18214 (struct deferred_write): Upgrade type of `extent' and `size' to
18215 `uint64_t'. Update all users.
18216 (last_extent_written): Upgrade type to `uint64_t'. Update all
18217 users.
18218 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
18219 Update all users. Upgrade type of `remain' to `int64_t' and
18220 `use' to `size_t'. Use error() to handle fread() errors.
18221 (write_files): Rely on write_one_file() rather than calling
18222 xfwrite() directly.
18223
6a9cead5
FZ
182242009-11-09 Felix Zielcke <fzielcke@z-51.de>
18225
18226 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
18227
4825d790
RM
182282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18229
18230 * util/mkisofs/fnmatch.c: Remove.
18231 * util/mkisofs/getopt1.c: Likewise.
18232 * util/mkisofs/getopt.c: Likewise.
18233 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
18234 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
18235 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
18236 `gnulib/getopt1.c' and `gnulib/getopt.c'.
18237 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
18238
18239 * configure.ac: Detect `mingw32msvc' host_os.
18240 Check for lstat(), getuid() and getgid().
18241
18242 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
18243 instances of `u_char' with `uint8_t'.
18244
18245 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
18246 [!HAVE_GETUID] (getuid): New function (stub).
18247 [!HAVE_GETGID] (getgid): Likewise.
18248 [!HAVE_LSTAT] (lstat): Likewise.
18249 [!S_IROTH] (S_IROTH): New macro (dummy).
18250 [!S_IRGRP] (S_IRGRP): Likewise.
18251
84b860d8
RM
182522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18253
18254 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
18255 conditional expression).
18256
66e9b712
RM
182572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18258
18259 Import from Gnulib.
18260
18261 * gnulib/fnmatch.c: New file.
18262 * gnulib/fnmatch.h: Likewise.
18263 * gnulib/fnmatch_loop.c: Likewise.
18264 * gnulib/getopt.c: Likewise.
18265 * gnulib/getopt.h: Likewise.
18266 * gnulib/getopt1.c: Likewise.
18267 * gnulib/getopt_int.h: Likewise.
18268 * gnulib/gettext.h: Likewise.
18269
34f4a5b0
RM
182702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18271
18272 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
18273 * normal/handler.c (read_handler_list): Likewise.
18274
ac451143
RM
182752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18276
18277 Misc cleanup.
18278
18279 * kern/command.c (grub_register_command_prio): Use
18280 grub_zalloc() instead of explicitly zeroing data.
18281 * kern/list.c: Include `<grub/mm.h>'.
18282 (grub_named_list_find): Replace `0' with `NULL'.
18283 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
18284 (fs_module_list): Change type to `grub_named_list_t'. Update all
18285 users.
18286 * normal/dyncmd.c (read_command_list): Add space between function
18287 call and parenthesis.
18288 * normal/handler.c (read_handler_list): Likewise.
18289
4089b167
RM
182902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18291
18292 * normal/auth.c (punishment_delay): Moved from here ...
18293 (grub_auth_strcmp): ... to here (inside function).
18294
325f5037
RM
182952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18296
18297 * include/grub/list.h (struct grub_named_list): Remove `const'
18298 qualifier from `name'.
18299 (struct grub_prio_list): Likewise.
18300
7aea29a3
RM
183012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18302
18303 * normal/auth.c: Include `<grub/time.h>'.
18304 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
18305
3fd6f044
RM
183062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18307
18308 * normal/auth.c (punishment_delay): New variable.
18309 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
18310 (grub_auth_check_authentication): Punish failed login attempts with
18311 an incremental (2^N) delay.
18312
a4cd68e4
RM
183132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18314
18315 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
18316 path with $(srcdir).
18317
7ad12f43
VS
183182009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
18321
c1129f03
RM
183222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18323
18324 * util/i386/coreboot/grub-mkrescue.in: New file.
18325 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
18326 variables.
18327
18328 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
18329 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
18330 * configure.ac: Add header and function checks to satisfy grub-mkisofs
18331 requirements.
18332 * util/mkisofs/defaults.h: New file.
18333 * util/mkisofs/eltorito.c: Likewise.
18334 * util/mkisofs/exclude.h: Likewise.
18335 * util/mkisofs/fnmatch.c: Likewise.
18336 * util/mkisofs/getopt.c: Likewise.
18337 * util/mkisofs/getopt1.c: Likewise.
18338 * util/mkisofs/hash.c: Likewise.
18339 * util/mkisofs/include/fctldefs.h: Likewise.
18340 * util/mkisofs/include/mconfig.h: Likewise.
18341 * util/mkisofs/include/prototyp.h: Likewise.
18342 * util/mkisofs/include/statdefs.h: Likewise.
18343 * util/mkisofs/iso9660.h: Likewise.
18344 * util/mkisofs/joliet.c: Likewise.
18345 * util/mkisofs/match.c: Likewise.
18346 * util/mkisofs/match.h: Likewise.
18347 * util/mkisofs/mkisofs.c: Likewise.
18348 * util/mkisofs/mkisofs.h: Likewise.
18349 * util/mkisofs/multi.c: Likewise.
18350 * util/mkisofs/name.c: Likewise.
18351 * util/mkisofs/rock.c: Likewise.
18352 * util/mkisofs/tree.c: Likewise.
18353 * util/mkisofs/write.c: Likewise.
18354
ec8bb77d
VS
183552009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18356
18357 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
18358 being insecure.
18359
3716b12c
RM
183602009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18361
18362 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
18363 `grub-mkimage' (and use $0 when possible).
18364
b97b7b91
RM
183652009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18366
18367 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
18368 error message for excessively large memory map.
18369
04114812
RM
183702009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18371
18372 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
18373 executable bit.
18374
e4eb2373
RM
183752009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18376
18377 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
18378 message for coreboot users.
18379
c926e1d5 183802009-11-07 Robert Millan <rmh.grub@aybabtu.com>
18381
18382 Fix build with GNU gold.
18383
18384 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
18385 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
18386 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
18387 link addresses.
18388 * aclocal.m4: Likewise.
18389
86e5b1db 183902009-11-04 Felix Zielcke <fzielcke@z-51.de>
18391
18392 * configure.ac (AC_PREREQ): Bump to 2.59d.
18393 * INSTALL: Make it more clear when Autoconf and Ruby are
18394 needed and when to run `./autogen.sh'.
18395
246cd78f 183962009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18397
18398 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
18399 OSes.
18400
4f9dfb37 184012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18402
18403 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
18404
b82bd5e1 184052009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18406
18407 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
18408 giving it to GNU Mach.
18409
ff1a9bca 184102009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18411
18412 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
18413 GNU partition number to get internal GRUB partition number.
18414
61697d9c 184152009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18416
18417 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
18418 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
18419
a50569e1 184202009-11-01 Robert Millan <rmh.grub@aybabtu.com>
18421
18422 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
18423 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
18424 case.
18425
5b153867 184262009-11-01 Felix Zielcke <fzielcke@z-51.de>
18427
18428 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
18429
d9e2cd70 184302009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18431
18432 Fix build problem.
18433
18434 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
18435 `-isystem=$(srcdir)/include'.
18436
805111a4 184372009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18438
18439 * util/i386/pc/grub-install.in: Remove hint that device.map should be
18440 checked (grub-install doesn't currently rely on it).
18441
fa6e945f 184422009-10-29 Robert Millan <rmh.grub@aybabtu.com>
18443
18444 Revert SVN r2660.
18445
18446 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
18447 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18448 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
18449 * conf/i386-ieee1275.rmk: Likewise.
18450 * conf/i386-pc.rmk: Likewise.
18451 * conf/powerpc-ieee1275.rmk: Likewise.
18452 * conf/sparc64-ieee1275.rmk: Likewise.
18453 * conf/x86_64-efi.rmk: Likewise.
18454
cee15086 184552009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18456
18457 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
18458
95b9239e 184592009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18460
18461 * include/grub/misc.h: Stop checking for APPLE_CC.
18462
2ed19dfd 184632009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18464
18465 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
18466 doesn't cause an infinite call loop.
18467
fdcdde19 184682009-10-28 Felix Zielcke <fzielcke@z-51.de>
18469
18470 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
18471 strings.
18472
cefabfe1 184732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18474
18475 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
18476 variable.
18477 * Makefile.in: Likewise.
18478
ed96ab6d 184792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18480
18481 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
18482
0579b753 184832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18484
18485 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
18486
478df409 184872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18488
18489 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
18490
083d1679 184912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18492
18493 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
18494 from here ...
18495 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
18496
5947ae32 184972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18498
18499 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
18500 in $(MAKEINFO) invocation. This makes it clear in output that
18501 errors are being ignored.
18502
94180ff6 185032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18504
18505 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
18506 from here ...
18507 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18508 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
18509 * conf/i386-ieee1275.rmk: Likewise.
18510 * conf/i386-pc.rmk: Likewise.
18511 * conf/powerpc-ieee1275.rmk: Likewise.
18512 * conf/sparc64-ieee1275.rmk: Likewise.
18513 * conf/x86_64-efi.rmk: Likewise.
18514
9031b03a 185152009-10-26 Colin Watson <cjwatson@ubuntu.com>
18516
18517 * util/grub-editenv.c (main): If only a command is given, use
18518 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
18519 (usage): FILENAME is now optional and has a default.
18520
e4f6809b 185212009-10-26 Colin Watson <cjwatson@ubuntu.com>
18522
18523 Improve grub-mkconfig performance when there are several menu
18524 entries on a single filesystem.
18525
18526 * util/grub.d/10_linux.in (linux_entry): Cache the output of
18527 prepare_grub_to_access_device.
18528 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18529 * util/grub.d/30_os-prober.in: Likewise.
18530
67937d4d 185312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18532
18533 * util/grub.d/10_freebsd.in: Remove.
18534 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
18535 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
18536
ee3756cc 185372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18538
5c35048e 18539 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 18540
4dea1c6f 185412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18542
18543 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
18544 grub_util_error() call.
18545
042484d7 185462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18547
18548 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
18549 `reserved_first_sector' member.
18550 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
18551 `reserved_first_sector' to 1.
18552 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
18553 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
18554 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
18555 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
18556 filesystems which begin at first sector.
18557 (options): New option --skip-fs-probe.
18558 (main): Handle --skip-fs-probe and pass it to setup().
18559
d64448a7 185602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18561
18562 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
18563 (memset): Fix function prototype.
18564
508d42ec 185652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
185662009-10-25 Vasily Averin <vvs@parallels.com>
18567
18568 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
18569 `dirent.direntlen == 0'.
18570
b240e30c 185712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18572
18573 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
18574 `cpio'.
18575 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
18576
346e7fbe 185772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18578
18579 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
18580 `__trampoline_setup' and `__ucmpdi2'.
18581 * include/grub/powerpc/libgcc.h: Only export symbols for functions
18582 that libgcc provides.
18583
cdb308b0 185842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18585
18586 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
18587 * include/grub/sparc64/libgcc.h (memset): Likewise.
18588 * include/grub/misc.h (memset, memcmp): New function prototypes.
18589
fb26abc2 185902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18591
18592 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
18593 `cpio'.
18594 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
18595
f6693890 185962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18597
18598 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
18599 * docs/grub.cfg: Compensate for recent change in multiboot
18600 loader (since 2009-08-14 it won't pass filename to payload).
18601 * util/grub.d/10_hurd.in: Likewise.
18602
0933cdc0 186032009-10-21 Felix Zielcke <fzielcke@z-51.de>
18604
18605 * config.guess: Update to latest version from config git
18606 repository.
18607 * config.sub: Likewise.
18608
3b2fe8c2 186092009-10-20 Robert Millan <rmh.grub@aybabtu.com>
18610
18611 Fix build on sparc64.
18612
18613 * configure.ac: Perform checks for libgcc symbols before
18614 adding `-nostdlib' to LDFLAGS.
18615
46695a62 186162009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18617
18618 Let user specify OpenBSD root device.
18619
18620 * loader/i386/bsd.c (openbsd_root): New variable.
18621 (openbsd_opts): New option 'root'.
18622 (OPENBSD_ROOT_ARG): New macro.
18623 (grub_openbsd_boot): Use 'openbsd_root'.
18624 (grub_cmd_openbsd): Fill 'openbsd_root'.
18625
d2b6b7fc 186262009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18627
18628 * NEWS: Misc adjustments.
18629
421bd7ac 186302009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18631
18632 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
18633
f1d29d87 186342009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18635
18636 * configure.ac: Bump version to 1.97.
18637
6f3cd880 186382009-10-16 Colin Watson <cjwatson@ubuntu.com>
18639
18640 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
18641 -mno-3dnow on x86 architectures. Some toolchains enable these
18642 features by default, but they rely on registers that aren't enabled
18643 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
18644
035f7122 186452009-10-15 Robert Millan <rmh.grub@aybabtu.com>
18646
18647 Make entry text a bit more readable.
18648
18649 * util/grub.d/10_linux.in: Add `with' before `Linux'.
18650
44998e58 186512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18652
18653 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
18654
cd2851b3 186552009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18656
18657 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
18658 operations.
18659
c6f3b249 186602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18661
18662 * configure.ac: Add missing dollar.
18663
6b5886ba 186642009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18665
18666 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
18667
18668 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
18669 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
18670 exports.
18671 * include/grub/sparc64/libgcc.h: Likewise. Use
18672 preprocessor conditionals.
18673
e9d66f6d 186742009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18675
18676 * conf/common.rmk (grub-dumpbios): Remove rule.
18677 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
18678 * util/grub-dumpbios.in: Remove file.
18679
9155bc17 186802009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18681
18682 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
18683 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
18684
18685 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
18686 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
18687 users.
18688
18689 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
18690 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
18691 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
18692 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
18693 users.
18694
bf7f7a18 186952009-10-12 Robert Millan <rmh.grub@aybabtu.com>
18696
18697 * term/tparm.c: Switch to GPLv3.
18698
86564c26 186992009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18700
18701 * include/grub/i386/cpuid.h: Add header protection.
18702
5c936493 187032009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18704
18705 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
18706
18707 * include/grub/i386/cpuid.h: New file.
18708 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
18709 (has_longmode): Rename to ...
18710 (grub_cpuid_has_longmode): ... this. Update all users. Remove
18711 `static' attribute.
18712 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
18713 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
18714 on a CPU that doesn't implement AMD64 instruction set.
18715
186e7cf2 187162009-10-06 Colin Watson <cjwatson@ubuntu.com>
18717
18718 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
18719 that version.texi is rebuilt on version number changes.
18720
83b65c4a 187212009-10-06 Colin Watson <cjwatson@ubuntu.com>
18722
18723 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
18724 Fixes bug #27602.
18725
d244281c 187262009-10-06 Colin Watson <cjwatson@ubuntu.com>
18727
18728 * util/i386/pc/grub-install.in: Source
18729 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
18730 that the --grub-probe option will work.
18731 * util/sparc64/ieee1275/grub-install.in: Likewise.
18732
da25306d 187332009-10-05 Robert Millan <rmh.grub@aybabtu.com>
18734
18735 * configure.ac: Bump version to 1.97~beta4.
18736
e8ee83c0 187372009-10-03 Robert Millan <rmh.grub@aybabtu.com>
18738
18739 Resync grub-mkdevicemap in x86_64-efi.
18740
18741 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
18742 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
18743 `util/devicemap.c'.
18744
50dcabcf 187452009-10-01 Colin Watson <cjwatson@ubuntu.com>
18746
18747 * util/grub-editenv.c (create_envblk_file): Write new block with a
18748 .new suffix and then rename it into place, to ensure atomic
18749 creation.
18750
0e51c3a7 187512009-09-28 Robert Millan <rmh.grub@aybabtu.com>
18752
18753 Do not automatically install headers.
18754
18755 * Makefile.in (include_DATA): Remove. Update all users.
18756
31299a95 187572009-09-26 Robert Millan <rmh.grub@aybabtu.com>
18758
18759 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
18760 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
18761
18762 * util/osdetect.lua: Remove.
18763 * script/lua/lauxlib.c: Likewise.
18764 * script/lua/ldebug.c: Likewise.
18765 * script/lua/grub_main.c: Likewise.
18766 * script/lua/lauxlib.h: Likewise.
18767 * script/lua/ldebug.h: Likewise.
18768 * script/lua/ltablib.c: Likewise.
18769 * script/lua/liolib.c: Likewise.
18770 * script/lua/lstrlib.c: Likewise.
18771 * script/lua/lualib.h: Likewise.
18772 * script/lua/ldo.c: Likewise.
18773 * script/lua/ldump.c: Likewise.
18774 * script/lua/ldo.h: Likewise.
18775 * script/lua/loslib.c: Likewise.
18776 * script/lua/lundump.c: Likewise.
18777 * script/lua/grub_lib.c: Likewise.
18778 * script/lua/ldblib.c: Likewise.
18779 * script/lua/lundump.h: Likewise.
18780 * script/lua/lmem.c: Likewise.
18781 * script/lua/grub_lib.h: Likewise.
18782 * script/lua/lmathlib.c: Likewise.
18783 * script/lua/lstate.c: Likewise.
18784 * script/lua/ltm.c: Likewise.
18785 * script/lua/lvm.c: Likewise.
18786 * script/lua/lmem.h: Likewise.
18787 * script/lua/lstate.h: Likewise.
18788 * script/lua/ltm.h: Likewise.
18789 * script/lua/ltable.c: Likewise.
18790 * script/lua/lvm.h: Likewise.
18791 * script/lua/llex.c: Likewise.
18792 * script/lua/lgc.c: Likewise.
18793 * script/lua/grub_lua.h: Likewise.
18794 * script/lua/loadlib.c: Likewise.
18795 * script/lua/lfunc.c: Likewise.
18796 * script/lua/lopcodes.c: Likewise.
18797 * script/lua/lparser.c: Likewise.
18798 * script/lua/ltable.h: Likewise.
18799 * script/lua/llex.h: Likewise.
18800 * script/lua/lgc.h: Likewise.
18801 * script/lua/lfunc.h: Likewise.
18802 * script/lua/lbaselib.c: Likewise.
18803 * script/lua/lopcodes.h: Likewise.
18804 * script/lua/lparser.h: Likewise.
18805 * script/lua/lzio.c: Likewise.
18806 * script/lua/linit.c: Likewise.
18807 * script/lua/lobject.c: Likewise.
18808 * script/lua/llimits.h: Likewise.
18809 * script/lua/lstring.c: Likewise.
18810 * script/lua/lzio.h: Likewise.
18811 * script/lua/lapi.c: Likewise.
18812 * script/lua/lcode.c: Likewise.
18813 * script/lua/lua.h: Likewise.
18814 * script/lua/lobject.h: Likewise.
18815 * script/lua/lstring.h: Likewise.
18816 * script/lua/lapi.h: Likewise.
18817 * script/lua/lcode.h: Likewise.
18818 * script/lua/luaconf.h: Likewise.
18819
cb8a2c38 188202009-09-26 Colin Watson <cjwatson@ubuntu.com>
18821
18822 * docs/grub.texi (Command-line and menu entry commands): Document
18823 date and echo commands.
18824
6b9b6276 188252009-09-24 Pavel Roskin <proski@gnu.org>
18826
18827 * include/grub/kernel.h (struct grub_module_header): Remove
18828 `grub_module_header_types'. Make `type' unsigned. Make `size'
18829 32-bit on all platforms.
18830 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
18831 8-bit field. Use grub_host_to_target32() for `size'.
18832 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
18833 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
18834 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
18835
4e5a02a7 188362009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18837
18838 Fix "lost keypress" bug in at_keyboard.
18839
18840 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
18841 Checks for readyness of input buffer (without flushing it).
18842 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
18843 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
18844
c6dcedf6 188452009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18846
18847 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
18848 size check within GRUB_MACHINE_PCBIOS section.
18849
74c958b1 188502009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18851
18852 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
18853 return value.
18854 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
18855 KEYBOARD_ISREADY check.
18856 (grub_at_keyboard_checkkey): Rename to ...
18857 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
18858 Remove gratuitous cast.
18859
ff420223 188602009-09-23 Colin Watson <cjwatson@ubuntu.com>
18861
18862 * configure.ac: Call AC_PROG_MKDIR_P.
18863 * Makefile.in (docs/stamp-vti): Create docs directory. Create
18864 version.texi in $(builddir) rather than $(srcdir).
18865 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
18866 to makeinfo's @include search path.
18867
d96875df 188682009-09-23 Felix Zielcke <fzielcke@z-51.de>
18869
18870 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
18871
9b3f8365 188722009-09-23 Felix Zielcke <fzielcke@z-51.de>
18873
18874 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
18875 for `*.dpkg-new'.
18876
c44c90db 188772009-09-21 Colin Watson <cjwatson@ubuntu.com>
18878
18879 Build info documentation. Some code borrowed from Automake.
18880
18881 * configure.ac: Check for makeinfo.
18882 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
18883 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
18884 docs/version.texi.
18885 (MOSTLYCLEANFILES): Add vti.tmp.
18886 (docs/version.texi, docs/stamp-vti): Update automatically.
18887 (docs/grub.info): Build info documentation. Use --force and ignore
18888 errors for now.
18889 (all-local): Add $(INFOS).
18890 (install-local): Install info files.
18891 (uninstall): Uninstall info files.
18892 * docs/version.texi: Remove from revision control. This file is
18893 automatically generated on build now.
18894 * gendistlist.sh: Add `*.info'.
18895
e0b37bb5 188962009-09-21 Felix Zielcke <fzielcke@z-51.de>
18897
18898 * kern/term.c: Fix indentation.
18899
5a78865b 189002009-09-21 Felix Zielcke <fzielcke@z-51.de>
18901
18902 * util/hostdisk.c: Fix a comment.
18903
dace7e8a 189042009-09-20 Robert Millan <rmh.grub@aybabtu.com>
18905
18906 Fix regression introduced in r2539.
18907
18908 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
18909 to 0xA1.
18910
a83d079b 189112009-09-19 Colin Watson <cjwatson@ubuntu.com>
18912
18913 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 18914 os-prober. Under normal operation, it does not print anything to
18915 stderr; if it does, we need to debug it, and throwing away stderr
18916 makes that excessively difficult.
a83d079b 18917
be94a509 189182009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
18921
63f745e8 189222009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18923
18924 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
18925 AC_LANG_PROGRAM from autoconf.
18926 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
18927 prototypes (fixes warning).
18928
18929 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
18930 `--disable-werror' was used.
18931
bbb2a70f 189322009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18933
18934 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
18935 uninitialized `lastaddr'.
18936
77c24f1d 189372009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18938
0f0b8c87 18939 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 18940
07197f23 189412009-09-14 Colin Watson <cjwatson@ubuntu.com>
18942
18943 * commands/test.c (get_fileinfo): Return immediately if
18944 grub_fs_probe fails.
18945
dabf1798 189462009-09-14 José Martínez <xosemp@gmail.com>
18947
18948 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
18949
d52109a7 189502009-09-14 Colin Watson <cjwatson@ubuntu.com>
18951
18952 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
18953 output.
18954
56532179 189552009-09-13 Robert Millan <rmh.grub@aybabtu.com>
18956
18957 * configure.ac: Remove --enable-grub-pe2elf. Only build
18958 grub-pe2elf when needed by the build system itself.
18959 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
18960
8ef070f5 189612009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18962
18963 * configure.ac: Bump version to 1.97~beta3.
18964 * docs/version.texi: Likewise.
18965
61229557 189662009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18967
18968 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
18969 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
18970 from here ...
18971 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
18972 (grub_linux_setup_video): ... to here (with some adjustments).
18973
5c9f8d84 189742009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18975
18976 Fix memory corruption issue (spotted by Colin Watson).
18977
18978 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
18979 causing returned size to be stored in an incorrect memory location.
18980 Fix use of uninitialized value when storing the returned size.
18981
e8f5d6e9 189822009-09-12 Yves Blusseau <blusseau@zetam.org>
18983
18984 Change clean rules to properly remove files
18985
18986 * genmk.rb: add new clean rules
18987 * Makefile.in (clean): add the new targets
18988 (mostlyclean): likewise
18989
cda2a409 189902009-09-11 Colin Watson <cjwatson@ubuntu.com>
18991
18992 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
18993 to grub_uint64_t.
18994 * fs/ntfs.c (init_file): Understand 64-bit sizes for
18995 non-resident files.
18996
86695375 189972009-09-11 Colin Watson <cjwatson@ubuntu.com>
18998
18999 * configure.ac: Don't look for help2man when cross-compiling. Fixes
19000 part of bug #27349.
19001
8aa1541a 190022009-09-10 Felix Zielcke <fzielcke@z-51.de>
19003
19004 * util/grub-mkconfig.in: Make the created config mode 400 and
19005 print a warning if it fails.
19006
48d9bb0a 190072009-09-10 Robert Millan <rmh.grub@aybabtu.com>
19008
19009 * util/grub.d/40_custom.in: Ask user to type custom entries below
19010 comment, rather than below 'exec tail' line.
19011
3b0521be 190122009-09-10 Colin Watson <cjwatson@ubuntu.com>
19013
19014 * util/grub.d/40_custom.in: Make sure that the explanatory text is
19015 visible in grub.cfg.
19016
50051d55 190172009-09-10 Colin Watson <cjwatson@ubuntu.com>
19018
19019 * util/grub.d/40_custom.in: Make it a little clearer how to use this
19020 file.
19021
c0d34387 190222009-09-10 Felix Zielcke <fzielcke@z-51.de>
19023
19024 * docs/grub.cfg: Add an example menu entry for memtest86+.
19025
80a608f3 190262009-09-09 Felix Zielcke <fzielcke@z-51.de>
19027
a2094832 19028 * config.guess: Update to latest version from config git.
80a608f3 19029 * config.sub: Likewise.
19030
99423078 190312009-09-08 Colin Watson <cjwatson@ubuntu.com>
19032
19033 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
19034 unknown-command case. Fixes bug #27320.
19035
44454e4c 190362009-09-08 Felix Zielcke <fzielcke@z-51.de>
19037
19038 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
19039 `help' if the command exists.
19040
e30d87ad 190412009-09-06 Robert Millan <rmh.grub@aybabtu.com>
19042
19043 * INSTALL: Require GCC 4.1.3 or later.
19044
9a86f1ec 190452009-09-06 Yves Blusseau <blusseau@zetam.org>
19046
19047 * Makefile.in (RMKFILES): add i386-qemu.rmk
19048 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
19049 $(srcdir)/stamp-h.in
19050
7f26d466 190512009-09-05 Robert Millan <rmh.grub@aybabtu.com>
19052
19053 * util/grub-probe.c (probe): Comment out buggy codepath, which
19054 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
19055 should be re-enabled after 1.97.
19056
3a613259 190572009-09-05 Felix Zielcke <fzielcke@z-51.de>
19058
19059 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
19060 find searches for.
19061
197f76c7 190622009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19063
19064 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
19065 unnecessary calls to grub_error.
19066
70ba68ce 190672009-09-04 Colin Watson <cjwatson@ubuntu.com>
19068
19069 * NEWS: Mention `keystatus' and Unicode fonts.
19070
4ff0d7a4 190712009-09-04 Robert Millan <rmh.grub@aybabtu.com>
19072
19073 * configure.ac: Bump version to 1.97~beta2.
19074 * docs/version.texi: Likewise.
19075
77c55a87 190762009-09-03 Colin Watson <cjwatson@ubuntu.com>
19077
19078 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
19079 containing unwind information in some cases where it previously did
19080 not. Use -fno-dwarf2-cfi-asm if available to restore the old
19081 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
19082 discussion.
19083
f79572cd 190842009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
19085
19086 Embedding loadenv module into grub-emu
19087
19088 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
19089 commands/loadenv.c
19090 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
19091 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
19092 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
19093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
19094 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
19095 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
19096
93a81088 190972009-09-03 Magnus Granberg <zorry@ume.nu>
19098
19099 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
19100 include -fPIE in the default specs.
19101 * configure.ac: Check if pie_possible is yes and add -fno-PIE
19102 to TARGET_CFLAGS.
19103
160034b2 191042009-09-03 Felix Zielcke <fzielcke@z-51.de>
19105
19106 * INSTALL: Note that GNU Bison 2.3 or later is required.
19107
087c07c4 191082009-09-03 Colin Watson <cjwatson@ubuntu.com>
19109
19110 * kern/i386/pc/startup.S: Fix typo.
19111
cbf978c0 191122009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19113
19114 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
19115 according to GCS.
19116
191172009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 19118
19119 * docs/grub.texi (Naming convention): Describe one-based partition
19120 numbering.
19121 (Device syntax): Likewise.
19122 (File name syntax): Likewise.
19123 (Block list syntax): Likewise.
19124 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
19125 menu.lst.
19126 (File name syntax): Likewise.
19127 (Command-line and menu entry commands): Document acpi, blocklist,
19128 crc, export, insmod, keystatus, ls, set, and unset commands.
19129
f3e8cdfd 191302009-09-02 Colin Watson <cjwatson@ubuntu.com>
19131
19132 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
19133 to avoid implying that only one of --shift, --ctrl, or --alt may be
19134 used.
19135
c0bc232b 191362009-09-02 Colin Watson <cjwatson@ubuntu.com>
19137
19138 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
19139 rather than comparing against S_IFREG, which will almost never work.
19140
aa0f752d 191412009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
19144 (write_blocklists): Likewise.
19145
ecb3166a 191462009-09-01 Colin Watson <cjwatson@ubuntu.com>
19147
19148 * script/lua/grub_lua.h (fputs): Supply a format string as the first
19149 argument to grub_printf.
19150
c403a125 191512009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 19152
19153 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 19154 non GNU test.
31aba781 19155
b5e7312c 191562009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19157
19158 * kern/file.c (grub_file_read): Spelling fix
19159
fe00f472 191602009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
19163 loading of headers in some cases.
19164
cc55302e 191652009-08-30 Robert Millan <rmh.grub@aybabtu.com>
19166
19167 * configure.ac: Bump version to 1.97~beta1.
19168 * docs/version.texi: Likewise.
19169
5c90cdd2 191702009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 19171
19172 * include/grub/i386/xnu.h: Add license header.
19173 include grub/err.h explicitly.
19174
c90edae4 191752009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19176
19177 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
19178 to `ufs' in the vfs.root.mountfrom kernel parameter.
19179
d8888b5c 191802009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19181
19182 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
19183
19184 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
19185 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
19186
19187 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
19188 `ARRAY_SIZE' macro.
19189
6f07b921 191902009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 * kern/file.c (grub_file_read): Check offset.
19193 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
19194 * fs/jfs.c (grub_jfs_read_file): Likewise.
19195 * fs/ntfs.c (grub_ntfs_read): Likewise.
19196 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
19197 * fs/minix.c (grub_minix_read_file): Correct offset check.
19198 * fs/ufs.c (grub_ufs_read_file): Likewise.
19199
b4f34077 192002009-08-28 Colin Watson <cjwatson@ubuntu.com>
19201
19202 * term/i386/pc/console.c (bios_data_area): Cast
19203 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
19204
e7c69859 192052009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19206
19207 1-bit optimised blitters.
19208
19209 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
19210 prototype.
19211 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19212 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19213 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19214 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19215 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19216 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19217 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
19218 function.
19219 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19220 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19221 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19222 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19223 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19224 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19225 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
19226 when possible.
19227 * video/video.c (grub_video_get_blit_format): Return
19228 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
19229
a57da43f 192302009-08-28 Colin Watson <cjwatson@ubuntu.com>
19231
19232 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
19233 the first argument to grub_printf.
19234
4cbe67e5 192352009-08-28 Colin Watson <cjwatson@ubuntu.com>
192362009-08-28 Robert Millan <rmh.grub@aybabtu.com>
19237
19238 Add `getkeystatus' terminal method. Add a new `keystatus' command
19239 to query it.
19240
19241 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
19242 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
19243 modifier key bitmasks.
19244 (struct grub_term_input): Add `getkeystatus' member.
19245 (grub_getkeystatus): Add prototype.
19246 * kern/term.c (grub_getkeystatus): New function.
19247
19248 * include/grub/i386/pc/memory.h
19249 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
19250 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
19251 Data Area layout.
19252 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
19253 (grub_console_term_input): Set `getkeystatus' member.
19254 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
19255 constants.
19256 (grub_usb_keyboard_getreport): Likewise.
19257 (grub_usb_keyboard_checkkey): Likewise.
19258 (grub_usb_keyboard_getkeystatus): New function.
19259 (grub_usb_keyboard_term): Set `getkeystatus' member.
19260
19261 * commands/keystatus.c: New file.
19262 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
19263 (keystatus_mod_SOURCES): New variable.
19264 (keystatus_mod_CFLAGS): Likewise.
19265 (keystatus_mod_LDFLAGS): Likewise.
19266 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
19267 commands/keystatus.c.
19268 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19270 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19272 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19273 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 19274
6e2a9085 192752009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19276
19277 Split befs.mod and afs.mod into *_be.mod and *.mod
19278
19279 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
19280 (grub_fstest_SOURCES): Likewise.
19281 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
19282 (afs_be_mod_SOURCES): New variable.
19283 (afs_be_mod_CFLAGS): Likewise.
19284 (afs_be_mod_LDFLAGS): Likewise.
19285 (befs_be_mod_SOURCES): Likewise.
19286 (befs_be_mod_CFLAGS): Likewise.
19287 (befs_be_mod_LDFLAGS): Likewise.
19288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
19289 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19290 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19291 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19292 (grub_emu_SOURCES): Likewise.
19293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19294 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19295 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19296 * fs/afs_be.c: New file.
19297 * fs/befs_be.c: New file.
19298 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
19299 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
19300 (U16): Replaced with ...
19301 (grub_afs_to_cpu16): ...this. All users updated.
19302 (U32): Replaced with ...
19303 (grub_afs_to_cpu32): ...this. All users updated.
19304 (U64): Replaced with ...
19305 (grub_afs_to_cpu64): ...this. All users updated.
19306 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
19307 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 19308 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 19309 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19310 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19311 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19312 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19313 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19314 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19315 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19316 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19317
32a71655 193182009-08-26 Bean <bean123ch@gmail.com>
19319
19320 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
19321 64-bit number.
19322 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
19323 (grub_xfs_inode_block): Change return type to grub_uint64_t.
19324 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
19325
552bf6c5 193262009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 NetBSD memory map support.
19329
19330 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
19331 (grub_netbsd_btinfo_mmap_header): New structure.
19332 (grub_netbsd_btinfo_mmap_entry): Likewise.
19333 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
19334
1ae2078c 193352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19336
19337 Enable bsd.mod on coreboot.
19338
19339 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
19340 (bsd_mod_SOURCES): New variable.
19341 (bsd_mod_CFLAGS): Likewise.
19342 (bsd_mod_LDFLAGS): Likewise.
19343 (bsd_mod_ASFLAGS): Likewise.
19344 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
19345 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
19346
beefc598 193472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 Cleanup NetBSD root support.
19350
19351 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
19352 grub_bsd_get_device.
19353 Fix typo.
19354
3b76e68b 193552009-08-25 Felix Zielcke <fzielcke@z-51.de>
19356
19357 * util/grub.d/00_header.in: Move check for the video backend of
19358 gfxterm from here ...
19359 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
19360 a suitable video backend.
19361
aea664ea 193622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 Fix breakage in grub-setup.
19365
19366 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
19367 "msdos_partition_map".
19368
ff747d50 193692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19370
19371 Fix breakage in normal/auth.c.
19372
19373 * normal/auth.c (grub_iswordseparator): New function.
19374
e7e1f93f 193752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19376
19377 Authentication support.
19378
19379 * commands/password.c: New file.
19380 * conf/common.rmk (pkglib_MODULES): Add password.mod.
19381 (password_mod_SOURCES): New variable.
19382 (password_mod_CFLAGS): Likewise.
19383 (password_mod_LDFLAGS): Likewise.
19384 (normal_mod_SOURCES): Add normal/auth.c.
19385 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
19386 normal/auth.c.
19387 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19388 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19389 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19391 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19392 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19393 * include/grub/auth.h: New file.
19394 * include/grub/err.h (grub_err_t): New enum value
19395 GRUB_ERR_ACCESS_DENIED.
19396 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
19397 'users'.
19398 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
19399 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
19400 users updated.
19401 * normal/auth.c: New file.
19402 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
19403 (grub_cmdline_run): Don't allow to go to command line without
19404 authentication.
19405 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
19406 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
19407 menuentry without superuser rights.
19408 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
19409 user isn't a superuser.
19410
70f1161d 194112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 Save space by inlining misc.c functions.
19414
19415 * kern/misc.c (grub_iswordseparator): Made static.
19416 * kern/misc.c (grub_strcat): Moved from here ...
19417 * include/grub/misc.h (grub_strcat): ... here. Inlined.
19418 * kern/misc.c (grub_strncat): Moved from here ...
19419 * include/grub/misc.h (grub_strncat): ... here. Inlined.
19420 * kern/misc.c (grub_strcasecmp): Moved from here ...
19421 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
19422 * kern/misc.c (grub_strncasecmp): Moved from here ...
19423 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
19424 * kern/misc.c (grub_isalpha): Moved from here ...
19425 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
19426 * kern/misc.c (grub_isdigit): Moved from here ...
19427 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
19428 * kern/misc.c (grub_isgraph): Moved from here ...
19429 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
19430 * kern/misc.c (grub_tolower): Moved from here ...
19431 * include/grub/misc.h (grub_tolower): ... here. Inlined.
19432
48e40bff 194332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19434
19435 * script/sh/function.c (grub_script_function_find): Cut error message
19436 not to flood terminal.
19437 * script/sh/lexer.c (grub_script_yylex): Remove command line length
19438 limit.
19439 * script/sh/script.c (grub_script_arg_add): Duplicate string.
19440
c385bfc3 194412009-08-24 Colin Watson <cjwatson@ubuntu.com>
19442
19443 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
19444 `report' grub_uint8_t *.
19445 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
19446 Use a 50-millisecond timeout rather than just repeating
19447 grub_usb_keyboard_getreport 50 times.
19448 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
19449
2d21e3e8 194502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 Rename *_partition_map to part_*
19453
19454 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
19455 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
19456 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
19457 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
19458 All users updated.
19459 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
19460 All users updated.
19461 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
19462 * util/grub-probe.c (probe_partmap): Don't transform partition name
19463 to get module name.
19464
dd103c4e 194652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19466
19467 Fix OpenBSD and NetBSD support.
19468
19469 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
19470 memory address conflict.
19471 (OPENBSD_MMAP_ACPI): New definition.
19472 (OPENBSD_MMAP_NVS): Likewise.
19473 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
19474 and OPENBSD_MMAP_NVS.
19475 Add memory map terminator
19476 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 19477 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 19478
16c84d74 194792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19480
19481 Let user specify NetBSD root device.
19482
19483 * loader/i386/bsd.c (netbsd_root): New variable.
19484 (netbsd_opts): New option 'root'.
19485 (NETBSD_ROOT_ARG): New macro.
19486 (grub_netbsd_boot): Use 'netbsd_root'.
19487 (grub_bsd_unload): Free 'netbsd_root'.
19488 (grub_cmd_netbsd): Fill 'netbsd_root'.
19489
adb29902 194902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 Support for 64-bit NetBSD.
19493
19494 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
19495 point when booting non-FreeBSD.
19496
f5ae9f74 194972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19498
19499 Support --no-smp and --no-acpi for NetBSD.
19500
19501 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
19502 (NETBSD_AB_NOACPI): Likewise.
19503 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
19504 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
19505
de74f136 195062009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19507
19508 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
19509 errors.
19510 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
19511 errors. Call grub_error when needed.
19512
e9a925da 195132009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19514
19515 * commands/search.c (search_fs): Try searching without autoload first.
19516 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19517 filesystem module explicitly for faster booting.
19518
5174302b 195192009-08-23 Colin Watson <cjwatson@ubuntu.com>
19520
19521 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
19522
c8c80635 195232009-08-23 Colin Watson <cjwatson@ubuntu.com>
19524
19525 * util/grub.d/30_os-prober.in: Disable os-prober if
19526 `GRUB_DISABLE_OS_PROBER' was set to true.
19527
71acf5e5 195282009-08-23 Robert Millan <rmh.grub@aybabtu.com>
19529
19530 * partmap/pc.c: Rename to ...
19531 * partmap/msdos.c: ... this. Update all users.
19532 (grub_pc_partition_map): Rename to ...
19533 (grub_msdos_partition_map): ... this. Update all users.
19534
19535 * parttool/pcpart.c: Rename to ...
19536 * parttool/msdospart.c: ... this. Update all users.
19537
19538 * include/grub/pc_partition.h: Rename to ...
19539 * include/grub/msdos_partition.h: ... this. Update all users.
19540 (grub_pc_partition_bsd_entry): Rename to ...
19541 (grub_msdos_partition_bsd_entry): ... this. Update all users.
19542 (grub_pc_partition_disk_label): Rename to ...
19543 (grub_msdos_partition_disk_label): ... this. Update all users.
19544 (grub_pc_partition_entry): Rename to ...
19545 (grub_msdos_partition_entry): ... this. Update all users.
19546 (grub_pc_partition_mbr): Rename to ...
19547 (grub_msdos_partition_mbr): ... this. Update all users.
19548 (grub_pc_partition): Rename to ...
19549 (grub_msdos_partition): ... this. Update all users.
19550 (grub_pc_partition_is_empty): Rename to ...
19551 (grub_msdos_partition_is_empty): ... this. Update all users.
19552 (grub_pc_partition_is_extended): Rename to ...
19553 (grub_msdos_partition_is_extended): ... this. Update all users.
19554 (grub_pc_partition_is_bsd): Rename to ...
19555 (grub_msdos_partition_is_bsd): ... this. Update all users.
19556
19557 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
19558 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
19559 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
19560 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
19561 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
19562 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
19563 (gpt_mod_LDFLAGS): Rename to ...
19564 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
19565 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
19566 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
19567 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
19568 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
19569 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
19570 (part_gpt_mod_LDFLAGS): ... this.
19571 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
19572 `pcpart.mod' to `msdospart.mod'.
19573 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
19574 to ...
19575 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
19576 (msdospart_mod_LDFLAGS): ... this.
19577
c11fded5 195782009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
19581 (openbsd_opts): Likewise.
19582 (netbsd_opts): Likewise.
19583 (freebsd_flags): Added 0 terminator.
19584 (openbsd_flags): Likewise.
19585 (netbsd_flags): Likewise.
19586 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
19587 (grub_cmd_freebsd): Transformed into extended command.
19588 (grub_cmd_openbsd): Likewise.
19589 (grub_cmd_netbsd): Likewise.
19590 (cmd_freebsd): Changed type to grub_extcmd_t.
19591 (cmd_openbsd): Likewise.
19592 (cmd_netbsd): Likewise.
19593 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
19594 grub_cmd_openbsd as extended commands.
19595 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
19596 cmd_netbsd and cmd_openbsd
19597
11d1c769 195982009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19599
19600 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
19601
7a9094e5 196022009-08-21 Pavel Roskin <proski@gnu.org>
19603
5496c37e 19604 * Makefile.in (install-local): When checking if a file is in the
19605 build directory, use "test -e" to detect symlinks.
19606
7a9094e5 19607 * Makefile.in (install-local): Remove all files in
19608 $(DESTDIR)$(pkglibdir) before installing new files there.
19609
e53cea11 196102009-08-18 Felix Zielcke <fzielcke@z-51.de>
19611
19612 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
19613 grub-mkelfimage.
19614
9aced544 196152009-08-18 Felix Zielcke <fzielcke@z-51.de>
19616
19617 * util/grub-mkconfig.in: Don't use gfxterm by default if not
19618 explicitly specified by the user.
19619
b7da6bab 196202009-08-18 Pavel Roskin <proski@gnu.org>
19621
19622 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
19623 grub_uint8_t pointer for data.
19624 * include/grub/fbutil.h (struct grub_video_fbblit_info):
19625 Likewise.
19626 * video/fb/fbutil.c: Remove unnecessary casts.
19627
19f1b335 196282009-08-17 Michal Suchanek <hramrach@centrum.cz>
19629
19630 VBE cleanup.
19631
19632 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
19633 (grub_vbe_set_video_mode): Save active mode info
19634 only after setting the mode.
19635 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
19636 second argument.
19637
2f467aa9 196382009-08-17 Michal Suchanek <hramrach@centrum.cz>
19639
19640 Rename variables for clarity.
19641
19642 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
19643 (active_vbe_mode_info): ... this. All users updated.
19644 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
19645 All users updated.
19646 (initial_mode): Rename to ...
19647 (initial_vbe_mode): ... this. All users updated.
19648 (mode_in_use): Rename to ..
19649 (vbe_mode_in_use): ... this. All users updated.
19650 (mode_list): Rename to ..
19651 (vbe_mode_list): ... this. All users updated.
19652 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
19653 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
19654 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
19655 'mode_list_size' to 'vbe_mode_list_size'.
19656 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
19657 'best_mode_info' to 'best_vbe_mode_info' and
19658 'best_mode' to 'best_vbe_mode'
19659
6025fcd7 196602009-08-17 Michal Suchanek <hramrach@centrum.cz>
19661
19662 Remove duplicate grub_video_fb_get_video_ptr.
19663
19664 * include/grub/fbutil.h (get_data_ptr): Rename to ...
19665 (grub_video_fb_get_video_ptr): ... this.
19666 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
19667 * video/fb/fbutil.c: Add comment about addressing.
19668 (get_data_ptr): Rename to ...
19669 (grub_video_fb_get_video_ptr): ... this. All users updated.
19670 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
19671
cc8c6faf 196722009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19673
19674 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
19675 grub_dprintf() that was just added.
19676
08aa61f0 196772009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19678
19679 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
19680 (DEFAULT_VIDEO_MODE): Remove macros.
19681 (grub_linux_boot): Remove assumption that Linux has FB support,
19682 and use "text" as default video mode.
19683
7cef4f75 196842009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
19685
19686 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
19687 grub_dprintf.
19688 * fs/fat.c (grub_fat_read_data): Likewise.
19689
e1f39873 196902009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19691
19692 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
19693 payload.
19694 (grub_module): Likewise.
19695
c166d79e 196962009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19697
19698 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
19699 mbi->cmdline but free playground.
19700
c60cee8e 197012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 Handle group offset on UFS1.
19704
19705 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
19706 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
19707
c0d8b5d4 197082009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19709
19710 Split ufs.mod into ufs1.mod and ufs2.mod.
19711
19712 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
19713 (grub_fstest_SOURCES): Likewise.
19714 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
19715 (ufs_mod_SOURCES): Remove.
19716 (ufs_mod_CFLAGS): Likewise.
19717 (ufs_mod_LDFLAGS): Likewise.
19718 (ufs1_mod_SOURCES): New variable.
19719 (ufs1_mod_CFLAGS): Likewise.
19720 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 19721 (ufs2_mod_SOURCES): New variable.
19722 (ufs2_mod_CFLAGS): Likewise.
19723 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 19724 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
19725 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19726 Likewise.
19727 (grub_emu_SOURCES): Likewise.
19728 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19729 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19730 (grub_setup_SOURCES): Likewise.
19731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19732 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
19733 (grub_setup_SOURCES): Likewise.
19734 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19735 Likewise.
19736 * fs/ufs2.c: New file.
19737 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
19738
d3539132 197392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19740
19741 Framebuffer split.
19742
19743 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
19744 subsystem at the end.
19745 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
19746 (video_fb_mod_SOURCES): New variable.
19747 (video_fb_mod_CFLAGS): Likewise.
19748 (video_fb_mod_LDFLAGS): Likewise.
19749 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
19750 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
19751 * video/i386/pc/vbeblit.c: Moved from here ...
19752 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
19753 * video/i386/pc/vbefill.c: Moved from here ...
19754 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
19755 * video/i386/pc/vbeutil.c: Moved from here ...
19756 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
19757 * include/grub/i386/pc/vbeblit.h: Moved from here ...
19758 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
19759 * include/grub/i386/pc/vbefill.h: Moved from here ...
19760 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
19761 * include/grub/i386/pc/vbeutil.h: Moved from here ...
19762 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
19763 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
19764 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
19765 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
19766 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
19767 (grub_video_adapter): Added 'get_info_and_fini'.
19768 (grub_video_get_info_and_fini): New prototype.
19769 (grub_video_set_mode): make modestring const char *.
19770 * loader/i386/linux.c (grub_linux_setup_video): Use
19771 grub_video_get_info_and_fini.
19772 (grub_linux_boot): Move modesetting just before booting.
19773 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
19774 grub_video_get_info_and_fini.
19775 * video/i386/pc/vbe.c: Moved framebuffer part ...
19776 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
19777 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
19778 grub_video_fbstd_colors and grub_video_fb_set_palette.
19779 (grub_video_vbe_init): Clear 'framebuffer' variable and use
19780 grub_video_fb_init.
19781 (grub_video_vbe_fini): Use grub_video_fb_fini.
19782 (grub_video_vbe_setup): Use framebuffer.render_target instead of
19783 render_target and use grub_video_fb_set_active_render_target and
19784 grub_video_fb_set_palette.
19785 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
19786 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
19787 (grub_video_vbe_adapter): Use framebuffer.
19788 * video/video.c (grub_video_get_info_and_fini): New function.
19789 (grub_video_set_mode): Make modestring const char *.
19790 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
19791 values are already initialised.
19792
d404ee56 197932009-08-14 Pavel Roskin <proski@gnu.org>
19794
19795 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
19796 ABS and APPLE_CC.
19797 * boot/i386/pc/diskboot.S: Likewise.
19798 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
19799 sectors allow compilation on MacOSX.
19800 * conf/i386-pc.rmk: Enable unconditional compilation of
19801 lnxboot.img.
19802
9a10df16 198032009-08-13 Colin Watson <cjwatson@ubuntu.com>
19804
19805 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
19806 * util/grub.d/00_header.in: Enter interruptible sleep if
19807 GRUB_HIDDEN_TIMEOUT is set.
19808
be3c9ca7 198092009-08-13 Yves Blusseau <blusseau@zetam.org>
19810
19811 * include/grub/symbol.h: Add the LOCAL macro.
19812 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
19813 starting with "L_".
19814
1f9e557e 198152009-08-13 Pavel Roskin <proski@gnu.org>
19816
9ca62843 19817 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
19818 any modern compilers we support.
19819
1f9e557e 19820 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
19821 Use local labels starting with "L_" so that Apple assembler
19822 knows they are local.
19823
81623db6 198242009-08-10 Robert Millan <rmh.grub@aybabtu.com>
19825
19826 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
19827 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
19828 (bsd_kernel_types): ... this enum.
19829
19830 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
19831 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
19832 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
19833
19834 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
19835 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
19836 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
19837 messages.
19838
f5d35e7a 198392009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19840
19841 * util/grub-dumpdevtree: Moved from here ...
19842 * util/i386/efi/grub-dumpdevtree: ... to here.
19843 (hexify): New function. Converts a string to its hex version.
19844 Generate hex versions of "efi" and "device-properties" by calling
19845 hexify() on the ASCII strings rather than by hardcoding numbers.
19846
d1e1d527 198472009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19848
19849 * fs/jfs.c: Update copyright year.
19850
1ebbe064 198512009-08-08 Felix Zielcke <fzielcke@z-51.de>
19852
19853 * util/grub.d/00_header.in: Fix a comment.
19854 * util/grub.d/10_linux.in: Likewise.
19855 * util/grub.d/10_windows.in: Likewise.
19856 * util/grub.d/10_hurd.in: Likewise.
19857
a78c8d24 198582009-08-08 Felix Zielcke <fzielcke@z-51.de>
19859
19860 * util/grub-mkconfig.in: Allow the user to specify the used font
19861 with GRUB_FONT.
19862
29a6b9e8 198632009-08-08 Pavel Roskin <proski@gnu.org>
19864
b5f16cc4 19865 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
19866 available, xfs.mod needs it now.
19867
2f5cb827 19868 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
19869 the "g" modifier in sed when the intention is to strip something
19870 once. This fixes comparison of kernels with multiple dashes.
19871
29a6b9e8 19872 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
19873 on it. Add missing space before closing bracket. Fix
19874 misleading formatting.
19875
892a3d98 198762009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19877
19878 * docs/grub.texi: Major overhaul. Remove all sections that are
19879 specific to GRUB Legacy, or mostly composed of Legacy-specific
19880 information.
19881
ed94253f 198822009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19883
19884 * docs/version.texi: New file. Provides version information for
19885 grub.texi.
19886
126d6628 198872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19888
19889 * docs/grub.texi: Update CVS information to SVN.
19890 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
19891
998b5aa9 198922009-08-07 Felix Zielcke <fzielcke@z-51.de>
19893
19894 * util/grub-mkconfig.in: Remove a wrong `fi'.
19895
818e094a 198962009-08-07 Felix Zielcke <fzielcke@z-51.de>
19897
19898 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
19899 (grub_jfs_uuid): New function.
19900 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
19901
b969c52f 199022009-08-07 Felix Zielcke <fzielcke@z-51.de>
19903
19904 * util/grub-mkconfig_lib.in (font_path): Move the functionality
19905 of it to ...
19906 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
19907 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
19908
7a4894cc 199092009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19910
19911 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
19912 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
19913 Update all users.
19914
19915 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
19916 not just "vmlinu[zx]".
19917 Moved from here ...
19918 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
19919 all users.
19920
19921 * util/grub.d/10_linux.in (find_latest): Moved from here ...
19922 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
19923 all users.
19924
4e2171f8 199252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19926
19927 * util/grub.d/10_freebsd.in: Use an absolute device path for
19928 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
19929
6dcfcb32 199302009-08-06 Felix Zielcke <fzielcke@z-51.de>
19931
19932 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
19933 handling of multiple abstraction modules.
19934
f56a8756 199352009-08-04 Robert Millan <rmh.grub@aybabtu.com>
19936
19937 Fix a bug resulting in black screen when loading Linux using a
19938 packed video mode.
19939
19940 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
19941 function.
19942
19943 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
19944 (grub_vbe_bios_getset_dac_palette_width): New function.
19945 (grub_vbe_bios_get_dac_palette_width)
19946 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
19947 grub_vbe_bios_getset_dac_palette_width()).
19948
19949 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
19950 check for return status.
19951 (grub_vbe_get_video_mode_info): When getting information for a packed
19952 mode (<= 8 bpp), obtain DAC palette width using
19953 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
19954 {red,green,blue}_mark_size.
19955
222671b2 199562009-08-04 Felix Zielcke <fzielcke@z-51.de>
19957
ecb1a6d9 19958 * commands/search.c (options): Fix help output to match actual code.
222671b2 19959
f84114f5 199602009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
19963 of homegrown code.
19964
bd288a20 199652009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 19966
19967 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
19968 on XFS or ReiserFS.
19969
8aab5e25 199702009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 Support Apple partition map with sector size different from 512 bytes.
19973
19974 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
19975 (apple_partition_map_iterate): Respect 'aheader.blocksize'
19976 and 'apart.partmap_size'.
19977
6ad6258a 199782009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
199792009-08-01 Robert Millan <rmh.grub@aybabtu.com>
19980
19981 Fix cpuid command.
19982
19983 * commands/i386/cpuid.c (options): New variable.
19984 (grub_cmd_cpuid): Return real error.
19985 (GRUB_MOD_INIT(cpuid)): Declare options.
19986
67459bc6 199872009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
19988
19989 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
19990 valid.
19991
fbc6ab54 199922009-07-31 Bean <bean123ch@gmail.com>
19993
19994 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
19995 log2_inode.
19996 (grub_fshelp_node): Move inode field to the end.
19997 (grub_xfs_data): Remove inode field.
19998 (grub_xfs_inode_block): Calculate inode size using sblock.
19999 (grub_xfs_inode_offset): Likewise.
20000 (grub_xfs_read_inode): Calculate inode size using sblock.
20001 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
20002 (grub_xfs_iterate_dir): Calculate inode size using sblock.
20003 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
20004 to match inode size.
20005 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
20006 not accessible when data is null.
20007 (grub_xfs_open): Likewise.
20008
f45d6cfc 200092009-07-31 Bean <bean123ch@gmail.com>
20010
20011 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
20012 Don't change pv->disk if it's already set.
20013
20014 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
20015 (grub_raid_register): ... here.
20016 (grub_raid_rescan): Removed.
20017
20018 * include/grub/raid.h (grub_raid_rescan): Removed.
20019
20020 * util/grub-fstest.c: Remove include file <grub/raid.h>.
20021 (fstest): Replace grub_raid_rescan with module fini function followed
20022 by init function.
20023
20024 * util/grub-probe.c: Add include file <grub/raid.h>.
20025 (probe_raid_level): New function.
20026 (probe): Detect abstraction by walking the disk device, support two
20027 level of abstraction (LVM on RAID) when detecting partition map.
20028
24443b5a 200292009-07-31 Pavel Roskin <proski@gnu.org>
20030
20031 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
20032 to grub_zalloc(), it was erroneous.
20033 Reported by Bean <bean123ch@gmail.com>
20034
a275d9e7 200352009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
20036
20037 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 20038 embedding zone, not only the first one.
a275d9e7 20039
56c5a47f 200402009-07-29 Joe Auricchio <jauricchio@gmail.com>
20041
20042 * term/gfxterm.c (clear_char): New function.
20043 (grub_virtual_screen_setup): Use clear_char.
20044 (scroll_up): Likewise.
20045 (grub_virtual_screen_cls): Likewise.
20046
67bb323a 200472009-07-29 Felix Zielcke <fzielcke@z-51.de>
20048
20049 * util/deviceiter.c (get_acceleraid_disk_name): New static
20050 function.
20051 (grub_util_iterate_devices): Handle Accelraid devices.
20052 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
20053
388a7c75 200542009-07-28 Robert Millan <rmh.grub@aybabtu.com>
20055
20056 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
20057 separator for the suggested gfxpayload string (';' collides with the
20058 parser and needs escaping).
20059
3bb7abcf 200602009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
20063 Clear direction flag before jumping to OS.
20064 (grub_multiboot2_real_boot): Likewise.
20065
2ddd36d7 200662009-07-28 Felix Zielcke <fzielcke@z-51.de>
20067
20068 * util/i386/pc/grub-install: Fix parsing of --disk-module
20069 option.
20070
c521b62b 200712009-07-28 Felix Zielcke <fzielcke@z-51.de>
20072
20073 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
20074 when embedding.
20075
880e0a0c 200762009-07-26 Felix Zielcke <fzielcke@z-51.de>
20077
20078 * util/grub-mkconfig.in (package_version): New variable.
20079 Use it do display the version.
20080
2366e356 200812009-07-25 Felix Zielcke <fzielcke@z-51.de>
20082
20083 * kern/file.c (grub_file_open): Revert to previous check with
20084 grub_errno.
20085
7ad8c80e 200862009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20087
20088 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
20089 from help line. It's out of sync with code.
20090
72b9658b 200912009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20092
20093 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
20094 entries on failed boot.
20095
77435277 200962009-07-25 Felix Zielcke <fzielcke@z-51.de>
20097
20098 * kern/file.c (grub_file_open): Fix an error check.
20099
fcaa8b21 201002009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
20101
35d16c74 20102 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
20103 partition map couldn't be identified.
fcaa8b21 20104
48904cd1 201052009-07-23 Pavel Roskin <proski@gnu.org>
20106
ef3c317f 20107 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
20108 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
20109 case of little endian words becomes just an optimization.
20110 Respect const modifier.
ad8ea1f4 20111 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 20112
48904cd1 20113 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
20114 to avoid loss of upper bits if align is unsigned and shorter
20115 than addr.
20116
260c9a89 201172009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20118
20119 UUID support for UFS
20120
20121 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
20122 (grub_ufs_uuid): New function.
20123 (grub_ufs_fs): add .uuid
20124
f76ce889 201252009-07-21 Pavel Roskin <proski@gnu.org>
20126
20127 * kern/dl.c (grub_dl_check_header): Make static.
20128
6a6cbcaf 201292009-07-21 Felix Zielcke <fzielcke@z-51.de>
20130
20131 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
20132 add drivemap for Vista. It breaks Windows 7.
20133
cffcddb2 201342009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20135
20136 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
20137 128 bytes
20138
1ef44b80 201392009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20140
20141 Add BFS support
20142
20143 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
20144 (grub_fstest_SOURCES): Likewise.
20145 (pkglib_MODULES): Add befs.mod.
20146 (befs_mod_SOURCES): New variable.
20147 (befs_mod_CFLAGS): Likewise.
20148 (befs_mod_LDFLAGS): Likewise.
20149 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20150 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20151 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20152 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20153 (grub_setup_SOURCES): Likewise.
20154 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20155 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20156 (grub_setup_SOURCES): Likewise.
20157 * fs/befs.c: New file.
20158 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
20159 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
20160 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
20161 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
20162 (B_KEY_INDEX_ALIGN): New declaration.
20163 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
20164 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
20165 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
20166 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
20167 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
20168 (grub_afs_mount) [MODE_BFS]: Likewise.
20169 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
20170 (grub_afs_fs): Use GRUB_AFS_FSNAME
20171 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
20172 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
20173 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
20174 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
20175
4f253044 201762009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
20177
20178 * util/getroot.c (find_root_device): Add support for MacOSX.
20179 * util/hostdisk.c: Likewise.
20180
57a55913 201812009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20182
20183 * font/font.c (find_glyph): Check whether a font is present to avoid
20184 segmentation fault.
75421ca9 20185
201862009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 20187
20188 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
20189
e98cd0c2 201902009-07-20 Pavel Roskin <proski@gnu.org>
20191
20192 * configure.ac: Trim excessively wordy excuses.
20193
1d2d169a 201942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20195
20196 Add symlink, mtime and label support to AtheFS.
20197
20198 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
20199 (grub_afs_iterate_dir): Handle symlinks.
20200 (grub_afs_open): Use grub_afs_read_symlink.
20201 (grub_afs_dir): Likewise.
20202 Pass mtime.
20203 (grub_afs_label): New function.
20204 (grub_afs_fs): Add grub_afs_label.
20205 (grub_afs_read_symlink): New function.
20206
186f3189 202072009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20208
20209 Fix AtheFS support.
20210
20211 * fs/afs.c: Fix comments style.
20212 (grub_afs_blockrun): Declare as packed.
20213 (grub_afs_datastream): Likewise.
20214 (grub_afs_bnode): Likewise.
20215 (grub_afs_btree): Likewise.
20216 (grub_afs_sblock): Likewise.
20217 Declare `name' as char.
20218 (grub_afs_inode): Declare as packed.
20219 Change void *vnode to grub_uint32_t unused.
20220 (grub_afs_iterate_dir): Check that key_size is positive.
20221 (grub_afs_mount): Don't read superblock twice.
75421ca9 20222 (grub_afs_dir): Don't free node in case of error,
186f3189 20223 grub_fshelp_find_file already handles this.
20224 (grub_afs_open): Likewise.
20225
5680109e 202262009-07-19 Pavel Roskin <proski@gnu.org>
20227
20228 * Makefile.in: Remove LIBLZO and enable_lzo.
20229 * conf/i386-pc.rmk: Remove lzo support.
20230 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
20231 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
20232 support.
20233 * kern/i386/pc/lzo1x.S: Remove.
20234 * kern/i386/pc/startup.S: Remove lzo support.
20235 * util/i386/pc/grub-mkimage.c: Likewise.
20236
ac70fa32 202372009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
20238
20239 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
20240 * fs/xfs.c (grub_xfs_dir): Likewise.
20241 * fs/afs.c (grub_afs_dir): Likewise.
20242 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
20243 (grub_iso9660_open): Likewise.
20244 * fs/jfs.c (grub_jfs_open): Likewise.
20245 * fs/ext2.c (grub_ext2_dir): Likewise.
20246 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
20247 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 20248
eab58da2 202492009-07-16 Pavel Roskin <proski@gnu.org>
20250
d2838156 20251 * configure.ac: Never add "-c" to CFLAGS.
20252
55c70904 20253 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
20254
43e6200c 20255 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
20256 grub_cv_cc_efiemu should be used.
20257
ce7a733d 20258 * configure.ac: Typo fixes.
20259
eab58da2 20260 * kern/mm.c (grub_zalloc): New function.
20261 (grub_debug_zalloc): Likewise.
20262 * include/grub/mm.h: Declare grub_zalloc() and
20263 grub_debug_zalloc().
20264 * util/misc.c (grub_zalloc): New function.
20265 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
20266 instead of grub_malloc(), remove unneeded initializations.
20267 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
20268 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
20269 * commands/parttool.c (grub_cmd_parttool): Likewise.
20270 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20271 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
20272 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
20273 * disk/usbms.c (grub_usbms_finddevs): Likewise.
20274 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
20275 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
20276 (grub_cmd_efiemu_pnvram): Likewise.
20277 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
20278 * fs/iso9660.c (grub_iso9660_mount): Likewise.
20279 (grub_iso9660_iterate_dir): Likewise.
20280 * fs/jfs.c (grub_jfs_opendir): Likewise.
20281 * fs/ntfs.c (list_file): Likewise.
20282 (grub_ntfs_mount): Likewise.
20283 * kern/disk.c (grub_disk_open): Likewise.
20284 * kern/dl.c (grub_dl_load_core): Likewise.
20285 * kern/elf.c (grub_elf_file): Likewise.
20286 * kern/env.c (grub_env_context_open): Likewise.
20287 (grub_env_set): Likewise.
20288 (grub_env_set_data_slot): Likewise.
20289 * kern/file.c (grub_file_open): Likewise.
20290 * kern/fs.c (grub_fs_blocklist_open): Likewise.
20291 * loader/i386/multiboot.c (grub_module): Likewise.
20292 * loader/xnu.c (grub_xnu_create_key): Likewise.
20293 (grub_xnu_create_value): Likewise.
20294 * normal/main.c (grub_normal_add_menu_entry): Likewise.
20295 (read_config_file): Likewise.
20296 * normal/menu_entry.c (make_screen): Likewise.
20297 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20298 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
20299 * script/sh/script.c (grub_script_parse): Likewise.
20300 * video/bitmap.c (grub_video_bitmap_create): Likewise.
20301 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
20302 * video/readers/png.c (grub_png_output_byte): Likewise.
20303 (grub_video_reader_png): Likewise.
20304
830afef7 203052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 20306
20307 Enable all targets that can be built by default
20308
830afef7 20309 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 20310 grub-mkfont and grub-fstest if they can be built
20311
ee293aee 203122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20313
20314 Fix hang and segmentation fault in grub-emu-usb
20315
20316 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
20317 * util/usb.c (grub_libusb_devices): likewise
20318 (grub_libusb_init): rename to ...
20319 (GRUB_MOD_INIT (libusb)):...this
20320 (grub_libusb_fini): rename to ..
20321 (GRUB_MOD_FINI (libusb)):...this
20322 * disk/usbms.c (grub_usbms_transfer): fix retry logic
20323 * include/grub/disk.h (grub_raid_init): removed, it's useless
20324 (grub_raid_fini): likewise
20325 (grub_lvm_init): likewise
20326 (grub_lvm_fini): likewise
20327 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
20328 by grub_init_all
20329
94414221 203302009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20331
20332 Fix libusb
20333
20334 * Makefile.in (LIBUSB): new macro
20335 * genmk.rb (Utility/print_tail): new method
20336 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
20337 (top level): call util.print_tail at the end.
20338
59ade63d 203392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20340
20341 Make FreeBSD accept zpool.cache
20342
20343 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
20344 type is /boot/zfs/zpool.cache
20345
a58da8c7 203462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20347
20348 Fix 64-bit efiemu
20349
20350 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
20351 correct wrong typedef
20352 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
20353
20591577 203542009-07-15 Pavel Roskin <proski@gnu.org>
20355
560ca572 20356 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
20357 * kern/disk.c (struct grub_disk_cache): Likewise.
20358
e8e8e4fd 20359 * commands/probe.c (options): Typo fix.
20360
fde24e10 20361 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
20362 Increase to 0x5a to accommodate FAT32. Adjust other offsets
20363 accordingly.
20364 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
20365
379c54c1 20366 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
20367 the end of "Error" to make the message more readable.
20368
7bd8f5bf 20369 * boot/i386/pc/boot.S (kernel_segment): Remove.
20370 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
20371 for destination.
20372
40b132c5 20373 * boot/i386/pc/boot.S (boot_version): Remove.
20374 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
20375 Remove.
20376
20591577 20377 * include/grub/i386/pc/boot.h: Sort all offsets.
20378 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
20379 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
20380 * boot/i386/pc/boot.S: Assert location of every offset listed in
20381 include/grub/i386/pc/boot.h.
20382
2df32b2c 203832009-07-13 Pavel Roskin <proski@gnu.org>
20384
44b5d879 20385 * include/grub/i386/coreboot/machine.h: Rename
20386 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
20387 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
20388 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
20389
17dc3751 20390 * kern/dl.c: Force native word size to suppress warnings when
20391 compiling grub-emu.
20392
2df32b2c 20393 * kern/device.c (grub_device_iterate): Change struct part_ent to
20394 hold the name, not a pointer to it. Use one grub_malloc() per
20395 partition, not two. Free partition_name if grub_malloc() fails.
20396 Set ents to NULL only before grub_partition_iterate() is called.
20397
75c59f59 203982009-07-11 Bean <bean123ch@gmail.com>
20399
20400 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
20401 childname.
20402
0ae1bf88 204032009-07-10 Bean <bean123ch@gmail.com>
204042009-07-10 Robert Millan <rmh.grub@aybabtu.com>
20405
20406 * kern/ieee1275/openfw.c (grub_children_iterate)
20407 (grub_devalias_iterate): Fix size evaluation for property or path
20408 strings, which was broken since r2132.
20409
8279cade 204102009-07-07 Pavel Roskin <proski@gnu.org>
20411
7d8a52d3 20412 * commands/search.c (search_file): Merge into ...
20413 (search_fs): ... this. Accept search type as argument.
20414 (grub_cmd_search): Pass search type to search_fs().
20415
25f9a05a 20416 * include/grub/util/console.h: New file.
20417 * util/console.c: Use it instead of grub/machine/console.h.
20418 * util/grub-emu.c: Likewise.
20419
8279cade 20420 * lib/arg.c (find_long_option): Remove.
20421 (find_long): Add `len' argument, make `s' const char *.
20422 (grub_arg_parse): Parse long options in place, not in a
20423 temporary buffer.
20424
4a11b60f 204252009-07-06 Pavel Roskin <proski@gnu.org>
20426
99f68041 20427 * commands/search.c (search_fs): Fix potential NULL pointer
20428 dereference.
20429
4a11b60f 20430 * commands/search.c (search_fs): Replace QUID macro with quid_fn
20431 function pointer.
20432
e110f4de 204332009-07-06 Daniel Mierswa <impulze@impulze.org>
20434
20435 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
20436 comparison.
20437
46eeb6a2 204382009-07-05 Pavel Roskin <proski@gnu.org>
20439
bab74958 20440 * include/grub/i386/linux.h (struct linux_kernel_params):
20441 Restore padding3, it's still needed.
20442
46eeb6a2 20443 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
20444 FreeBSD.
20445 * util/osdetect.lua: Likewise.
20446
b4a1dc79 204472009-07-05 Bean <bean123ch@gmail.com>
20448
20449 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
20450
20451 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
20452 (grub_lua_getenv): Likewise.
20453 (grub_lua_setenv): Likewise.
20454 (save_errno): New function.
20455 (push_result): Likewise.
20456 (grub_lua_enum_device): Likewise.
20457 (grub_lua_enum_file): Likewise.
20458 (grub_lua_file_open): Likewise.
20459 (grub_lua_file_close): Likewise.
20460 (grub_lua_file_seek): Likewise.
20461 (grub_lua_file_read): Likewise.
20462 (grub_lua_file_getline): Likewise.
20463 (grub_lua_file_getsize): Likewise.
20464 (grub_lua_file_getpos): Likewise.
20465 (grub_lua_file_eof): Likewise.
20466 (grub_lua_file_exist): Likewise.
20467 (grub_lua_add_menu): Likewise.
20468
20469 * script/lua/grub_lua.h (isupper): New inline function.
20470 (islower): Likewise.
20471 (ispunct): Likewise.
20472 (isxdigit): Likewise.
20473 (strcspn): Change to normal function.
20474 (strpbkr): New function declaration.
20475 (memchr): Likewise.
20476
20477 * script/lua/grub_main.c (scan_str): New function.
20478 (strcspn): Likewise.
20479 (strpbrk): Likewise.
20480 (memchr): Likewise.
20481
20482 * script/lua/linit.c (lualibs): Enable the string library.
20483
20484 * util/osdetect.lua: New file.
20485
2da92295 204862009-07-04 Robert Millan <rmh.grub@aybabtu.com>
20487
20488 * include/grub/i386/linux.h (struct linux_kernel_params): Add
20489 `capabilities' member.
20490
b2582ec9 204912009-07-02 Pavel Roskin <proski@gnu.org>
20492
20493 * genparttoollist.sh: Add missing newline at the end.
20494
32622956 204952009-07-01 Pavel Roskin <proski@gnu.org>
20496
87a7339e 20497 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
20498
d23af54e 20499 * util/hostdisk.c (open_device): Remove `const' from
20500 `sysctl_size', as sysctlbyname() can change it (in this case it
20501 doesn't actually happen).
20502
c94b18a9 20503 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
20504 using signed long int constants.
20505
c6cd3ef0 20506 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
20507 constant to avoid a warning on FreeBSD.
20508
0df63420 20509 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
20510 where it's needed.
20511
999577f1 20512 * Makefile.in: Install include/grub/machine symlink.
20513
6f41557f 20514 * Makefile.in: When installing symlinks, use "cp -fR", which
20515 works on FreeBSD and MacOSX.
20516 From Yves Blusseau <cl7m42e02@sneakemail.com>
20517
c8d22988 20518 * kern/dl.c (grub_dl_resolve_symbol): Make static.
20519 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
20520
1b96e952 20521 * util/misc.c: Move grub_reboot() and grub_halt() ...
20522 * util/grub-emu.c: ... here. Make main_env static.
20523 * include/grub/util/misc.h: Remove main_env.
20524
2ef0084d 20525 * kern/mm.c: Use correct format to print size_t.
20526
32622956 20527 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
20528 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
20529 * kern/powerpc/dl.c: Likewise.
20530 * kern/sparc64/dl.c: Likewise.
20531 * kern/x86_64/dl.c: Likewise.
20532
3f7f0cd0 205332009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20534
20535 Fix grub-emu build on sparc64-ieee1275.
20536
75421ca9 20537 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 20538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
20539
211d06b5 205402009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20541
20542 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
20543 (grub_reboot, grub_halt): New functions.
20544
20545 * util/i386/pc/misc.c: Delete. Update all users.
20546 * util/sparc64/ieee1275/misc.c: Likewise.
20547 * util/powerpc/ieee1275/misc.c: Likewise.
20548
aaf53e3c 205492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20550
20551 * conf/i386.rmk (setjmp_mod_SOURCES)
20552 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
20553 * conf/common.rmk (setjmp_mod_SOURCES)
20554 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
20555 to use $(target_cpu).
20556 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
20557 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
20558 * conf/powerpc-ieee1275.rmk: Likewise.
20559 * conf/sparc64-ieee1275.rmk: Likewise.
20560
20561 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
20562 $(target_cpu) for kern/$(target_cpu)/dl.c.
20563 * conf/i386-efi.rmk: Likewise.
20564 * conf/i386-ieee1275.rmk: Likewise.
20565 * conf/x86_64-efi.rmk: Likewise.
20566 * conf/i386-coreboot.rmk: Likewise.
20567 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
20568 $(target_cpu) for kern/$(target_cpu)/dl.c and for
20569 kern/$(target_cpu)/cache.S.
20570 * conf/sparc64-ieee1275.rmk: Likewise.
20571
a337130b 205722009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20573
20574 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
20575 type to `grub_uint8_t', and adjust `padding9' accordingly.
20576
c6fe4d53 205772009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20578
b09db61d 20579 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
20580
c6fe4d53 20581 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
20582 assembly in final jump, using register constraints.
20583
b09db61d 20584 (grub_linux_boot): For text mode, initialize `have_vga' using
20585 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
20586
20587 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
20588 right before the final jump.
20589
20590 Set `video_mode' to 0x3.
20591
20592 Document initialization of `video_page', `video_mode' and
20593 `video_ega_bx'.
20594
28333ad0 205952009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20596
20597 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
20598 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 20599 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 20600
02164e1b 206012009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20602
20603 Fix build on Debian / sparc.
20604
20605 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
20606
18b6c557 206072009-06-28 Pavel Roskin <proski@gnu.org>
20608
85f2aab6 20609 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
20610 fix a warning.
20611
18b6c557 20612 * util/grub.d/10_linux.in: Match SUSE style initrd names.
20613
ad760f81 206142009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20615
20616 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
20617 `err'.
20618
87a4623b 206192009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20620
20621 Revert r2338.
20622
20623 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
20624 file can't be opened. grub_file_open() is already supposed to set
75421ca9 20625 grub_errno / grub_errmsg appropriately.
87a4623b 20626 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20627
8231fb77 206282009-06-27 Pavel Roskin <proski@gnu.org>
206292009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20630
20631 * include/grub/dl.h: Include grub/elf.h.
20632 (struct grub_dl): Add symtab field.
20633 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
20634 GRUB_MODULES_MACHINE_READONLY.
20635 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
20636 of the header for read-only modules.
20637 (grub_dl_unload): Free mod->symtab for read-only modules.
20638 * kern/i386/dl.c: Use mod->symtab.
20639 * kern/powerpc/dl.c: Likewise.
20640 * kern/sparc64/dl.c: Likewise.
20641 * kern/x86_64/dl.c: Likewise.
20642
20643 * conf/i386-qemu.rmk: New file.
20644 * kern/i386/qemu/startup.S: Likewise.
20645 * kern/i386/qemu/mmap.c: Likewise.
20646 * boot/i386/qemu/boot.S: Likewise.
20647 * include/grub/i386/qemu/time.h: Likewise.
20648 * include/grub/i386/qemu/serial.h: Likewise.
20649 * include/grub/i386/qemu/kernel.h: Likewise.
20650 * include/grub/i386/qemu/console.h: Likewise.
20651 * include/grub/i386/qemu/boot.h: Likewise.
20652 * include/grub/i386/qemu/init.h: Likewise.
20653 * include/grub/i386/qemu/machine.h: Likewise.
20654 * include/grub/i386/qemu/loader.h: Likewise.
20655 * include/grub/i386/qemu/memory.h: Likewise.
20656
20657 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
20658 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
20659 [qemu] (pkglib_IMAGES): Add `boot.img'.
20660 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
20661 [qemu] (boot_img_FORMAT): New variables.
20662 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
20663 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
20664 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
20665 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20666 [qemu] (kernel_img_FORMAT): New variables.
20667
20668 * configure.ac: Recognise `i386-qemu'.
20669
20670 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
20671 (for no compression).
20672 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
20673 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
20674 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
20675 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
20676 ifdefs).
20677
97fe384e 206782009-06-27 Pavel Roskin <proski@gnu.org>
20679
20680 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
20681 read.
20682 * efiemu/prepare32.c: Likewise.
20683 * efiemu/prepare64.c: Likewise.
20684
c402ab17 206852009-06-26 Pavel Roskin <proski@gnu.org>
20686
20687 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
20688 * include/grub/elf.h: Define symbols without "32" or "64" based
20689 on GRUB_TARGET_WORDSIZE.
20690 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
20691 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
20692 ELF definitions.
20693 * efiemu/loadcore64.c: Likewise.
20694 * loader/i386/bsd32.c: Likewise.
20695 * loader/i386/bsd64.c: Likewise.
20696 * kern/dl.c: Remove own ELF definitions.
20697 * util/i386/efi/grub-mkimage.c: Likewise.
20698
9bbdfd4d 206992009-06-23 Robert Millan <rmh.grub@aybabtu.com>
20700
20701 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
20702 segment 0x0 unconditionally, because the reference generated by
20703 GAS is an absolute address.
20704
a42ce6e9 207052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20706
20707 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
20708 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
20709
c952cf92 207102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20711
20712 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
20713 indexes. Check for -f explicitly.
cc3752ad 20714 (search_file): Improve error message.
20715 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 20716
132a0a59 207172009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20718
20719 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
20720 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
20721
387a140c 207222009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20723
20724 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
20725 * conf/i386-ieee1275.rmk: Likewise.
20726 * conf/i386-coreboot.rmk: Likewise.
20727
20728 * kern/i386/pc/startup.S (grub_stop): Remove function.
20729 * kern/i386/ieee1275/startup.S: Likewise.
20730 * kern/i386/coreboot/startup.S: Likewise.
20731 * kern/i386/misc.S (grub_stop): New function.
20732
41da9665 207332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20734
20735 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
20736 * kern/i386/realmode.S (real_to_prot): ... to here.
20737
bf337234 207382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20739
20740 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
20741 with `kernel.img'.
20742 (kernel_elf_SOURCES): Rename to ...
20743 (kernel_img_SOURCES): ... this.
20744 (kernel_elf_HEADERS): Rename to ...
20745 (kernel_img_HEADERS): ... this. Update all users.
20746 (kernel_elf_ASFLAGS): Rename to ...
20747 (kernel_img_ASFLAGS): ... this.
20748 (kernel_elf_CFLAGS): Rename to ...
20749 (kernel_img_CFLAGS): ... this.
20750 (kernel_elf_LDFLAGS): Rename to ...
20751 (kernel_img_LDFLAGS): ... this.
20752 * conf/i386-coreboot.rmk: Likewise.
20753 * conf/powerpc-ieee1275.rmk: Likewise.
20754
20755 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
20756 with "kernel.img".
20757
f52196ff 207582009-06-21 Pavel Roskin <proski@gnu.org>
20759
c3cee413 20760 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
20761 to match nested functions.
20762 * loader/sparc64/ieee1275/linux.c: Likewise.
20763
f52196ff 20764 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
20765
58750afc 207662009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20767
20768 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
20769 all i386 platforms.
20770
15355c7d 207712009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20772
20773 Fix asm file handling on ELF, and remove workarounds.
20774
20775 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 20776 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 20777 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
20778 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
20779
3f3ec72b 207802009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
20781
20782 Load BSD ELF modules
20783
20784 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
20785 and loader/i386/bsd64.c
20786 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
20787 (FREEBSD_MODTYPE_ELF_MODULE): New definition
20788 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
20789 (grub_freebsd_load_elfmodule32): New declaration
20790 (grub_freebsd_load_elfmoduleobj64): Likewise
20791 (grub_freebsd_load_elf_meta32): Likewise
20792 (grub_freebsd_load_elf_meta64): Likewise
20793 (grub_freebsd_add_meta): Likewise
20794 (grub_freebsd_add_meta_module): Likewise
20795 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
20796 (grub_freebsd_add_meta_module): Likewise and move module-specific
20797 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
20798 (grub_cmd_freebsd): Add elf-kernel specific parts
20799 based on grub_freebsd_add_meta_module
20800 (grub_cmd_freebsd_module): Add type parsing moved from
20801 grub_freebsd_add_meta_module
20802 (grub_cmd_freebsd_module_elf): New function
20803 (cmd_freebsd_module_elf): New variable
20804 (GRUB_MOD_INIT): Register freebsd_module_elf
20805 * loader/i386/bsd32.c: New file
20806 * loader/i386/bsd64.c: Likewise
20807 * loader/i386/bsdXX.c: Likewise
20808 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
20809 (grub_elf64_load): Likewise
20810 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
20811 All users updated
20812 (grub_elf64_load_hook_t): Likewise
20813
0db15301 208142009-06-21 Colin Watson <cjwatson@ubuntu.com>
20815
20816 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
20817 variable.
20818 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
20819 don't write a menu entry for recovery mode.
20820
546796c1 208212009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20822
20823 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
20824 after it's no longer needed.
20825
cd7310d5 208262009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20827
20828 * include/grub/i386/loader.h (grub_linux_prot_size)
20829 (grub_linux_tmp_addr, grub_linux_real_addr)
20830 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
20831 GRUB_MACHINE_PCBIOS.
20832 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
20833 common grub_util_info() call to ...
20834 (generate_image): ... here.
20835 Fix use of uninitialized memory, comparison of signed with
20836 unsigned integers and memory leak.
20837 Remove bogus module address message.
20838
ab32d3b5 208392009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20840
20841 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
20842 grub_raid_register
20843 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
20844
024ef597 208452009-06-19 Pavel Roskin <proski@gnu.org>
20846
20847 * configure.ac: Remove stray AC_MSG_CHECKING.
20848
3ac72b51 208492009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
20850
20851 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 20852
e14cd814 208532009-06-18 Pavel Roskin <proski@gnu.org>
20854
20855 * conf/common.rmk: Add fs_file.mod.
20856 * disk/fs_file.c: New file.
20857 * include/grub/disk.h (enum grub_disk_dev_id): Add
20858 GRUB_DISK_DEVICE_FILE_ID.
20859
26586d98 208602009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20861
20862 Fix build with Apple's toolchain. Part 2
20863
20864 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
20865 a fake start
20866
26de2bcd 208672009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20868
20869 Fix build with Apple's toolchain. Part 1
20870
20871 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
20872 for long calls
20873 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 20874 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 20875 Apple's toolchain
20876
09b3490b 208772009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20878
20879 Fix warnings
20880
20881 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
20882 (decomp_block): initialize ch
20883 use grub_memcpy instead of memcpy
20884
c22a006a 208852009-06-17 Pavel Roskin <proski@gnu.org>
20886
d3638678 20887 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
20888 version, use declarations needed to use vga_text as the startup
20889 console.
20890
c22a006a 20891 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
20892 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
20893 the kernel.
20894 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
20895 and grub_at_keyboard_fini(), it's done on module load and
20896 unload.
20897
05b129e0 208982009-06-17 Felix Zielcke <fzielcke@z-51.de>
20899
20900 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
20901 file can't be found.
20902 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20903
cf24ed9e 209042009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20905
20906 Fix newline handling
20907
20908 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 20909 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 20910 (grub_script_yylex): don't segfault on unterminated script
20911 newline terminates command and variable
20912
74aa8e4b 209132009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20914
20915 avoid double grub_adjust_range call. Bug reported by David Simner
20916
20917 * kern/disk.c (grub_disk_write): change to raw disk access before
20918 calling disk_read
20919
1bd265f3 209202009-06-17 Colin Watson <cjwatson@ubuntu.com>
20921
20922 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
20923 spaces, for the benefit of help2man.
20924 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20925
a2d08c06 209262009-06-16 Pavel Roskin <proski@gnu.org>
20927
20928 * kern/i386/halt.c: Include grub/machine/init.h.
20929 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
20930
b97bcb19 209312009-06-16 Felix Zielcke <fzielcke@z-51.de>
20932
20933 * util/grub.d/30_os-prober.in: Use ${root} in the generated
20934 drivemap menuentry.
20935
0644f96c 209362009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
20937
20938 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
20939 `echo' command.
20940
3ef17a2e 209412009-06-16 Pavel Roskin <proski@gnu.org>
20942
20943 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
20944 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
20945 save %dx, we only need %dl and we never change it.
20946 * boot/i386/pc/cdboot.S: Don't set the root drive.
20947 * boot/i386/pc/pxeboot.S: Likewise.
20948 * include/grub/i386/pc/boot.h: Remove
20949 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
20950 GRUB_BOOT_MACHINE_DRIVE_CHECK.
20951 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
20952 * kern/i386/pc/init.c (make_install_device): Remove references
20953 to grub_root_drive.
20954 * kern/i386/pc/startup.S: Likewise.
20955 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
20956
693fe637 209572009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20958
20959 xnu_uuid command
20960
20961 * commands/xnu_uuid.c: new file
20962 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
20963 (xnu_uuid_mod_SOURCES): new variable
20964 (xnu_uuid_mod_CFLAGS): likewise
20965 (xnu_uuid_mod_LDFLAGS): likewise
20966 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
20967 * conf/i386-ieee1275.rmk: likewise
20968 * conf/i386-pc.rmk: likewise
20969 * conf/powerpc-ieee1275.rmk: likewise
20970 * conf/sparc64-ieee1275.rmk: likewise
20971 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
20972
c9da87d0 209732009-06-16 Pavel Roskin <proski@gnu.org>
20974
20975 * configure.ac: Avoid '==' in test command, it's not portable.
20976
9c6f4596 209772009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 Probe command
20980
20981 * commands/probe.c: new file
20982 * conf/common.rmk (pkglib_MODULES): add probe.mod
20983 (probe_mod_SOURCES): new variable
20984 (probe_mod_CFLAGS): likewise
20985 (probe_mod_LDFLAGS): likewise
20986 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
20987 * conf/i386-ieee1275.rmk: likewise
20988 * conf/i386-pc.rmk: likewise
20989 * conf/powerpc-ieee1275.rmk: likewise
20990 * conf/sparc64-ieee1275.rmk: likewise
20991
70b7f9fd 209922009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
20993
20994 Fix handling of string like \"hello\" and "a
20995 b"
20996
20997 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
20998 (grub_script_yylex): fix parsing of quoting, escaping and newline
20999
71c79a6b 210002009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
21001
dd74360c 21002 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 21003 handling
dd74360c 21004
0644f96c 210052009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 21006
21007 * util/grub-mkconfig.in: Fix parsing of --output option.
21008
e40893c3 210092009-06-12 Pavel Roskin <proski@gnu.org>
21010
21011 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
21012 genmk.rb don't need to be generated or installed.
21013
3a1acfe2 210142009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21015
21016 * commands/i386/pc/drivemap_int13h.S: add more comments
21017
3a4575d4 210182009-06-11 Pavel Roskin <proski@gnu.org>
21019
0658e928 21020 * Makefile.in (uninstall): Uninstall manuals.
21021
ca0388f0 21022 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
21023 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
21024 and update-grub_lib in two places.
21025 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
21026
e3b27c39 21027 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
21028 a compiler warning.
21029
3a4575d4 21030 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
21031 `entry_lo' to fix variable shadowing.
21032
af1f4f55 210332009-06-11 Christian Franke <franke@computer.org>
21034
21035 * kern/misc.c (__enable_execute_stack): Add missing return type
21036 to prevent gcc warning.
21037
5225e649 210382009-06-11 Felix Zielcke <fzielcke@z-51.de>
21039
21040 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
21041
7d83bd47 210422009-06-11 Pavel Roskin <proski@gnu.org>
21043
c1cb63ba 21044 * Makefile.in: Don't rely on any scripts being executable.
21045 Always use $(SHELL) to run shell scripts.
21046
7d83bd47 21047 * configure.ac: Always define ___main if using -nostdlib. This
21048 fixes tests on Cygwin.
21049
948f48e7 210502009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
21051
21052 UDF fix
21053
7d83bd47 21054 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 21055 is in bytes and not in blocks
7d83bd47 21056
8ada9bc1 210572009-06-11 Pavel Roskin <proski@gnu.org>
21058
21059 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
21060 warning.
21061
25ad2323 210622009-06-11 Felix Zielcke <fzielcke@z-51.de>
21063
21064 * util/grub.d/30_os-prober.in: Fix a comment. Source
21065 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
21066 to set the root device. Place drivemap command in the generated
21067 chain entry.
21068
e65acb0c 210692009-06-11 Pavel Roskin <proski@gnu.org>
21070
21071 * configure.ac: Remove host_m32. Issues with 64-bit utilities
21072 have long been resolved.
21073
f285fe2d 210742009-06-11 Colin Watson <cjwatson@ubuntu.com>
21075
bd47b0b5 21076 * util/grub.d/10_linux.in: Capitalise "Linux".
21077
f285fe2d 21078 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
21079
a0c62e4e 210802009-06-11 Pavel Roskin <proski@gnu.org>
21081
b6783cb2 21082 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
21083 fix a gcc warning and ensure that the function won't ever exit.
21084
dde032e8 21085 * kern/i386/ieee1275/init.c: Add missing prototype for
21086 grub_stop_floppy().
21087
22cd079d 21088 * loader/ieee1275/multiboot2.c [__i386__]: Include
21089 grub/cpu/multiboot.h.
21090
a0c62e4e 21091 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
21092 casts to short - they are not portable and cause warnings. Fix
21093 use of uninitialized values in input_buf. Use ARRAY_SIZE.
21094
63963d17 210952009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 Drivemap fixes
21098
21099 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
21100 new function
21101 (grub_get_root_biosnumber_saved): new variable
21102 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
21103 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 21104 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 21105 %dx after the call if necessary
21106 * conf/common.rmk (pkglib_MODULES): remove boot.mod
21107 (boot_mod_SOURCES): remove
21108 (boot_mod_CFLAGS): remove
21109 (boot_mod_LDFLAGS): remove
21110 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
21111 (boot_mod_SOURCES): new variable
21112 (boot_mod_CFLAGS): likewise
21113 (boot_mod_LDFLAGS): likewise
21114 * conf/i386-efi.rmk: likewise
21115 * conf/i386-ieee1275.rmk: likewise
21116 * conf/i386-pc.rmk: likewise
21117 * conf/powerpc-ieee1275.rmk: likewise
21118 * conf/sparc64-ieee1275.rmk: likewise
21119 * conf/x86_64-efi.rmk: likewise
21120 * include/grub/i386/pc/biosnum.h: new file
21121 * lib/i386/pc/biosnum.c: likewise
21122 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
21123 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
21124 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 21125
33abf7ae 211262009-06-10 Pavel Roskin <proski@gnu.org>
21127
5ac35b35 21128 * io/gzio.c (test_header): Don't reuse one buffer for all data.
21129 Use separate variables. Read only the file size at the end, but
21130 not the checksum that we don't use.
21131
5c5215d5 21132 * kern/file.c (grub_file_read): Use void pointer for the buffer.
21133 Adjust all callers.
21134
27d5fef7 21135 * kern/ieee1275/openfw.c: Remove libc includes.
21136 * kern/ieee1275/cmain.c: Likewise.
21137 * include/grub/ieee1275/ieee1275.h: Likewise.
21138
33abf7ae 21139 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
21140 compiler warnings.
21141
19d50c2b 211422009-06-10 Felix Zielcke <fzielcke@z-51.de>
21143
21144 * Makefile.in: Remove all trailing whitespace.
21145 * conf/i386-pc.rmk: Likewise.
21146 * conf/powerpc-ieee1275.rmk: Likewise.
21147 * conf/sparc64-ieee1275.rmk: Likewise.
21148 * docs/grub.texi: Likewise.
21149 * docs/texinfo.tex: Likewise.
21150 * disk/fs_uuid.c: Likewise.
21151 * disk/lvm.c: Likewise.
21152 * disk/scsi.c: Likewise.
21153 * disk/ata.c: Likewise.
21154 * disk/ieee1275/ofdisk.c: Likewise.
21155 * disk/i386/pc/biosdisk.c: Likewise.
21156 * disk/host.c: Likewise.
21157 * disk/raid.c: Likewise.
21158 * disk/efi/efidisk.c: Likewise.
21159 * disk/usbms.c: Likewise.
21160 * disk/memdisk.c: Likewise.
21161 * disk/loopback.c: Likewise.
21162 * kern/powerpc/dl.c: Likewise.
21163 * kern/device.c: Likewise.
21164 * kern/dl.c: Likewise.
21165 * kern/sparc64/dl.c: Likewise.
21166 * kern/ieee1275/ieee1275.c: Likewise.
21167 * kern/term.c: Likewise.
21168 * kern/fs.c: Likewise.
21169 * kern/i386/dl.c: Likewise.
21170 * kern/i386/pc/startup.S: Likewise.
21171 * kern/i386/pc/init.c: Likewise.
21172 * kern/i386/pc/mmap.c: Likewise.
21173 * kern/i386/pc/lzo1x.S: Likewise.
21174 * kern/i386/ieee1275/init.c: Likewise.
21175 * kern/i386/realmode.S: Likewise.
21176 * kern/i386/tsc.c: Likewise.
21177 * kern/partition.c: Likewise.
21178 * kern/corecmd.c: Likewise.
21179 * kern/file.c: Likewise.
21180 * kern/efi/efi.c: Likewise.
21181 * kern/efi/init.c: Likewise.
21182 * kern/efi/mm.c: Likewise.
21183 * kern/main.c: Likewise.
21184 * kern/err.c: Likewise.
21185 * kern/env.c: Likewise.
21186 * kern/disk.c: Likewise.
21187 * kern/generic/millisleep.c: Likewise.
21188 * kern/generic/rtc_get_time_ms.c: Likewise.
21189 * kern/misc.c: Likewise.
21190 * kern/parser.c: Likewise.
21191 * genmk.rb: Likewise.
21192 * configure.ac: Likewise.
21193 * boot/i386/pc/diskboot.S: Likewise.
21194 * boot/i386/pc/pxeboot.S: Likewise.
21195 * boot/i386/pc/boot.S: Likewise.
21196 * boot/i386/pc/lnxboot.S: Likewise.
21197 * boot/i386/pc/cdboot.S: Likewise.
21198 * parttool/pcpart.c: Likewise.
21199 * video/readers/tga.c: Likewise.
21200 * video/video.c: Likewise.
21201 * video/bitmap.c: Likewise.
21202 * lib/envblk.c: Likewise.
21203 * lib/i386/setjmp.S: Likewise.
21204 * fs/xfs.c: Likewise.
21205 * fs/afs.c: Likewise.
21206 * fs/fat.c: Likewise.
21207 * fs/ntfs.c: Likewise.
21208 * fs/udf.c: Likewise.
21209 * fs/affs.c: Likewise.
21210 * fs/iso9660.c: Likewise.
21211 * fs/hfs.c: Likewise.
21212 * fs/fshelp.c: Likewise.
21213 * fs/ext2.c: Likewise.
21214 * fs/jfs.c: Likewise.
21215 * fs/reiserfs.c: Likewise.
21216 * fs/hfsplus.c: Likewise.
21217 * fs/minix.c: Likewise.
21218 * fs/cpio.c: Likewise.
21219 * fs/sfs.c: Likewise.
21220 * fs/ufs.c: Likewise.
21221 * efiemu/prepare.c: Likewise.
21222 * efiemu/loadcore_common.c: Likewise.
21223 * efiemu/runtime/efiemu.sh: Likewise.
21224 * efiemu/runtime/efiemu.S: Likewise.
21225 * efiemu/runtime/efiemu.c: Likewise.
21226 * efiemu/pnvram.c: Likewise.
21227 * efiemu/main.c: Likewise.
21228 * efiemu/i386/pc/cfgtables.c: Likewise.
21229 * efiemu/i386/loadcore64.c: Likewise.
21230 * efiemu/i386/loadcore32.c: Likewise.
21231 * efiemu/loadcore.c: Likewise.
21232 * efiemu/symbols.c: Likewise.
21233 * efiemu/mm.c: Likewise.
21234 * include/grub/autoefi.h: Likewise.
21235 * include/grub/datetime.h: Likewise.
21236 * include/grub/term.h: Likewise.
21237 * include/grub/hfs.h: Likewise.
21238 * include/grub/lvm.h: Likewise.
21239 * include/grub/i386/tsc.h: Likewise.
21240 * include/grub/i386/linux.h: Likewise.
21241 * include/grub/i386/xnu.h: Likewise.
21242 * include/grub/i386/efiemu.h: Likewise.
21243 * include/grub/i386/pc/biosdisk.h: Likewise.
21244 * include/grub/i386/pc/memory.h: Likewise.
21245 * include/grub/i386/pc/vbe.h: Likewise.
21246 * include/grub/parttool.h: Likewise.
21247 * include/grub/video.h: Likewise.
21248 * include/grub/memory.h: Likewise.
21249 * include/grub/fs.h: Likewise.
21250 * include/grub/partition.h: Likewise.
21251 * include/grub/xnu.h: Likewise.
21252 * include/grub/efi/api.h: Likewise.
21253 * include/grub/efi/pe32.h: Likewise.
21254 * include/grub/efi/memory.h: Likewise.
21255 * include/grub/multiboot.h: Likewise.
21256 * include/grub/usbdesc.h: Likewise.
21257 * include/grub/multiboot2.h: Likewise.
21258 * include/grub/acpi.h: Likewise.
21259 * include/grub/efiemu/efiemu.h: Likewise.
21260 * include/grub/disk.h: Likewise.
21261 * include/grub/ieee1275/ieee1275.h: Likewise.
21262 * include/grub/net.h: Likewise.
21263 * include/grub/machoload.h: Likewise.
21264 * include/grub/macho.h: Likewise.
21265 * include/multiboot.h: Likewise.
21266 * genmoddep.awk: Likewise.
21267 * normal/main.c: Likewise.
21268 * normal/menu_entry.c: Likewise.
21269 * normal/menu_viewer.c: Likewise.
21270 * normal/completion.c: Likewise.
21271 * normal/cmdline.c: Likewise.
21272 * normal/misc.c: Likewise.
21273 * normal/datetime.c: Likewise.
21274 * bus/usb/usbtrans.c: Likewise.
21275 * bus/usb/ohci.c: Likewise.
21276 * bus/usb/uhci.c: Likewise.
21277 * bus/usb/usb.c: Likewise.
21278 * mmap/efi/mmap.c: Likewise.
21279 * mmap/i386/pc/mmap_helper.S: Likewise.
21280 * mmap/i386/pc/mmap.c: Likewise.
21281 * mmap/i386/mmap.c: Likewise.
21282 * mmap/i386/uppermem.c: Likewise.
21283 * mmap/mmap.c: Likewise.
21284 * commands/acpi.c: Likewise.
21285 * commands/echo.c: Likewise.
21286 * commands/blocklist.c: Likewise.
21287 * commands/loadenv.c: Likewise.
21288 * commands/usbtest.c: Likewise.
21289 * commands/boot.c: Likewise.
21290 * commands/parttool.c: Likewise.
21291 * commands/search.c: Likewise.
21292 * commands/cat.c: Likewise.
21293 * commands/i386/pc/play.c: Likewise.
21294 * commands/i386/pc/drivemap.c: Likewise.
21295 * commands/i386/pc/vbeinfo.c: Likewise.
21296 * commands/i386/pc/acpi.c: Likewise.
21297 * commands/i386/pc/vbetest.c: Likewise.
21298 * commands/ls.c: Likewise.
21299 * commands/cmp.c: Likewise.
21300 * commands/test.c: Likewise.
21301 * commands/efi/acpi.c: Likewise.
21302 * commands/gptsync.c: Likewise.
21303 * commands/help.c: Likewise.
21304 * partmap/amiga.c: Likewise.
21305 * partmap/apple.c: Likewise.
21306 * partmap/acorn.c: Likewise.
21307 * partmap/pc.c: Likewise.
21308 * partmap/sun.c: Likewise.
21309 * partmap/gpt.c: Likewise.
21310 * script/sh/lexer.c: Likewise.
21311 * script/sh/function.c: Likewise.
21312 * font/font.c: Likewise.
21313 * font/font_cmd.c: Likewise.
21314 * loader/powerpc/ieee1275/linux.c: Likewise.
21315 * loader/efi/chainloader.c: Likewise.
21316 * loader/multiboot_loader.c: Likewise.
21317 * loader/macho.c: Likewise.
21318 * loader/i386/multiboot.c: Likewise.
21319 * loader/i386/linux.c: Likewise.
21320 * loader/i386/pc/linux.c: Likewise.
21321 * loader/i386/pc/multiboot2.c: Likewise.
21322 * loader/i386/pc/chainloader.c: Likewise.
21323 * loader/i386/pc/xnu.c: Likewise.
21324 * loader/i386/bsd_trampoline.S: Likewise.
21325 * loader/i386/efi/linux.c: Likewise.
21326 * loader/i386/multiboot_elfxx.c: Likewise.
21327 * loader/i386/bsd_helper.S: Likewise.
21328 * loader/i386/bsd.c: Likewise.
21329 * loader/i386/linux_trampoline.S: Likewise.
21330 * loader/i386/xnu_helper.S: Likewise.
21331 * loader/i386/xnu.c: Likewise.
21332 * loader/i386/bsd_pagetable.c: Likewise.
21333 * loader/i386/multiboot_helper.S: Likewise.
21334 * loader/xnu.c: Likewise.
21335 * loader/xnu_resume.c: Likewise.
21336 * io/gzio.c: Likewise.
21337 * term/efi/console.c: Likewise.
21338 * term/terminfo.c: Likewise.
21339 * term/ieee1275/ofconsole.c: Likewise.
21340 * term/i386/pc/serial.c: Likewise.
21341 * term/i386/pc/vesafb.c: Likewise.
21342 * term/i386/pc/vga.c: Likewise.
21343 * term/usb_keyboard.c: Likewise.
21344 * term/gfxterm.c: Likewise.
21345 * aclocal.m4: Likewise.
21346 * util/lvm.c: Likewise.
21347 * util/grub.d/30_os-prober.in: Likewise.
21348 * util/grub.d/10_hurd.in: Likewise.
21349 * util/console.c: Likewise.
21350 * util/grub-macho2img.c: Likewise.
21351 * util/grub-probe.c: Likewise.
21352 * util/hostfs.c: Likewise.
21353 * util/i386/pc/grub-mkimage.c: Likewise.
21354 * util/i386/pc/grub-setup.c: Likewise.
21355 * util/i386/efi/grub-mkimage.c: Likewise.
21356 * util/grub-mkconfig.in: Likewise.
21357 * util/raid.c: Likewise.
21358 * util/resolve.c: Likewise.
21359 * util/grub-mkdevicemap.c: Likewise.
21360 * util/grub-emu.c: Likewise.
21361 * util/getroot.c: Likewise.
21362 * util/hostdisk.c: Likewise.
21363 * util/usb.c: Likewise.
21364 * util/grub-editenv.c: Likewise.
21365 * util/misc.c: Likewise.
21366
d2d49665 213672009-06-10 Felix Zielcke <fzielcke@z-51.de>
21368
21369 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
21370 `genparttoollist.sh'.
21371 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
21372 Add `*.sh' to the list find searches for and change `mdate.sh'
21373 to `mdate-sh'.
21374
fe052e37 213752009-06-10 Pavel Roskin <proski@gnu.org>
21376
2763ac18 21377 * include/grub/multiboot2.h: Provide compatibility defines for
21378 multiboot2.h.
21379 * include/multiboot2.h: Include stdint.h only if needed, using
21380 angle brackets.
21381 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
21382 grub/multiboot2.h.
21383 * loader/ieee1275/multiboot2.c: Likewise.
21384 * loader/multiboot2.c: Likewise.
21385 * loader/multiboot_loader.c: Likewise.
21386
437e6adc 21387 * configure.ac: Use -nostdlib when probing for the target. It
21388 should not be required to have libc for the target.
21389
06a6836c 21390 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
21391 they fail without libc headers for the target.
21392 * include/grub/powerpc/libgcc.h: Use weak attribute for all
21393 exports.
21394 * include/grub/sparc64/libgcc.h: Likewise. Don't use
21395 preprocessor conditionals.
21396
fe052e37 21397 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
21398 build system doesn't need to be aware of the tar.c internals.
21399
afd22553 214002009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 21401
afd22553 21402 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 21403
6b787c4f 214042009-06-09 Robert Millan <rmh.grub@aybabtu.com>
21405
21406 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
21407 disk limit to 26 for IDE, Virtio, Xen and SCSI.
21408
214092009-06-09 Felix Zielcke <fzielcke@z-51.de>
21410
21411 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 21412 aren't available if ata.mod gets used.
6b787c4f 21413
473d1e45 214142009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 21415
473d1e45 21416 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 21417 initialising controller.
473d1e45 21418 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 21419
255a27d4 214202009-06-08 Felix Zielcke <fzielcke@z-51.de>
21421
21422 * util/i386/pc/grub-install.in: Add a parameter --disk-module
21423 to choose between ata and biosdisk module on i386-pc.
21424
473d1e45 214252009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 21426
d55842d8 21427 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
21428 Subclass and Programming Interface fields in terms of the 3 byte
21429 Class Code register.
21430 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21431
fa5db0b1 21432 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
21433 interface is OHCI. Add grub_dprintf for symmetry with
21434 bus/usb/uhci.c.
21435 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
21436 interface is UHCI. Add interf variable for programming
21437 interface. Print interface with class/subclass.
21438
c0947beb 21439 * bus/usb/ohci.c: Set interf with correct field.
21440
69da8877 21441 * bus/usb/uhci.c: Remove unneeded doubled lines.
21442 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
21443 Remove whitespace inside comment.
21444
9e172e30 214452009-06-08 Robert Millan <rmh.grub@aybabtu.com>
21446
21447 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
21448 as fallback an equivalent option without depth.
21449
de65ee2b 214502009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21451
21452 Not fail if unable to retrieve C/H/S on LBA disks
21453
473d1e45 21454 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 21455 if unable to retrieve C/H/S on LBA disks
21456
b57ea2c9 214572009-06-08 Pavel Roskin <proski@gnu.org>
21458
21459 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
21460 about aliasing.
21461
af361263 214622009-06-08 Felix Zielcke <fzielcke@z-51.de>
21463
21464 * Makefile.in (uninstall): Remove all $lib_DATA files.
21465
4c9ec6b3 214662009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21467
21468 Bugfix: install on partitionless device
21469
21470 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
21471 is a whole disk
21472
e76fc924 214732009-06-08 Felix Zielcke <fzielcke@z-51.de>
21474
21475 * Makefile.in (uninstall): Remove all $include_DATA files.
21476
ba5a0d05 214772009-06-08 Felix Zielcke <fzielcke@z-51.de>
21478
21479 * commands/true.c: New file. Implement the true and false commands.
21480 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
21481 (true_mod_SOURCES): New variable.
21482 (true_mod_CFLAGS): Likewise.
21483 (true_mod_LDFLAGS): Likewise.
21484
c8048e32 214852009-06-05 Colin D Bennett <colin@gibibit.com>
21486
21487 Optimized font character lookup using binary search instead of linear
21488 search. Fonts now are required to have the character index ordered by
21489 code point.
21490
21491 * font/font.c (load_font_index): Verify that fonts have ordered
21492 character indices.
21493 (find_glyph): Use binary search instead of linear search to find a
21494 character in a font.
21495
408305be 214962009-06-05 Michael Scherer <misc@mandriva.org>
21497
21498 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
21499 uses case sensitive btree.
21500 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
21501 only for case insensitive filesystems.
21502
8ee1e0d9 215032009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
21504
21505 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
21506 * conf/common.rmk (search_mod_CFLAGS): likewise
21507
a9966eb1 215082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21509
473d1e45 21510 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 21511 compensate a compiler bug
21512
9e7100fb 215132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21514
473d1e45 21515 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 21516 instead of '\b'
473d1e45 21517
ede21d71 215182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21519
21520 Definitions for creating asm symbols with Apple's CC
21521
21522 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
21523 [APPLE_CC] (VARIABLE): likewise
21524
9dbf7653 215252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21526
21527 Disable lnxboot.img when compiled
21528 with Apple's CC
21529
21530 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
21531 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
21532 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
21533 [! APPLE_CC] (CODE_LENG): skip
21534 [! APPLE_CC] (setup_sects): likewise
21535 [! APPLE_CC]: skip filling
473d1e45 21536
e93cdc3d 215372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21538
21539 Address in trampolines based on 32-bit registers when compiled
21540 with Apple's CC
21541
473d1e45 21542 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 21543 for addresses
21544 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
21545
6c688477 215462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21547
21548 Avoid aliases when compiling with Apple's CC for PCBIOS machine
21549
21550 * kern/misc.c [APPLE_CC] (memcpy): new function
21551 [APPLE_CC] (memmove): likewise
21552 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 21553 (memcpy): define alias conditionally on !APPLE_CC
6c688477 21554 (memset): likewise
21555 (abort): likewise
21556 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
21557 APPLE_CC are defined
21558 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
21559 (grub_assert_fail): make prototype conditional
21560
e37ffc5c 215612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
21564
473d1e45 21565 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
21566 grub-macho2img
e37ffc5c 21567 (CLEANFILES): add grub-macho2img
21568 (grub_macho2img_SOURCES): new variable
21569 * kern/i386/pc/startup.S (bss_start): new variable
21570 (bss_end): likewise
21571 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
21572 * util/grub-macho2img.c: new file
21573
cf00df31 215742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21575
21576 Use objconv when compiling with Apple's CC
21577
21578 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
21579 (efiemu64.o): likewise
21580 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
21581 when compiling with Apple's CC
21582 (efiemu64_s.o): likewise
21583 * configure.ac: check for objconv when compiling with Apple's CC
21584 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 21585
d119a20c 215862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 Define segment as well as section when compiling with
21589 Apple's CC
21590
21591 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
21592 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
21593 (efiemu_convert_pointer): likewise
21594 (efiemu_set_virtual_address_map): likewise
21595 (efiemu_convert_pointer): likewise
21596 (efiemu_getcrc32): likewise
21597 (init_crc32_table): likewise
21598 (reflect): likewise
21599 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
21600 (GRUB_MOD_DEP): likewise
473d1e45 21601
c8600122 216022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21603
21604 Allow a compilation without -mcmodel=large
21605
21606 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
21607 when compiled without -mcmodel=large
473d1e45 21608 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 21609 without -mcmodel=large
473d1e45 21610 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 21611 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 21612
e8df1d4e 216132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21614
21615 Remove nested functions in efiemu core
21616
21617 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 21618
cc6c3ac1 216192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
21622
21623 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
21624 temporary storage
473d1e45 21625 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
21626 using Apple's CC
cc6c3ac1 21627 (grub_cpu_is_tsc_supported): likewise
21628 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 21629
3e325901 216302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21631
21632 Absolute addressing through constant with Apple's cc
21633
21634 * kern/i386/pc/startup.S: Define necessary constants
21635 and address through it when using ABS with Apple's CC
21636 * boot/i386/pc/diskboot.S: likewise
21637 * boot/i386/pc/boot.S: likewise
21638 * boot/i386/pc/lnxboot.S: likewise
21639 * boot/i386/pc/cdboot.S: likewise
21640 * mmap/i386/pc/mmap_helper.S: likewise
21641 * commands/i386/pc/drivemap_int13h.S: likewise
21642
2b167a72 216432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21644
21645 Check if compiler is apple cc
21646
21647 * Makefile.in (ASFLAGS): new variable
21648 (TARGET_ASFLAGS): likewise
21649 (TARGET_MODULE_FORMAT): likewise
21650 (TARGET_APPLE_CC): likewise
21651 (OBJCONV): likewise
21652 (TARGET_IMG_CFLAGS): likewise
21653 (TARGET_CPPFLAGS): add includedir
21654 * configure.ac: call grub_apple_cc and grub_apple_target_cc
21655 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
21656 Check for linker script only if compiler isn't Apple's CC
21657 (TARGET_MODULE_FORMAT): set
21658 (TARGET_APPLE_CC): likewise
21659 (TARGET_ASFLAGS): likewise
21660 (ASFLAGS): likewise
21661 Check for objcopy only if compiler isn't Apple's CC
21662 Check for BSS symbol only if compiler isn't Apple's CC
21663 * genmk.rb: adapt nm options if we use Apple's utils
21664 * aclocal.m4 (grub_apple_cc): new test
21665 (grub_apple_target_cc): likewise
473d1e45 21666
fb14123e 216672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21668
21669 Simplify sed expressions and improve awk
21670
21671 * Makefile.in (install-local): simplify sed expression
21672 * gencmdlist.sh: likewise
21673 * genmoddep.awk: avoid adding module as a dependency of itself
21674
5b889789 216752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 Add missing start symbols
21678
21679 * boot/i386/pc/boot.S: add start
fb14123e 21680 * boot/i386/pc/pxeboot.S: likewise
473d1e45 21681
fd2bf2e3 216822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21683
21684 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 21685
21686 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 21687 (relocate_addresses): consider both r_addend and value at offset
21688 (make_mods_section): zerofill modinfo and header
21689 (convert_elf): write prefix here
473d1e45 21690
5389763d 216912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21692
21693 Use .asciz instead of .string
21694
21695 * i386/pc/diskboot.S: use .asciz instead of .string
21696 * i386/pc/boot.S: likewise
21697 * include/grub/dl.h (GRUB_MOD_DEP): likewise
21698 (GRUB_MOD_NAME): likewise
473d1e45 21699
3eb5ed4e 217002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 gfxpayload support
21703
21704 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
21705 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
21706 (grub_video_setup): remove
21707 (grub_video_set_mode): new prototype
21708 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
21709 (vid_mode): remove
21710 (linux_vesafb_res): compile only on PCBIOS
21711 (grub_linux_boot): support gfxpayload
21712 * loader/i386/pc/xnu.c (video_hook): new function
21713 (grub_xnu_set_video): support gfxpayload
21714 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
21715 (DEFAULT_VIDEO_HEIGHT): likewise
21716 (DEFAULT_VIDEO_FLAGS): likewise
21717 (DEFAULT_VIDEO_MODE): new definition
21718 (video_hook): new function
21719 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 21720 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 21721 loading xnu
21722 * video/video.c (grub_video_setup): removed
473d1e45 21723 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 21724 grub_video_setup
21725
4b0e1143 217262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 Avoid calling biosdisk in drivemap
21729
21730 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
21731 (revparse_biosdisk): likewise
21732 (list_mappings): derive name from id directly
21733 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 21734
fda6cb98 217352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21736
21737 Script fixes
21738
21739 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
21740 (grub_lexer_param): add tokenonhold
21741 (grub_script_create_cmdline): remove cmdline. All callers updated
21742 (grub_script_function_create): make functionname
21743 grub_script_arg. All callers updated
21744 (grub_script_execute_argument_to_string): new prototype
21745 * kern/parser.c (state_transitions): reorder
21746 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 21747 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 21748 make global
21749 (grub_script_execute_cmdline): use new format
21750 * script/sh/function.c (grub_script_function_create): make functionname
21751 grub_script_arg. All callers updated
473d1e45 21752 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 21753 (grub_script_yylex): remove
21754 (grub_script_yylex2): renamed to ...
21755 (grub_script_yylex): ...renamed
21756 parse the expressions like a${b}c
21757 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
21758 (GRUB_PARSER_TOKEN_VAR): remove
21759 (GRUB_PARSER_TOKEN_NAME): likewise
21760 ("if"): declare as typeless
21761 ("while"): likewise
21762 ("function"): likewise
21763 ("else"): likewise
21764 ("then"): likewise
21765 ("fi"): likewise
21766 (text): remove
21767 (argument): likewise
21768 (script): accept empty scripts and make exit on error
21769 (arguments): use GRUB_PARSER_TOKEN_ARG
21770 (function): likewise
21771 (command): move error handling to script
21772 (menuentry): move grub_script_lexer_ref before
473d1e45 21773 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 21774 argument. All callers updated
21775
f4448a07 217762009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21777
21778 Prevent GRUB from probing floppies during boot.
21779
21780 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
21781 * commands/search.c (options): Add --no-floppy.
21782 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
21783 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
21784 --no-floppy when searching for UUIDs.
21785
2bf5885a 217862009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21787
21788 Simplify the code duplication in commands/search.c.
21789
21790 * commands/search.c (search_label, search_fs_uuid): Merge into ...
21791 (search_fs): ... this. Update all users.
21792
f6fd460a 217932009-06-03 Felix Zielcke <fzielcke@z-51.de>
21794
21795 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
21796
cbb3c83e 217972009-05-28 Pavel Roskin <proski@gnu.org>
21798
57788cfd 21799 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
21800 Remove the original symlink explicitly.
21801
cbb3c83e 21802 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
21803 just one slash. That's how grub_fshelp_find_file() does it.
21804
cd0d5e30 218052009-05-26 Pavel Roskin <proski@gnu.org>
21806
f0f8bbe2 21807 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
21808 to `str'.
21809
cd0d5e30 21810 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
21811 possibly unused.
21812
8c2cab51 218132009-05-25 Christian Franke <franke@computer.org>
21814
21815 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
21816 register.
21817 (grub_atapi_identify): Add wait after drive select.
21818 (grub_ata_identify): Do more strict status register check before
21819 calling grub_atapi_identify (). Suppress error message if status
21820 register is 0x00 after command failure. Add status register
21821 check after PIO read to avoid bogus identify due to stuck DRQ.
21822 Thanks to Pavel Roskin for testing.
21823 (grub_device_initialize): Remove unsafe status register check.
21824 Thanks to 'phcoder' for problem report and patch.
21825 Prevent sign extension in debug message.
21826
230c0ad6 218272009-05-23 Colin D Bennett <colin@gibibit.com>
21828
21829 Cleaned up `include/grub/normal.h'. Grouped prototypes by
21830 definition file, and functions defined in `normal/menu.c' have had
21831 their prototypes moved to `include/grub/menu.h' for consistency.
21832
21833 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
21834 from normal.h.
21835 (grub_menu_get_entry): Likewise.
21836 (grub_menu_get_timeout): Likewise.
21837 (grub_menu_set_timeout): Likewise.
21838 (grub_menu_execute_entry): Likewise.
21839 (grub_menu_execute_with_fallback): Likewise.
21840 (grub_menu_entry_run): Likewise.
21841
21842 * include/grub/normal.h: Re-ordered and grouped function
21843 prototypes by file that the function is defined in.
21844 (grub_menu_execute_callback): Removed; moved to menu.h.
21845 (grub_menu_get_entry): Likewise.
21846 (grub_menu_get_timeout): Likewise.
21847 (grub_menu_set_timeout): Likewise.
21848 (grub_menu_execute_entry): Likewise.
21849 (grub_menu_execute_with_fallback): Likewise.
21850 (grub_menu_entry_run): Likewise.
21851 (grub_menu_addentry): Renamed from this ...
21852 (grub_normal_add_menu_entry): ... to this.
21853
21854 * normal/main.c (grub_menu_addentry): Renamed from this ...
21855 (grub_normal_add_menu_entry): ... to this.
21856
21857 * script/sh/execute.c (grub_script_execute_menuentry): Update
21858 reference to renamed grub_menu_addentry function.
21859
861f03a5 218602009-05-23 Felix Zielcke <fzielcke@z-51.de>
21861
21862 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
21863
96b1619a 218642009-05-22 Pavel Roskin <proski@gnu.org>
21865
bf6a5fb2 21866 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
21867 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
21868 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
21869 compiling for the i386 targets, but not for the utilities.
21870
96b1619a 21871 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
21872 to grub_uint8_t.
21873 (grub_root_drive): Likewise.
21874 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
21875 remove alignment.
21876 (grub_root_drive): Change size to byte.
21877 (grub_start_addr): Remove.
21878 (grub_end_addr): Likewise.
21879 (grub_apm_bios_info): Likewise.
21880
b729776b 218812009-05-21 Felix Zielcke <fzielcke@z-51.de>
21882
21883 * normal/i386: Remove.
21884 * normal/powerpc: Likewise.
21885 * normal/sparc64: Likewise.
21886 * normal/x86_64: Likewise.
21887
0a15ce80 218882009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
21889
21890 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 21891 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 21892 * loader/i386/xnu_helper.S: Likewise
d6da58e6 21893
33db9015 218942009-05-18 Colin D Bennett <colin@gibibit.com>
21895
d6da58e6 21896 Display error messages when parsing a Lua statement fails.
21897 Previously, executing a syntactically invalid statement like
21898 ")foo" or "bar;" would silently fail.
33db9015 21899
21900 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 21901 (grub_lua_parse_line): Improved reporting of Lua parser and
21902 execution errors.
33db9015 21903
46422c89 219042009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21905
21906 Remove -Werror which causes build to fail on some systems
21907
21908 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
21909 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
21910 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 21911
22f53a96 219122009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21913
21914 trampoline for linux on 64-bit platform
21915
18f547ad 21916 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
21917 loader/i386/efi/linux_trampoline.S
21918 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 21919 declaration
d6da58e6 21920 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
21921 here
22f53a96 21922 * loader/i386/linux_trampoline.S: moved here
d6da58e6 21923 * loader/i386/efi/linux.c (allocate_pages): reserve space for
21924 trampoline
22f53a96 21925 (jumpvector): removed
21926 (grub_linux_trampoline_start): new declaration
21927 (grub_linux_trampoline_end): likewise
21928 (grub_linux_boot): use trampoline when on 64-bit platform
21929 * loader/i386/linux.c: likewise
21930
cb5a0f40 219312009-05-16 Pavel Roskin <proski@gnu.org>
21932
21933 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
21934 const to avoid a warning.
21935 (grub_lua_setenv): Likewise.
21936 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
21937 lmsg to fix a warning.
21938
334f2c28 219392009-05-16 Felix Zielcke <fzielcke@z-51.de>
21940
21941 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 21942 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21943 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
21944 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21945 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21946 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21947 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21948 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 21949
59e5d3ec 219502009-05-16 Felix Zielcke <fzielcke@z-51.de>
21951
21952 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
21953
9d87a1ba 219542009-05-16 Bean <bean123ch@gmail.com>
21955
21956 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
21957 (lua_mod_SOURCES): New variable.
21958 (lua_mod_CFLAGS): Likewise.
21959 (lua_mod_LDFLAGS): Likewise.
21960
21961 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
21962 (setjmp_mod_SOURCES): New variable.
21963 (setjmp_mod_CFLAGS): Likewise.
21964 (setjmp_LDFLAGS): Likewise.
21965
21966 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
21967 (setjmp_mod_SOURCES): New variable.
21968 (setjmp_mod_CFLAGS): Likewise.
21969 (setjmp_LDFLAGS): Likewise.
21970
21971 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
21972 (setjmp_mod_SOURCES): New variable.
21973 (setjmp_mod_CFLAGS): Likewise.
21974 (setjmp_LDFLAGS): Likewise.
21975
21976 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
21977 (setjmp_mod_SOURCES): New variable.
21978 (setjmp_mod_CFLAGS): Likewise.
21979 (setjmp_LDFLAGS): Likewise.
21980
21981 * normal/i386/setjmp.S: Moved from here ...
21982 * lib/i386/setjmp.S: ... Moved here
21983 * normal/x86_64/setjmp.S: Moved from here ...
21984 * lib/x86_64/setjmp.S: ... Moved here
21985 * normal/powerpc/setjmp.S: Moved from here ...
21986 * lib/powerpc/setjmp.S: ... Moved here
21987 * normal/sparc64/setjmp.S: Moved from here ...
21988 * lib/sparc64/setjmp.S: ... Moved here
21989
21990 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
21991 returns_twice in mingw.
21992
21993 * script/lua/grub_lib.c: New file.
21994 * script/lua/grub_lib.h: Likewise.
21995 * script/lua/grub_lua.h: Likewise.
21996 * script/lua/grub_main.c: Likewise.
21997 * script/lua/lapi.c: Likewise.
21998 * script/lua/lapi.h: Likewise.
21999 * script/lua/lauxlib.c: Likewise.
22000 * script/lua/lauxlib.h: Likewise.
22001 * script/lua/lbaselib.c: Likewise.
22002 * script/lua/lcode.c: Likewise.
22003 * script/lua/lcode.h: Likewise.
22004 * script/lua/ldblib.c: Likewise.
22005 * script/lua/ldebug.c: Likewise.
22006 * script/lua/ldebug.h: Likewise.
22007 * script/lua/ldo.c: Likewise.
22008 * script/lua/ldo.h: Likewise.
22009 * script/lua/ldump.c: Likewise.
22010 * script/lua/lfunc.c: Likewise.
22011 * script/lua/lfunc.h: Likewise.
22012 * script/lua/lgc.c: Likewise.
22013 * script/lua/lgc.h: Likewise.
22014 * script/lua/linit.c: Likewise.
22015 * script/lua/liolib.c: Likewise.
22016 * script/lua/llex.c: Likewise.
22017 * script/lua/llex.h: Likewise.
22018 * script/lua/llimits.h: Likewise.
22019 * script/lua/lmathlib.c: Likewise.
22020 * script/lua/lmem.c: Likewise.
22021 * script/lua/lmem.h: Likewise.
22022 * script/lua/loadlib.c: Likewise.
22023 * script/lua/lobject.c: Likewise.
22024 * script/lua/lobject.h: Likewise.
22025 * script/lua/lopcodes.c: Likewise.
22026 * script/lua/lopcodes.h: Likewise.
22027 * script/lua/loslib.c: Likewise.
22028 * script/lua/lparser.c: Likewise.
22029 * script/lua/lparser.h: Likewise.
22030 * script/lua/lstate.c: Likewise.
22031 * script/lua/lstate.h: Likewise.
22032 * script/lua/lstring.c: Likewise.
22033 * script/lua/lstring.h: Likewise.
22034 * script/lua/lstrlib.c: Likewise.
22035 * script/lua/ltable.c: Likewise.
22036 * script/lua/ltable.h: Likewise.
22037 * script/lua/ltablib.c: Likewise.
22038 * script/lua/ltm.c: Likewise.
22039 * script/lua/ltm.h: Likewise.
22040 * script/lua/lua.h: Likewise.
22041 * script/lua/luaconf.h: Likewise.
22042 * script/lua/lualib.h: Likewise.
22043 * script/lua/lundump.c: Likewise.
22044 * script/lua/lundump.h: Likewise.
22045 * script/lua/lvm.c: Likewise.
22046 * script/lua/lvm.h: Likewise.
22047 * script/lua/lzio.c: Likewise.
22048 * script/lua/lzio.h: Likewise.
22049
5e898c9d 220502009-05-16 Bean <bean123ch@gmail.com>
22051
22052 * include/grub/kernel.h (grub_module_header_types): Add type
22053 OBJ_TYPE_CONFIG.
22054
22055 * kern/main.c (grub_load_config): New function.
22056 (grub_main): Call grub_load_config to read boot config.
22057
22058 * grub-mkimage (generate_image): New parameter config_path.
22059 (options): New option --config.
22060 (main): Parse --config option, and pass it to generate_image.
22061
cf353a47 220622009-05-14 Christian Franke <franke@computer.org>
22063
22064 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
22065 This fixes build on Cygwin.
22066
3834887f 220672009-05-14 Pavel Roskin <proski@gnu.org>
22068
22069 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
22070 jump. This saves two bytes, so the typical case of 2 swapped
22071 drives would fit 32 bytes.
22072
8090fc01 220732009-05-13 Pavel Roskin <proski@gnu.org>
22074
ac963883 22075 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
22076 grub_uint32_t to avoid a warning.
22077
8090fc01 22078 * loader/i386/linux.c (allocate_pages): When assigning
22079 real_mode_mem, cast through grub_size_t to fix a warning. The
22080 code already makes sure that the value would fit a pointer.
22081 (grub_linux_setup_video): Cast render_target->data to
22082 grub_size_t to fix a warning.
22083
18f547ad 220842009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 22085
22086 * commands/i386/pc/drivemap.c: New file - implement drivemap
22087 command.
22088 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
22089 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
22090
6f6a8b28 220912009-05-13 Pavel Roskin <proski@gnu.org>
22092
22093 * util/i386/pc/grub-setup.c (setup): Remove unused variable
22094 embedding_area_exists.
22095
15fbf4c4 220962009-05-13 Robert Millan <rmh.grub@aybabtu.com>
22097
22098 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
22099 it easier to understand / work with.
59978c8a 22100 Improve warning messages for cases where there's no embedding area,
22101 or when it is too small (or core.img too large).
15fbf4c4 22102
238e871f 221032009-05-13 Pavel Roskin <proski@gnu.org>
22104
0ab3a9a4 22105 * loader/i386/pc/multiboot2.c: Add necessary includes for
22106 grub_multiboot2_real_boot().
22107
a2c8c5f8 22108 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
22109 PX record is always little-endian. We only need the lower 2
22110 bytes of the mode.
22111
faec96af 22112 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
22113 facilitate code reuse.
22114 (grub_cpio_mount): Use "struct head", not a char buffer. This
22115 fixes a warning reported by gcc 4.4.
22116
238e871f 22117 * kernel/disk.c (grub_disk_read): Use void pointer for the
22118 buffer.
22119 (grub_disk_write): Use const void pointer for the buffer.
22120 Adjust all callers. Remove unnecessary casts.
22121
901d2f0c 221222009-05-10 Robert Millan <rmh.grub@aybabtu.com>
22123
22124 * util/i386/pc/grub-install.in: Update copyright year.
22125
18f547ad 221262009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 22127
22128 gptsync
22129
22130 * commands/gptsync.c: new file
22131 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
22132 (gptsync_mod_SOURCES): new variable
22133 (gptsync_mod_CFLAGS): likewise
22134 (gptsync_mod_LDFLAGS): likewise
18f547ad 22135 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 22136 new definition
22137 (GRUB_PC_PARTITION_TYPE_HFS): likewise
22138 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
22139 * conf/i386-ieee1275.rmk: likewise
22140 * conf/i386-pc.rmk: likewise
22141 * conf/powerpc-ieee1275.rmk: likewise
22142
b4ba690a 221432009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22144
22145 Fixed grub-emu
22146
22147 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
22148 (grub_dl_ref): likewise
22149
317e1a44 221502009-05-08 Robert Millan <rmh.grub@aybabtu.com>
22151
22152 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
22153 split in two functions (one for msdos and one for gpt).
22154
041b8094 221552009-05-08 Pavel Roskin <proski@gnu.org>
22156
752473c2 22157 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
22158 not modified.
22159
041b8094 22160 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
22161 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
22162 Initialize them with -1. Add sanity check for bad1. Eliminate
22163 nerr variable.
22164
172800ce 221652009-05-08 David S. Miller <davem@davemloft.net>
22166
22167 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
22168
29aa5e81 221692009-05-06 Robert Millan <rmh.grub@aybabtu.com>
22170
22171 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 22172 existence.
29aa5e81 22173
96613b62 221742009-05-05 Felix Zielcke <fzielcke@z-51.de>
22175
22176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 22177 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 22178
eef73c8a 221792009-05-05 David S. Miller <davem@davemloft.net>
22180
22181 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
22182
119494b5 221832009-05-05 Pavel Roskin <proski@gnu.org>
22184
22185 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
22186 of grub_dl_ref() and grub_dl_unref().
22187 * commands/parttool.c: Remove preprocessor conditionals around
22188 grub_dl_ref() and grub_dl_unref().
22189 * fs/affs.c: Likewise.
22190 * fs/afs.c: Likewise.
22191 * fs/cpio.c: Likewise.
22192 * fs/ext2.c: Likewise.
22193 * fs/fat.c: Likewise.
22194 * fs/hfs.c: Likewise.
22195 * fs/hfsplus.c: Likewise.
22196 * fs/iso9660.c: Likewise.
22197 * fs/jfs.c: Likewise.
22198 * fs/minix.c: Likewise.
22199 * fs/ntfs.c: Likewise.
22200 * fs/reiserfs.c: Likewise.
22201 * fs/sfs.c: Likewise.
22202 * fs/udf.c: Likewise.
22203 * fs/ufs.c: Likewise.
22204 * fs/xfs.c: Likewise.
22205 * include/grub/dl.h: Likewise.
22206 * loader/xnu.c: Likewise.
22207
de5fd76e 222082009-05-04 Pavel Roskin <proski@gnu.org>
22209
22210 * commands/acpi.c: Remove unused variable my_mod.
22211 * partmap/amiga.c: Likewise.
22212 * partmap/apple.c: Likewise.
22213 * partmap/gpt.c: Likewise.
22214 * partmap/pc.c: Likewise.
22215 * partmap/sun.c: Likewise.
22216 * term/gfxterm.c: Likewise.
22217 * term/i386/pc/vesafb.c: Likewise.
22218 * term/i386/pc/vga.c: Likewise.
22219
983598ad 222202009-05-04 David S. Miller <davem@davemloft.net>
22221
22222 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
22223 pointer args to grub_ieee1275_get_property().
22224
8aadec43 22225 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
22226
9554b15e 22227 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
22228 devices, and do not traverse down under controller nodes.
22229
67e23c90 22230 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
22231 (grub_ofdisk_open): Use it to un-escape "," characters.
22232 * kern/disk.c (find_part_sep): New.
22233 (grub_disk_open): Use it to find the first non-escaped ','
22234 character in the disk name.
22235 * util/ieee1275/devicemap.c (escape_of_path): New.
22236 (grub_util_emit_devicemap_entry): Use it.
22237 * util/sparc64/ieee1275/grub-install.in: Update script to
22238 strip partition specifiers properly by not triggering on
22239 '\' escaped ',' characters.
22240
74bfdd2f 222412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22242
22243 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
22244 to 0x300.
22245 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
22246 resolutions.
22247 (linux_vesafb_modes): Add a lot of additional modes to the list (based
22248 on documentation from Wikipedia).
22249
4241d2b1 222502009-05-04 Pavel Roskin <proski@gnu.org>
22251
22252 * disk/ata.c: Spelling fixes.
22253 * disk/raid.c: Likewise.
22254 * disk/usbms.c: Likewise.
22255 * disk/dmraid_nvidia.c: Likewise.
22256 * kern/ieee1275/openfw.c: Likewise.
22257 * kern/ieee1275/init.c: Likewise.
22258 * kern/ieee1275/cmain.c: Likewise.
22259 * boot/i386/pc/cdboot.S: Likewise.
22260 * video/readers/png.c: Likewise.
22261 * video/i386/pc/vbe.c: Likewise.
22262 * fs/udf.c: Likewise.
22263 * fs/hfs.c: Likewise.
22264 * fs/reiserfs.c: Likewise.
22265 * efiemu/runtime/efiemu.c: Likewise.
22266 * efiemu/main.c: Likewise.
22267 * efiemu/mm.c: Likewise.
22268 * include/grub/elf.h: Likewise.
22269 * include/grub/xnu.h: Likewise.
22270 * include/grub/usbdesc.h: Likewise.
22271 * include/grub/usb.h: Likewise.
22272 * include/grub/script_sh.h: Likewise.
22273 * include/grub/lib/LzmaEnc.h: Likewise.
22274 * include/grub/efiemu/efiemu.h: Likewise.
22275 * include/grub/command.h: Likewise.
22276 * normal/menu.c: Likewise.
22277 * normal/main.c: Likewise.
22278 * normal/datetime.c: Likewise.
22279 * bus/usb/uhci.c: Likewise.
22280 * mmap/i386/uppermem.c: Likewise.
22281 * mmap/mmap.c: Likewise.
22282 * commands/acpi.c: Likewise.
22283 * commands/test.c: Likewise.
22284 * partmap/apple.c: Likewise.
22285 * font/font.c: Likewise.
22286 * loader/sparc64/ieee1275/linux.c: Likewise.
22287 * loader/macho.c: Likewise.
22288 * loader/i386/bsd_trampoline.S: Likewise.
22289 * loader/i386/bsd.c: Likewise.
22290 * loader/xnu.c: Likewise.
22291 * term/i386/pc/vesafb.c: Likewise.
22292 * term/usb_keyboard.c: Likewise.
22293 * util/resolve.c: Likewise.
22294 * util/getroot.c: Likewise.
22295
0cfc0083 222962009-05-04 Felix Zielcke <fzielcke@z-51.de>
22297
22298 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
22299
7c1d00cd 223002009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22301
22302 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
22303 build error.
22304
b01f0548 223052009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22306
22307 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
22308 parameter only available on BIOS.
22309
ecc3eb22 223102009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22311
22312 Removed wrong semicolon in declaration
22313
22314 * grub/misc.h (grub_dprintf): remove semicolon
22315
112972a9 223162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22317
22318 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
22319 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
22320 is done by grub_cmd_linux() now).
22321 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
22322 restore video to text mode.
22323 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
22324 indicates lack of "vga=" parameter. "vga=0" is mapped to
22325 `GRUB_LINUX_VID_MODE_NORMAL'.
22326
afd5c115 223272009-05-04 Felix Zielcke <fzielcke@z-51.de>
22328
22329 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
22330 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
22331 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 22332 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 22333 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
22334 `grub_script.tab.c'.
22335
22336 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22337 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22339 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22340 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22341
faa517ce 22342 * Makefile.in: Remove duplicated 2008 in Copyright line.
22343
ae0c0bdc 223442009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22345
473d1e45 22346 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 22347 unconditionally.
22348 * include/grub/util/misc.h (grub_util_warn): New declaration.
22349
22350 * util/i386/pc/grub-install.in: Understand --force and pass it down
22351 to grub-setup.
22352
22353 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
22354 down to setup().
22355 (setup): Improve error messages and add warnings when requested to
22356 install in odd layouts. Refuse to install using blocklists unless
22357 --force was set.
22358
18f547ad 223592009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 22360
22361 * disk/raid.c (grub_raid_scan_device): Improve debug message.
22362
6d260daa 223632009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22364
22365 Updated copyright year
22366
22367 * fs/hfsplus.c: updated copyright year
18f547ad 22368
69f853f8 223692009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22370
22371 HFS+ UUID
22372
18f547ad 22373 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 22374 in the space previously used by unused3
22375 (grub_hfsplus_uuid): new function
22376 (grub_hfsplus_fs): added uuid field
22377
4c402e73 223782009-05-03 Pavel Roskin <proski@gnu.org>
22379
22380 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
22381 suppress warnings. It's no longer needed.
22382 * disk/host.c: Likewise.
22383 * disk/ata_pthru.c: Likewise.
22384 * disk/loopback.c: Likewise.
22385 * hook/datehook.c: Likewise.
22386 * parttool/pcpart.c: Likewise.
22387 * fs/i386/pc/pxe.c: Likewise.
22388 * fs/ntfscomp.c: Likewise.
22389 * efiemu/main.c: Likewise.
22390 * mmap/mmap.c: Likewise.
22391 * commands/crc.c: Likewise.
22392 * commands/hexdump.c: Likewise.
22393 * commands/hdparm.c: Likewise.
22394 * commands/acpi.c: Likewise.
22395 * commands/echo.c: Likewise.
22396 * commands/minicmd.c: Likewise.
22397 * commands/blocklist.c: Likewise.
22398 * commands/memrw.c: Likewise.
22399 * commands/loadenv.c: Likewise.
22400 * commands/usbtest.c: Likewise.
22401 * commands/lsmmap.c: Likewise.
22402 * commands/boot.c: Likewise.
22403 * commands/parttool.c: Likewise.
22404 * commands/configfile.c: Likewise.
22405 * commands/search.c: Likewise.
22406 * commands/ieee1275/suspend.c: Likewise.
22407 * commands/cat.c: Likewise.
22408 * commands/i386/pc/pxecmd.c: Likewise.
22409 * commands/i386/pc/play.c: Likewise.
22410 * commands/i386/pc/halt.c: Likewise.
22411 * commands/i386/pc/vbeinfo.c: Likewise.
22412 * commands/i386/pc/vbetest.c: Likewise.
22413 * commands/lspci.c: Likewise.
22414 * commands/date.c: Likewise.
22415 * commands/handler.c: Likewise.
22416 * commands/ls.c: Likewise.
22417 * commands/test.c: Likewise.
22418 * commands/cmp.c: Likewise.
22419 * commands/efi/loadbios.c: Likewise.
22420 * commands/efi/fixvideo.c: Likewise.
22421 * commands/halt.c: Likewise.
22422 * commands/help.c: Likewise.
22423 * commands/reboot.c: Likewise.
22424 * hello/hello.c: Likewise.
22425 * script/sh/main.c: Likewise.
22426 * loader/xnu.c: Likewise.
22427 * term/terminfo.c: Likewise.
22428 * term/i386/pc/serial.c: Likewise.
22429 * term/usb_keyboard.c: Likewise.
22430
515b5079 224312009-05-03 David S. Miller <davem@davemloft.net>
22432
22433 * normal/menu.c: Include grub/parser.h
22434
dfc31a22 224352009-05-03 Pavel Roskin <proski@gnu.org>
22436
2fee74f1 22437 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
22438 not char*.
22439 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
22440 Suggested by Javier Martín <lordhabbit@gmail.com>
22441
dfc31a22 22442 * util/i386/pc/grub-mkrescue.in: Allow for the case when
22443 efiemu??.o doesn't exist.
22444 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
22445 copying.
22446
18f547ad 224472009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 22448
22449 FreeBSD 64-bit support
22450
18f547ad 22451 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 22452 and loader/i386/bsd_trampoline.S
22453 (bsd_mod_ASFLAGS): new variable
22454 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
22455 (FREEBSD_MODTYPE_KERNEL64): likewise
22456 (grub_bsd64_trampoline_start): likewise
22457 (grub_bsd64_trampoline_end): likewise
22458 (grub_bsd64_trampoline_selfjump): likewise
22459 (grub_bsd64_trampoline_gdt): likewise
22460 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
22461 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
22462 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
22463 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 22464 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 22465 of "attrib" member
22466 * loader/i386/bsd_pagetable.c: new file
22467 * loader/i386/bsd_trampoline.S: likewise
22468 * loader/i386/bsd.c (ALIGN_QWORD): new macro
22469 (ALIGN_VAR): likewise
22470 (entry_hi): new variable
22471 (kern_end_mdofs): likewise
22472 (is_64bit): likewise
22473 (grub_freebsd_add_meta): use ALIGN_VAR
22474 (grub_e820_mmap): new declaration
22475 (grub_freebsd_add_mmap): new function
22476 (grub_freebsd_add_meta_module): support 64 bit kernels
22477 (grub_freebsd_list_modules): use ALIGN_VAR
22478 (gdt_descriptor): new declaration
22479 (grub_freebsd_boot): support 64 bit kernels
22480 (grub_bsd_elf64_hook): new function
22481 (grub_bsd_load_elf): support elf64
22482
038c5720 224832009-05-03 Bean <bean123ch@gmail.com>
22484
22485 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
22486 after we get the result of if statement.
22487
fc45fb58 224882009-05-03 Bean <bean123ch@gmail.com>
22489
22490 * Makefile.in (enable_efiemu): New variable.
22491
22492 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
22493 set.
22494 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
22495 path.
22496 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
22497 path, add -mno-red-zone option.
22498 (efiemu64_s.o): Likewise.
22499 (efiemu64.o): Use macro $^ for source file.
22500
22501 * configure.ac (--enable-efiemu): New option.
22502
bbee0f2b 225032009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22504
22505 xnu support
22506
22507 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
22508 (pkglib_MODULES): add xnu.mod
22509 (xnu_mod_SOURCES): new variable
22510 (xnu_mod_CFLAGS): likewise
22511 (xnu_mod_LDFLAGS): likewise
22512 (xnu_mod_ASFLAGS): likewise
22513 * conf/i386-pc.rmk: likewise
22514 * conf/x86_64-efi.rmk: likewise
7dd4a573 22515 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 22516 new declaration
22517 * include/grub/i386/macho.h: new file
22518 * include/grub/i386/xnu.h: likewise
22519 * include/grub/macho.h: likewise
22520 * include/grub/machoload.h: likewise
22521 * include/grub/x86_64/macho.h: likewise
22522 * include/grub/x86_64/xnu.h: likewise
22523 * include/grub/xnu.h: likewise
22524 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
22525 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
22526 * loader/i386/efi/xnu.c: new file
22527 * loader/i386/pc/xnu.c: likewise
22528 * loader/i386/xnu.c: likewise
22529 * loader/i386/xnu_helper.S: likewise
22530 * loader/macho.c: likewise
22531 * loader/xnu.c: likewise
22532 * loader/xnu_resume.c: likewise
22533 * util/grub-dumpdevtree: likewise
22534 * include/grub/i386/pit.h: include grub/err.h
22535 (grub_pit_wait): export
22536 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 22537
5caf964d 225382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22539
22540 Efiemu
7dd4a573 22541
5caf964d 22542 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 22543 _linux_efi, linux_efi.
22544 new files in grub-emu
5caf964d 22545 new targets efiemu32.o and efiemu64.o
22546 * loader/linux_normal_efiemu.c: likewise
22547 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 22548 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 22549 files to copy
22550 * include/grub/autoefi.h: new file
7dd4a573 22551 * include/grub/i386/efiemu.h: likewise
5caf964d 22552 * include/grub/i386/pc/efiemu.h: likewise
22553 * include/grub/efi/api.h: add LL suffix when necessary
22554 new definitions relating to tables
22555 * include/grub/efiemu/efiemu.h: new file
22556 * include/grub/efiemu/runtime.h: likewise
22557 * efiemu/prepare.c: likewise
22558 * efiemu/loadcore_common.c: likewise
22559 * efiemu/loadcore64.c: likewise
22560 * efiemu/runtime/efiemu.sh: likewise
22561 * efiemu/runtime/efiemu.S: likewise
22562 * efiemu/runtime/efiemu.c: likewise
22563 * efiemu/runtime/config.h: likewise
22564 * efiemu/prepare32.c: likewise
22565 * efiemu/main.c: likewise
22566 * efiemu/modules/pnvram.c: likewise
22567 * efiemu/modules/i386: likewise
22568 * efiemu/modules/i386/pc: likewise
22569 * efiemu/modules/acpi.c: likewise
22570 * efiemu/i386/pc/cfgtables.c: likewise
22571 * efiemu/i386/loadcore64.c: likewise
22572 * efiemu/i386/loadcore32.c: likewise
22573 * efiemu/prepare64.c: likewise
22574 * efiemu/loadcore.c: likewise
22575 * efiemu/symbols.c: likewise
22576 * efiemu/mm.c: likewise
22577 * efiemu/loadcore32.c: likewise
7dd4a573 22578
225792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 22580
22581 ACPI spoofing
22582
22583 * commands/acpi.c: new file
22584 * commands/i386/pc/acpi.c: likewise
22585 * commands/efi/acpi.c: likewise
22586 * include/grub/acpi.h: likewise
22587 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
22588 (acpi_mod_SOURCES): new variable
22589 (acpi_mod_CFLAGS): likewise
22590 (acpi_mod_LDFLAGS): likewise
22591 * conf/i386-efi.rmk: likewise
22592 * conf/x86_64-efi.rmk: likewise
22593
7dd4a573 225942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 22595
22596 Missing part from mmap patch
22597
22598 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
22599 (grub_mmap_unregister)
22600 (grub_mmap_free_and_unregister): use grub_mmap_register
22601
7dd4a573 226022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 22603
22604 Mmap services
22605
22606 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
22607 * loader/i386/linux.c (find_mmap_size): likewise
22608 (allocate_pages): likewise
22609 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
22610 (grub_fill_multiboot_mmap): likewise
22611 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
22612 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
22613 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
22614 (OPENBSD_MMAP_RESERVED): likewise
22615 * include/grub/i386/pc/memory.h: include grub/memory.h
22616 (grub_lower_mem): removed
22617 (grub_upper_mem): likewise
22618 (GRUB_MACHINE_MEMORY_ACPI): new definition
22619 (GRUB_MACHINE_MEMORY_NVS): likewise
22620 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
22621 (GRUB_MACHINE_MEMORY_HOLE): likewise
22622 (grub_machine_mmap_register): likewise
22623 (grub_machine_mmap_unregister): likewise
22624 (grub_machine_get_upper): likewise
22625 (grub_machine_get_lower): likewise
22626 (grub_machine_get_post64): likewise
22627 * include/grub/i386/efi/memory.h: new file
22628 * include/grub/x86_64/efi/memory.h: likewise
22629 * include/grub/efi/memory.h: likewise
22630 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
22631 (mmap_mod_SOURCES): new variable
22632 (mmap_mod_LDFLAGS): likewise
22633 (mmap_mod_ASFLAGS): likewise
22634 * conf/i386-coreboot.rmk: likewise
22635 * conf/i386-ieee1275.rmk: likewise
22636 * conf/i386-efi.rmk: likewise
22637 * conf/x86_64-efi.rmk: likewise
22638 * include/grub/types.h (UINT_TO_PTR): new macro
22639 (PTR_TO_UINT32): likewise
22640 (PTR_TO_UINT64): likewise
22641 * include/grub/memory.h: new file
22642 * mmap/i386/pc/mmap.c: likewise
22643 * mmap/i386/pc/mmap_helper.S: likewise
22644 * mmap/i386/uppermem.c: likewise
22645 * mmap/mmap.c: likewise
22646 * mmap/efi/mmap.c: likewise
7dd4a573 22647 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 22648 grub_upper_mem
22649 * kern/i386/pc/init.c (grub_lower_mem): removed variable
22650 (grub_upper_mem): likewise
22651 (grub_machine_init): don't use grub_upper_mem,
22652 make grub_lower_mem local
22653 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
22654 grub_mmap_iterate and grub_mmap_get_upper
22655 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
22656
d558e6b5 226572009-05-02 Bean <bean123ch@gmail.com>
22658
22659 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
22660 script/sh/parser.y.
22661 (pkglib_MODULES): Add normal.mod and sh.mod.
22662 (normal_SOURCES): New variable.
22663 (normal_mod_CFLAGS): Likewise.
22664 (normal_mod_LDFLAGS): Likewise.
22665 (sh_mod_SOURCES): Likewise.
22666 (sh_mod_CFLAGS): Likewise.
22667 (sh_mod_LDFLAGS): Likewise.
22668
22669 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
22670 script/sh/lexer.c_DEPENDENCIES.
22671 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
22672 kern/rescue_reader.c and kern/rescue_parser.c.
22673 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
22674 (grub_emu_SOURCES): Change source files.
22675 (pkglib_MODULES): Remove normal.mod.
22676 (normal_SOURCES): Removed.
22677 (normal_mod_CFLAGS): Likewise.
22678 (normal_mod_LDFLAGS): Likewise.
22679 * conf/i386-coreboot.rmk: Likewise.
22680 * conf/i386-efi.rmk: Likewise.
22681 * conf/i386-ieee1276.rmk: Likewise.
22682 * conf/powerpc-ieee1275.rmk: Likewise.
22683 * conf/sparc64-ieee1275.rmk: Likewise.
22684 * conf/x86_64-efi.rmk: Likewise.
22685
22686 * include/grub/command.h (grub_command_execute): New inline function.
22687
22688 * include/grub/menu.h (grub_menu_entry): Removed commands field.
22689
22690 * include/grub/normal.h: Remove <grub/setjmp.h>.
22691 (grub_fs_module_list): Moved to normal/autofs.c.
22692 (grub_exit_env): Removed.
22693 (grub_command_execute): Likewise.
22694 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
22695 parameter script.
22696 (read_command_list): New function declaration.
22697 (read_fs_list): Likewise.
22698
22699 * include/parser.h: Include <grub/reader.h>.
22700 (grub_parser_split_cmdline): Change type of getline parameter.
22701 (grub_parser): New structure.
22702 (grub_parser_class): New variable.
22703 (grub_parser_execute): New function declaration.
22704 (grub_register_rescue_parser): Likewise.
22705 (grub_parser_register): New inline function.
22706 (grub_parser_unregister): Likewise.
22707 (grub_parser_get_current): Likewise.
22708 (grub_parser_set_current): Likewise.
22709
22710 * include/grub/reader.h: New file.
22711 * kern/reader.c: Likewise.
22712 * kern/rescue_parser.c: Likewise.
22713 * kern/rescue_reader.c: Likewise.
22714 * normal/autofs.c: Likewise.
22715 * normal/dyncmd.c: Likewise.
22716
22717 * include/grub/rescue.h: Removed.
22718 * normal/command.h: Likewise.
22719
22720 * include/grub/script.h: Moved to ...
22721 * include/grub/script_sh.h: ... Moved here.
22722 * normal/execute.c: Moved to ...
22723 * script/sh/execute.c: ... Moved here.
22724 * normal/function.c: Moved to ...
22725 * script/sh/function.c: ... Moved here.
22726 * normal/lexer.c: Moved to ...
22727 * script/sh/lexer.c: ... Moved here.
22728 * normal/parser.y: Moved to ...
22729 * script/sh/parser.y: ... Moved here.
22730 * normal/script.c: Moved to ...
22731 * script/sh/script.c: ... Moved here.
22732
22733 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
22734 <grub/reader.h>.
22735 (grub_exit_env): Removed.
22736 (fs_module_list): Moved to normal/autofs.c.
22737 (grub_file_getline): Don't handle comment here.
22738 (free_menu): Skip removed field entry->commands.
22739 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
22740 script parameter.
22741 (read_config_file): Removed nested parameter, change getline function.
22742 (grub_enter_normal_mode): Removed.
22743 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
22744 (read_command_list): Likewise.
22745 (autoload_fs_module): Moved to normal/autofs.c.
22746 (read_fs_list): Likewise.
22747 (reader_nested): New variable.
22748 (grub_normal_execute): Run parser.sh to switch to sh parser.
22749 (grub_cmd_rescue): Removed.
22750 (cmd_normal): Removed.
22751 (grub_cmd_normal): Unregister itself at the beginning. Don't register
22752 rescue command.
22753 (grub_cmdline_run): New function.
22754 (grub_normal_reader_init): Likewise.
22755 (grub_normal_read_line): Likewise.
22756 (grub_env_write_pager): Likewise.
22757 (cmdline): New variable.
22758 (grub_normal_reader): Likewise.
22759 (GRUB_MOD_INIT): Register normal reader and set as current, register
22760 pager hook, register normal command with grub_register_command_prio,
22761 so that it won't show up in command.lst.
22762 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
22763 grub_fs_autoload_hook.
22764
22765 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
22766 (grub_menu_execute_entry): Replace grub_script_execute with
22767 grub_parser_execute, change parameter to grub_command_execute.
22768
22769 * normal/menu_text.c: Remove <grub/script.h>.
22770
22771 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
22772 and <grub/parser.h>.
22773 (run): Change editor_getline to use new parser interface. Change
22774 parameter to grub_command_execute.
22775
22776 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
22777 <grub/reader.h> and <grub/parser.h>.
22778 (grub_load_normal_mode): Execute normal command.
22779 (grub_main): Call grub_register_core_commands,
22780 grub_register_rescue_parser and grub_register_rescue_reader, use
22781 grub_reader_loop to enter input loop.
22782
7dd4a573 22783 * kern/parser.c (grub_parser_split_cmdline): Change type of
22784 getline parameter.
d558e6b5 22785 (grub_parser_class): New variable.
22786 (grub_parser_execute): New function.
22787
22788 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
22789 * loader/multiboot2.c: Likewise.
22790 * loader/sparc64/ieee1275/linux.c: Likewise.
22791
22792 * util/grub-emu.c (read_command_list): New dummy function.
22793
18db813d 227942009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22795
22796 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
22797 count to 16 for CCISS and IDA.
22798
6c67de15 227992009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22800
22801 * normal/menu_text.c (grub_wait_after_message): Print a newline
22802 after waiting for user input.
22803
22804 * loader/i386/linux.c: Include `<grub/normal.h>'.
22805 (grub_cmd_linux): Improve the error message about `ask' mode, by
22806 waiting for user input so it's not missed (we can do this, since
22807 user requested interaction).
22808
d9dc87b0 228092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22810
22811 Added missing lst to grub-mkrescue
22812
22813 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
22814 and ${input_dir}/parttool.lst
22815
ac8a2baa 228162009-04-30 David S. Miller <davem@davemloft.net>
22817
ad22a610 22818 * util/hostdisk.c (device_is_wholedisk): New function.
22819 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
22820 zero only if device_is_wholedisk() returns true.
22821
6966215d 22822 * util/hostdisk.c (convert_system_partition_to_system_disk):
22823 Handle virtual disk devices named /dev/vdiskX as found on sparc
22824 and powerpc.
22825
ac8a2baa 22826 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
22827 lettered partition specifier is found, convert to numbered.
22828
979b4fb4 228292009-04-29 David S. Miller <davem@davemloft.net>
22830
e2bf39b2 22831 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
22832 * include/grub/sparc64/ieee1275/memory.h: Likewise.
22833
3c64e104 22834 * normal/command.c: Add missing newline at end of file.
22835
979b4fb4 22836 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
22837 warnings.
22838 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
22839 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
22840 grub_ofdisk_read): Likewise, and deal similarly with the fact that
22841 ihandles have a 32-bit type but need to be stored in a "void *".
22842
136d9f82 228432009-04-28 Pavel Roskin <proski@gnu.org>
22844
9459c306 22845 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
22846 not disk. Adjust all dependencies.
2e08a26a 22847 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 22848 grub_disk_close().
22849
136d9f82 22850 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
22851 parent's partition, don't copy it by reference, as it gets freed
22852 on close.
22853
7dd4a573 228542009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 22855
22856 Preboot hooks support
22857
22858 * commands/boot.c (struct grub_preboot_t): new declaration
22859 (preboots_head): new variable
22860 (preboots_tail): likewise
22861 (grub_loader_register_preboot_hook): new function
22862 (grub_loader_unregister_preboot_hook): likewise
22863 (grub_loader_set): launch preboot hooks
22864 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
22865 (grub_loader_register_preboot_hook): new declaration
22866 (grub_loader_unregister_preboot_hook): likewise
22867
5af922b5 228682009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22869
22870 Warning fix
22871
7dd4a573 22872 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 22873 calling grub_dprintf
22874
a5562c30 228752009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
22876
22877 Bug and warning fixes
22878
7dd4a573 22879 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 22880 declaration
22881 * commands/test.c (test_parse): fixed bug with file tests and corrected
22882 declaration of find_file
22883
4006f85c 228842009-04-26 Pavel Roskin <proski@gnu.org>
22885
22886 * Makefile.in: Don't install empty manual pages if help2man is
22887 missing. Use help2man option for output, not shell redirection.
22888
5c77c3de 228892009-04-26 David S. Miller <davem@davemloft.net>
22890
22891 * util/grub-mkdevicemap.c (make_device_map): Add missing
22892 NESTED_FUNC_ATTR to process_device().
22893
033b10a8 228942009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22895
22896 Test command
22897
22898 * commands/test.c: rewritten to use bash-like test
22899
e4343593 229002009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22901
22902 Parttool autoloading and improvements
22903
7dd4a573 22904 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 22905 (parttool.lst): new target
22906 * genmk.rb: generate parttool-*
22907 (CLEANFILES): add #{parttool}
22908 (PARTTOOLFILES): new variable
22909 * genparttoollist.sh: new file
7dd4a573 22910 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 22911 (grub_pcpart_type): likewise
22912 * commands/parttool.c (helpmsg): new variable
22913 (grub_cmd_parttool): output help if not enough arguments are supplied
22914 autoload modules
22915 (GRUB_MOD_INIT(parttool)): use helpmsg
22916
0d312500 229172009-04-24 David S. Miller <davem@davemloft.net>
22918
7dd4a573 22919 Avoiding opening same device multiple times in device iterator.
0d312500 22920
22921 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 22922 and use it to build a list of partitions in iterate_disk() and
0d312500 22923 iterate_partition().
22924
ac20caff 22925 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
22926 on disk->data.
22927
0dcf7495 22928 * disk/ieee1275/nand.c (grub_nand_iterate): Return
22929 grub_devalias_iterate() result instead of unconditional 0.
22930 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
22931 Also, capture hook return value, either directly or via
22932 grub_children_iterate(), and propagate to caller.
22933 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
22934 grub_children_iterate): Return value is now 'int' instead of
22935 'grub_err_t'.
22936 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
22937 like a proper iterator, stopping when hooks return non-zero.
22938 (grub_devalias_iterate): Likewise.
22939
c8c08833 229402009-04-23 David S. Miller <davem@davemloft.net>
22941
22942 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
22943
f01005a8 229442009-04-22 David S. Miller <davem@davemloft.net>
22945
22946 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
22947 is larger than address_cells, use that value for address_cells too.
22948
4e8269da 22949 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
22950 IEEE1275_MAX_PATH_LEN): Define.
22951 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
22952 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
22953 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
22954 'devtype'. Explicitly NULL terminate devalias expansion.
22955
a1447506 22956 * util/sparc64/ieee1275/misc.c: New file.
22957 * util/sparc64/ieee1275/grub-setup.c: New file.
22958 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
22959 * util/sparc64/ieee1275/grub-mkimage.c: New file.
22960 * util/sparc64/ieee1275/grub-install.in: New file.
22961 * util/ieee1275/ofpath.c: New file.
22962 * util/ieee1275/devicemap.c: New file.
22963 * util/devicemap.c: New file.
22964 * util/deviceiter.c: New file.
22965 * kern/sparc64/ieee1275/init.c: New file.
22966 * include/grub/util/ofpath.h: New file.
22967 * include/grub/util/deviceiter.h: New file.
22968 * util/grub-mkdevicemap.c: Include deviceiter.h.
22969 Implement using grub_util_emit_devicemap_entry and
22970 grub_util_iterate_devices.
22971 * conf/i386-corebook.rmk: Build util/deviceiter.c and
22972 util/devicemap.c into grub-mkdevicemap
22973 * conf/i386-efi.rmk: Likewise.
22974 * conf/i386-ieee1275.rmk: Likewise.
22975 * conf/i386-pc.rmk: Likewise.
22976 * conf/powerpc-ieee1275.rmk: Likewise.
22977 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
22978 images and installation utilities. Build kernel as image
22979 instead of as elf binary. Use common rules as much as possible.
22980
7dd4a573 229812009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 22982
22983 Correct GPT definition
22984
7dd4a573 22985 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 22986 of "attrib" member
22987
c6c5219f 229882009-04-19 Felix Zielcke <fzielcke@z-51.de>
22989
22990 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
22991
0552ff9f 229922009-04-19 David S. Miller <davem@davemloft.net>
22993
22994 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
22995 (grub_rescue_cmd_linux): Rename to...
22996 (grub_cmd_linux): and fix prototype.
22997 (grub_rescue_cmd_initrd): Rename to...
22998 (grub_cmd_initrd): and fix prototype.
22999 (cmd_linux, cmd_initrd): New.
23000 (GRUB_MOD_INIT(linux)): Use grub_register_command().
23001 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
23002
d1a282fc 230032009-04-17 Pavel Roskin <proski@gnu.org>
23004
07c5039f 23005 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
23006 format.
23007 (grub_ohci_transfer): Likewise.
23008
b012002d 23009 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
23010
1bc09c35 23011 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
23012 return without a value. Fix inconsistent indentation.
23013
e0ff9126 23014 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
23015 match struct grub_fs.
23016
d1a282fc 23017 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
23018 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
23019 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23020 * commands/lspci.c (grub_lspci_iter): Likewise.
23021
a96df3f2 230222009-04-16 Bean <bean123ch@gmail.com>
23023
23024 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
23025 value.
23026
41bb0fe9 230272009-04-15 Pavel Roskin <proski@gnu.org>
23028
23029 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
23030 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
23031 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
23032 definitions.
23033
596c6970 230342009-04-15 Felix Zielcke <fzielcke@z-51.de>
23035
23036 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 23037 that no multiple data or metadata areas are supported and `Unknown
596c6970 23038 metadata header'.
23039
7dd4a573 230402009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 23041
23042 Move loader out of the kernel
23043
23044 * kern/loader.c: moved to ...
23045 * commands/boot.c: ... moved here
23046 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
23047 * commands/boot.c (grub_cmd_boot): moved here. All users updated
23048 * include/grub/kernel.h (grub_machine_fini): export
23049 * include/grub/loader.h (grub_loader_is_loaded): update declaration
23050 (grub_loader_set): likewise
23051 (grub_loader_unset): likewise
23052 (grub_loader_boot): likewise
23053 * conf/common.rmk: new module boot.mod
23054 (pkglib_MODULES): add boot.mod
23055 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
23056 (grub_emu_SOURCES): likewise
23057 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
23058 (grub_emu_SOURCES): likewise
23059 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
23060 (grub_emu_SOURCES): likewise
23061 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
23062 (grub_emu_SOURCES): likewise
23063 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
23064 (grub_emu_SOURCES): likewise
7dd4a573 23065 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
23066 (grub_emu_SOURCES): likewise
0d5d5653 23067 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 23068 (grub_emu_SOURCES): likewise
0d5d5653 23069
7dd4a573 230702009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 23071
23072 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 23073
5999d619 23074 * kern/misc.c (grub_itoa): Removed function
23075 (grub_ltoa): likewise
23076 (grub_vsprintf): use grub_lltoa
23077
7dd4a573 230782009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 23079
23080 Restore grub-emu
23081
23082 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
23083 * conf/i386-coreboot.rmk: likewise
23084 * conf/i386-ieee1275.rmk: likewise
23085 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23086
20318222 230872009-04-15 Felix Zielcke <fzielcke@z-51.de>
23088
23089 * INSTALL: Add that `./autogen.sh' needs to be run before
23090 `./configure.'.
23091
d05f0df3 230922009-04-14 Bean <bean123ch@gmail.com>
23093
23094 * Makefile.in (pkglib_DATA): Add handler.lst.
23095 (handler.lst): New rule.
23096
23097 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
23098 * conf/i386-coreboot.rmk: Likewise.
23099 * conf/i386-ieee1275.rmk: Likewise.
23100 * conf/i386-efi.rmk: Likewise.
23101 * conf/x86_64-efi.rmk: Likewise.
23102 * conf/powerpc-ieee1275.rmk: Likewise.
23103 * conf/sparc64-ieee1275.rmk: Likewise.
23104
23105 * genhandlerlist.sh: New file.
23106
23107 * genmk.rb: Add rules to generate handler.lst.
23108
23109 * include/grub/normal.h (grub_file_getline): New function definition.
23110 (read_handler_list): Likewise.
23111 (free_handler_list): Likewise.
23112
23113 * include/grub/term.h (grub_term_register_input): Add name parameter
23114 for auto generation of handler.lst.
23115 (grub_term_register_output): Likewise.
23116
23117 * normal/handler.c: New file.
23118
23119 * normal/main.c (get_line): Renamed to grub_file_getline.
23120 (read_config_file): Use the newly renamed grub_file_getline.
23121 (read_command_list): Likewise.
23122 (read_fs_list): Likewise.
23123 (grub_normal_execute): Call read_handler_list to parse handler.lst.
23124 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
23125
23126 * term/efi/console.c (grub_console_init): Add name parameter for auto
23127 generation of handler.lst.
23128 * term/gfxterm.c: Likewise.
23129 * term/i386/pc/at_keyboard.c: Likewise.
23130 * term/i386/pc/console.c: Likewise.
23131 * term/i386/pc/serial.c: Likewise.
23132 * term/i386/pc/vesafb.c: Likewise.
23133 * term/i386/pc/vga.c: Likewise.
23134 * term/i386/pc/vga_text.c: Likewise.
23135 * term/ieee1275/ofconsole.c: Likewise.
23136 * term/usb_keyboard.c: Likewise.
23137
33c846be 231382009-04-14 Bean <bean123ch@gmail.com>
23139
23140 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
23141 properly with null character.
23142
4484e01e 231432009-04-14 Felix Zielcke <fzielcke@z-51.de>
23144
23145 * configure: Remove.
23146 * config.h.in: Likewise.
f93d668e 23147 * stamp-h.in: Likewise.
4484e01e 23148 * DISTLIST: Likewise.
23149 * conf/common.mk: Likewise.
23150 * conf/i386-coreboot.mk: Likewise.
23151 * conf/i386-efi.mk: Likewise.
23152 * conf/i386-ieee1275.mk: Likewise.
23153 * conf/i386.mk: Likewise.
23154 * conf/i386-pc.mk: Likewise.
23155 * conf/powerpc-ieee1275.mk: Likewise.
23156 * conf/sparc64-ieee1275.mk: Likewise.
23157 * conf/x86_64-efi.mk: Likewise.
23158
23159 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
23160 develop on GRUB.
23161
7dd4a573 231622009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 23163 David S. Miller <davem@davemloft.net>
23164
23165 * util/hostdisk.c (make_device_name): Fix buffer length
23166 calculations.
23167
e25b5a8c 231682009-04-14 Felix Zielcke <fzielcke@z-51.de>
23169
23170 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
23171 <sys/param.h> and <sys/sysctl.h>.
23172 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
23173 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
23174 opening the device and reset them afterwards.
23175
1f1f580c 231762009-04-13 Pavel Roskin <proski@gnu.org>
23177
23178 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
23179 Reported by John Stanley <jpsinthemix@verizon.net>
23180
7ebc2d6b 231812009-04-13 Robert Millan <rmh@aybabtu.com>
23182
23183 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 23184 that name for menuentries when appropriate.
7ebc2d6b 23185
d8ba3667 231862009-04-13 Felix Zielcke <fzielcke@z-51.de>
23187
23188 * util/grub.d/10_freebsd.in: Add a missing `fi'.
23189
cba416eb 231902009-04-13 Robert Millan <rmh@aybabtu.com>
23191
23192 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
23193 to Linux, simply abort telling the user it's no longer supported.
23194
a547a745 231952009-04-13 Felix Zielcke <fzielcke@z-51.de>
23196
23197 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 23198 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 23199 `freebsd_loadenv' only when devices.hints exist.
23200
232a769c 232012009-04-13 Pavel Roskin <proski@gnu.org>
23202
23203 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
23204
c3012039 232052009-04-13 Felix Zielcke <fzielcke@z-51.de>
23206
23207 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
23208 partition number.
23209 (grub_drive): Likewise.
23210
234022fe 232112009-04-13 David S. Miller <davem@davemloft.net>
23212
23213 * kern/sparc64/ieee1275/ieee1275.c: New file.
23214 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
23215 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
23216 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
23217 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
23218 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
23219 grub_ieee1275_alloc_physmem): Declare new exported functions.
23220
d8e1836c 23221 * include/grub/sparc64/ieee1275/loader.h: New file.
23222 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23223 * include/grub/sparc64/kernel.h: Likewise.
23224 * loader/sparc64/ieee1275/linux.c: Likewise.
23225
96bd81ec 23226 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
23227 (grub_fstest_SOURCES): Likewise.
23228
6a4737e5 23229 * util/hostdisk.c (make_device_name): Do not make any assumptions
23230 about the length of drive names.
23231
1d7a72fd 23232 * kern/dl.c (grub_dl_load_file): Close file immediately when
23233 we are done using it.
23234
56bc2471 232352009-04-12 David S. Miller <davem@davemloft.net>
23236
23237 * kern/misc.c (grub_ltoa): Fix cast when handling negative
23238 values. Noticed by Pavel Roskin.
23239
df38d0bb 23240 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
23241 target compiler.
7dd4a573 23242
e382e93a 23243 * genmk.rb: Add more flexible image type specification, also
23244 pass --strip-unneeded to objcopy.
23245 * conf/i386-pc.rmk: Use *_FORMAT.
23246 * conf/i386-pc.mk: Rebuilt.
23247
f5dbbca9 23248 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
23249 (OFDISK_HASH_SZ): Define.
23250 (ofdisk_hash): New hash table.
23251 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
23252 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
23253 instead of device phandle which is not unique.
23254
91c88b12 23255 * kern/sparc64/ieee1275/init.c: Delete, replace with...
23256 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
23257 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
23258 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
23259 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
23260 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
23261 GRUB_KERNEL_MACHINE_DATA_END): Define.
23262 (grub_kernel_image_size, grub_total_module_size): Declare.
23263
5b5d4aa5 232642009-04-12 Pavel Roskin <proski@gnu.org>
23265
7dd4a573 23266 * configure.ac: Change the logic when we check for target tools.
23267 Do it when the target is specified and it's different from the
23268 specified value of the host.
5b5d4aa5 23269
c91e1793 232702009-04-11 Felix Zielcke <fzielcke@z-51.de>
23271
23272 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
23273 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
23274 GNU/kFreeBSD. Check if a device is a character device. Use
23275 DIOCGMEDIASIZE to get the size.
23276 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
23277 support for GNU/kFreeBSD.
23278 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
23279 is a character device instead of a block device. Add support for
23280 FreeBSD device names.
23281
23282 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
23283 is a character device instead of a block device.
23284
23285 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
23286 is a character device instead of a block device.
23287
b1ac8644 232882009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
23289
23290 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
23291 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
23292 FreeBSD. Check if a device is a character device. Use
23293 DIOCGMEDIASIZE to get the size.
23294 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
23295 support for FreeBSD.
23296 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
23297 is a character device instead of a block device. Add support for
23298 FreeBSD device names.
23299
23300 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
23301 a character device instead of a block device.
23302 (grub_util_check_char_device): New function.
23303
23304 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
23305 a character device instead of a block device.
23306
23307 * include/grub/util/getroot.h (grub_util_check_char_device): New
23308 prototype.
23309
a3f7515a 233102009-04-11 David S. Miller <davem@davemloft.net>
23311
23312 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
23313 static libgcc.
23314 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
23315 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
23316 function, if present.
23317 (__bswapdi2): Likewise.
23318
0d44993d 23319 * include/grub/sparc64/ieee1275/boot.h: New file.
23320 * boot/sparc64/ieee1275/boot.S: Likewise.
23321 * boot/sparc64/ieee1275/diskboot.S: Likewise.
23322
ed3d2bc2 23323 * kern/misc.c (grub_ltoa): New function.
23324 (grub_vsprintf): Use it to format 'long' integers.
23325
d3bfb59c 233262009-04-10 David S. Miller <davem@davemloft.net>
23327
23328 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
23329 slots are of type grub_ieee1275_cell_t.
23330 (grub_nand_read): Likewise.
23331 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
23332 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
23333 macros are used to compare values in arg/ret block of the call.
23334 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23335 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
23336 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
23337 grub_ieee1275_instance_to_path, grub_ieee1275_write,
23338 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
23339 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
23340 grub_ieee1275_close, grub_ieee1275_set_property,
23341 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
23342 grub_ieee1275_cell_t.
23343 * kern/ieee1275/openfw.c (grub_map): Likewise.
23344 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
23345 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
23346
450e2238 23347 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
23348 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
23349 (grub_devalias_iterate): Likewise.
23350
7dd4a573 233512009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 23352
23353 UFS improvements
23354
23355 * fs/ufs.c (INODE_NBLOCKS): new definition
23356 (struct grub_ufs_dirent): added fields for non-BSD dirents
23357 (grub_ufs_get_file_block): fixed double indirect handling
23358 (grub_ufs_lookup_symlink): use more robust way to determine whether
23359 symlink is inline
23360 (grub_ufs_find_file): support for non-BSD dirents
23361 (grub_ufs_dir): support for non-BSD dirents
23362
e7e6862a 233632009-04-10 Bean <bean123ch@gnail.com>
23364
23365 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
23366 attribute, otherwise the size would be wrong for i386 platform.
23367
23368 * include/grub/pci.h (grub_pci_read_word): New inline function.
23369 (grub_pci_read_byte): Likewise.
23370 (grub_pci_write): Likewise.
23371 (grub_pci_write_word): Likewise.
23372 (grub_pci_write_byte): Likewise.
23373
23374 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
23375
23376 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
23377 (find_framebuf): Scan pci to locate the frame buffer address.
23378
23379 * commands/efi/fixvideo.c: New file.
23380
23381 * commands/efi/loadbios.c: Likewise.
23382
23383 * commands/memrw.c: Likewise.
23384
23385 * util/grub-dumpbios.in: Likewise.
23386
23387 * conf/common.rmk (grub-dumpbios): New utility.
23388 (pkglib_MODULES): New module memrw.mod.
23389 (memrw_mod_SOURCE): New macro.
23390 (memrw_mod_CFLAGS): Likewise.
23391 (memrw_mod_LDFLAGS): Likewise.
23392
7dd4a573 23393 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23394 fixvideo.mod.
23395 (loadbios_mod_SOURCE): New macro.
23396 (loadbios_mod_CFLAGS): Likewise.
23397 (loadbios_mod_LDFLAGS): Likewise.
23398 (fixvideo_mod_SOURCE): Likewise.
23399 (fixvideo_mod_CFLAGS): Likewise.
23400 (fixvideo_mod_LDFLAGS): Likewise.
23401
7dd4a573 23402 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23403 fixvideo.mod.
23404 (loadbios_mod_SOURCE): New macro.
23405 (loadbios_mod_CFLAGS): Likewise.
23406 (loadbios_mod_LDFLAGS): Likewise.
23407 (fixvideo_mod_SOURCE): Likewise.
23408 (fixvideo_mod_CFLAGS): Likewise.
23409 (fixvideo_mod_LDFLAGS): Likewise.
23410
af63ada2 234112009-04-08 Felix Zielcke <fzielcke@z-51.de>
23412
23413 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
23414
c2cdde70 234152009-04-07 David S. Miller <davem@davemloft.net>
23416
23417 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
23418 support for R_SPARC_OLO10 relocations. Fix compile warning for
23419 R_SPARC_WDISP30 case.
ea3f72cf 23420 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 23421
761319cf 234222009-04-06 Pavel Roskin <proski@gnu.org>
23423
1007d1f5 23424 * include/grub/misc.h (ARRAY_SIZE): New macro.
23425 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
23426 New macro.
23427 * loader/i386/linux.c (allocate_pages): Use free_pages().
23428 (grub_linux_unload): Don't use free_pages().
23429 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
23430 wrong index. Treat all other modes as text modes.
23431 (grub_cmd_linux): Initialize vid_mode unconditionally to
23432 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
23433
761319cf 23434 * commands/help.c (print_command_help): Use cmd->prio, not
23435 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
23436
ea761d40 234372009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 23438
ea761d40 23439 Parttool
23440
23441 * parttool/pcpart.c: new file
23442 * commands/parttool.c: likewise
23443 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
23444 (parttool_mod_SOURCES): new variable
23445 (parttool_mod_CFLAGS): likewise
23446 (parttool_mod_LDFLAGS): likewise
23447 (pcpart_mod_SOURCES): likewise
23448 (pcpart_mod_CFLAGS): likewise
23449 (pcpart_mod_LDFLAGS): likewise
7dd4a573 23450 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 23451 and parttool/pcpart.c
23452 * conf/i386-efi.rmk: likewise
23453 * conf/i386-ieee1275.rmk: likewise
23454 * conf/i386-pc.rmk: likewise
23455 * conf/powerpc-ieee1275.rmk: likewise
23456 * conf/sparc64-ieee1275.rmk: likewise
23457 * conf/x86_64-ieee1275.rmk: likewise
23458
05aaebfb 234592009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23460
23461 Support for mtime and further expandability of dir command
23462
23463 * include/grub/lib/datetime.h: moved to ...
7dd4a573 23464 * include/grub/datetime.h: ... moved here and added
05aaebfb 23465 declaration of grub_unixtime2datetime. All users updated
7dd4a573 23466 * include/grub/fs.h: new syntax for dir and mtime functions in
23467 struct grub_fs
05aaebfb 23468 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
23469 and GRUB_FSHELP_FLAGS_MASK
23470 * commands/ls.c (grub_ls_list_files): Write mtime in long format
23471 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
23472 (grub_ext2_mtime): new function
23473 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
23474 (grub_hfsplus_mtime): new function
23475 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
23476 (GRUB_UFS_ATTR_FILE): likewise
23477 (GRUB_UFS_ATTR_LNK): likewise
23478 (struct grub_ufs_sblock): new fields mtime
23479 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
23480 all users updated
23481 (grub_ufs_dir): mtime support
23482 (grub_ufs_mtime): new function
23483 * fs/affs.c (grub_affs_dir): use new dir syntax
23484 * fs/afs.c (grub_afs_dir): likewise
23485 * fs/cpio.c (grub_cpio_dir): likewise
23486 * fs/fat.c (grub_fat_find_dir): likewise
23487 * fs/hfs.c (grub_hfs_dir): likewise
23488 * fs/iso9660.c (grub_iso9660_dir): likewise
23489 * fs/jfs.c (grub_jfs_dir): likewise
23490 * fs/minix.c (grub_minix_dir): likewise
23491 * fs/ntfs.c (grub_ntfs_dir): likewise
23492 * fs/reiserfs.c (grub_reiserfs_dir): likewise
23493 * fs/sfs.c (grub_sfs_dir): likewise
23494 * fs/xfs.c (grub_xfs_dir): likewise
23495 * util/hostfs.c (grub_hostfs_dir): likewise
23496 * lib/datetime.c: moved to ...
23497 * normal/datetime.c: ... moved here
23498 (grub_unixtime2datetime): new function
23499 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 23500 * normal/completion.c (iterate_dir): use new dir syntax
23501 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 23502 last modification time of a volume
7dd4a573 23503 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 23504 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 23505 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 23506 (normal_mod_SOURCES): likewise
23507 (datetime_mod_SOURCES): Removed lib/datetime.c
23508 * conf/i386-efi.rmk: likewise
7dd4a573 23509 * conf/i386-ieee1275.rmk: likewise
05aaebfb 23510 * conf/i386-pc.rmk: likewise
23511 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23512 * conf/sparc64-ieee1275.rmk: likewise
23513 * conf/x86_64-efi.rmk: likewise
05aaebfb 23514
8a7e1a14 235152009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23516
23517 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 23518
23519 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 23520 on grub_fat_find_dir
23521 (grub_fat_find_dir): use grub_fat_iterate_dir
23522 (grub_fat_label): likewise
23523
04186a9c 235242009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23525
7dd4a573 23526 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 23527 and command.h
23528 remove extraneous kernel_elf_HEADERS
23529
da4c0bb6 235302009-04-04 Bean <bean123ch@gnail.com>
23531
23532 * include/grub/util/misc.h: Add dummy function fsync for mingw.
23533
23534 * util/misc.c: Likewise.
23535
54ad9555 235362009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23537
23538 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
23539 instead of grub_printf.
23540
7a6bf9f2 235412009-04-03 Robert Millan <rmh@aybabtu.com>
23542
23543 * loader/i386/linux.c (grub_linux_setup_video): Fill
23544 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
23545 values from `mode info' structure instead of hardcoded
23546 values.
23547
3fcc2083 235482009-04-01 Pavel Roskin <proski@gnu.org>
23549
23550 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
23551 unused now.
23552 * genmk.rb: Likewise.
23553 * configure.ac: Likewise.
23554
5ec9740b 235552009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
23556
23557 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
23558 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
23559
5270cec8 235602009-04-01 David S. Miller <davem@davemloft.net>
23561
23562 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 23563 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 23564 (grub_setjmp): Mark with 'returns_twice' attribute.
23565 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
23566 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
23567 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
23568
9c3dd854 235692009-04-01 Robert Millan <rmh@aybabtu.com>
23570
23571 Reapply fix from 2008-07-28 which was accidentally reverted; also
23572 perform the same fix to a similar check in same function.
23573
23574 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23575 with the same number are found, just use issue a warning with
23576 grub_dprintf(), as this error has been reported to be non-fatal.
23577
0d818b7e 235782009-03-31 Pavel Roskin <proski@gnu.org>
23579
23580 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
23581 for cross-compilation.
23582
95646d92 235832009-03-30 Robert Millan <rmh@aybabtu.com>
23584
23585 Fix i386-ieee1275 build.
23586
23587 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
23588 Remove declaration.
23589
6a003ed1 235902009-03-30 Pavel Roskin <proski@gnu.org>
23591
23592 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
23593 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
23594 zero-terminated, rely only on the strlen value. Fix comparison
23595 of strings differing in length.
23596
92f33540 235972009-03-30 Robert Millan <rmh@aybabtu.com>
23598
23599 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
23600 checking for abi version. Improve error messages on BIOS to notify
23601 user about `linux16' command.
23602
a8c48fd5 236032009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
23604
f968172e 23605 Leak fixes
a8c48fd5 23606
f968172e 23607 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
23608 in case of collision
23609 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 23610
9c323f09 236112009-03-29 Robert Millan <rmh@aybabtu.com>
23612
23613 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
23614 set `vid_mode' accordingly.
23615 (grub_linux_boot): Process `vid_mode' and set video mode.
23616
ae68f423 236172009-03-29 Robert Millan <rmh@aybabtu.com>
23618
23619 * util/grub.d/10_linux.in (linux_entry): New function.
23620 Factorize generation of Linux boot entries.
23621
5709cfc4 236222009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
23623
23624 Make the format of Environment Block plain text. The boot loader
23625 part is not tested well yet.
7dd4a573 23626
5709cfc4 23627 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
23628 (buffer): Removed.
23629 (envblk): Likewise.
23630 (usage): Remove "info" and "clear". Add "unset". Update the
23631 description of "set", as this does not delete variables any
23632 longer.
23633 (create_envblk_file): Complete rewrite.
23634 (open_envblk_file): Likewise.
23635 (cmd_info): Removed.
23636 (cmd_list): Likewise.
23637 (cmd_set): Likewise.
23638 (cmd_clear): Likewise.
23639 (list_variables): New function.
23640 (write_envblk): Likewise.
23641 (set_variables): Likewise.
23642 (unset_variables): Likewise.
23643 (main): Complete rewrite.
23644
23645 * commands/loadenv.c (buffer): Removed.
23646 (envblk): Likewise.
23647 (open_envblk_file): New function.
23648 (read_envblk_file): Complete rewrite.
23649 (grub_cmd_load_env): Likewise.
23650 (grub_cmd_list_env): Likewise.
23651 (struct blocklist): New struct.
23652 (free_blocklists): New function.
23653 (check_blocklists): Likewise.
23654 (write_blocklists): Likewise.
23655 (grub_cmd_save_env): Complete rewrite.
23656
23657 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
23658 a plain text signature.
23659 (GRUB_ENVBLK_MAXLEN): Removed.
23660 (struct grub_envblk): Complete rewrite.
23661 (grub_envblk_find): Removed.
23662 (grub_envblk_insert): Likewise.
23663 (grub_envblk_open): New prototype.
23664 (grub_envblk_set): Likewise.
23665 (grub_envblk_delete): Put const to VALUE.
23666 (grub_envblk_iterate): Put const to NAME and VALUE.
23667 (grub_envblk_close): New prototype.
23668 (grub_envblk_buffer): New inline function.
23669 (grub_envblk_size): Likewise.
23670
23671 * lib/envblk.c: Include grub/mm.h.
23672 (grub_env_find): Removed.
23673 (grub_envblk_open): New function.
23674 (grub_envblk_close): Likewise.
23675 (escaped_value_len): Likewise.
23676 (find_next_line): Likewise.
23677 (grub_envblk_insert): Removed.
23678 (grub_envblk_set): New function.
23679 (grub_envblk_delete): Complete rewrite.
23680 (grub_envblk_iterate): Likewise.
23681
a9368fd3 236822009-03-28 Robert Millan <rmh@aybabtu.com>
23683
23684 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
23685 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
23686 variables. Use 16-bit loader.
23687 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
23688 loader.
23689 * kern/i386/loader.S (grub_linux_boot): Rename to ...
23690 (grub_linux16_boot): ... this. Update all users.
23691 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
23692 (grub_linux_boot): ... this. Update all users.
23693
23694 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
23695 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
23696 commands to `linux16' and `initrd16'.
23697 (GRUB_MOD_FINI(linux)): Rename to ...
23698 (GRUB_MOD_FINI(linux16)): ... this.
23699
e4dd5a7e 237002009-03-24 Pavel Roskin <proski@gnu.org>
23701
23702 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
23703 not just for compilation.
23704
c04d6e05 237052009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
23706
23707 Move multiboot helper out of kernel
23708
23709 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
23710 `loader/i386/multiboot_helper.S'.
23711 * conf/i386-coreboot.rmk: Likewise
23712 * conf/i386-ieee1275.rmk: Likewise
23713
23714 * kern/i386/loader.S: Move multiboot helpers from here...
23715 * loader/i386/multiboot_helper.S: ...moved here
23716 * include/grub/i386/loader.h: Move declarations of multiboot
23717 helpers from here...
23718 * include/grub/i386/multiboot.h: ...moved here
23719 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
23720
42a5b3fc 237212009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23722
23723 * kern/env.c (grub_env_context_open): Added an argument to specify
23724 whether a new context inherits exported variables from current
23725 one. This is useful when making a sandbox to interpret a config
23726 file.
23727 All callers updated.
23728
23729 * include/grub/env.h (grub_env_context_open): Updated the prototype.
23730
b28bbc4e 237312009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23732
23733 * kern/env.c (grub_env_context_close): Fix memory leaks.
23734
f04f02e4 237352009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23736
23737 * normal/main.c (grub_normal_execute): Added an argument
23738 BATCH to specify if an interactive interface should be provided
23739 after reading a config file.
23740 All callers updated.
23741 (read_command_list): Prevent being executed twice.
23742 (read_fs_list): Likewise.
23743
42a5b3fc 23744 * include/grub/normal.h (grub_normal_execute): Updated the
23745 prototype.
f04f02e4 23746
41473ac2 237472009-03-22 Pavel Roskin <proski@gno.org>
23748
fbc00b0c 23749 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
23750 _start.
23751 * kern/i386/pc/startup.S: Likewise.
23752 * kern/i386/efi/startup.S: Likewise.
23753 * kern/i386/ieee1275/startup.S: Likewise.
23754 * kern/i386/coreboot/startup.S: Likewise.
23755 * kern/x86_64/efi/startup.S: Likewise.
23756
41473ac2 23757 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
23758 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
23759 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
23760
2274cc8f 237612009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
23762
23763 Bugfixes in multiboot for bugs uncovered by solaris kernel.
23764
23765 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
23766 limit detection.
23767 Use vaddr of correct segment for entry_point.
23768
b1b797cb 237692009-03-21 Bean <bean123ch@gmail.com>
23770
23771 * commands/blocklist.c: Add include file <grub/command.h>, remove
23772 <grub/normal.h> and <grub/arg.h>.
23773 (grub_cmd_blocklist): Use the new command interface.
23774 (GRUB_MOD_INIT): Likewise.
23775 (GRUB_MOD_FINI): Likewise.
23776 * commands/boot.c: Likewise.
23777 * commands/cat.c: Likewise.
23778 * commands/cmp.c: Likewise.
23779 * commands/configfile.c: Likewise.
23780 * commands/crc.c: Likewise.
23781 * commands/echo.c: Likewise.
23782 * commands/halt.c: Likewise.
23783 * commands/handler.c: Likewise.
23784 * commands/hdparm.c: Likewise.
23785 * commands/help.c: Likewise.
23786 * commands/hexdump.c: Likewise.
23787 * commands/loadenv.c: Likewise.
23788 * commands/ls.c: Likewise.
23789 * commands/lsmmap.c: Likewise.
23790 * commands/lspci.c: Likewise.
23791 * commands/loadenv.c: Likewise.
23792 * commands/read.c: Likewise.
23793 * commands/reboot.c: Likewise.
23794 * commands/search.c: Likewise.
23795 * commands/sleep.c: Likewise.
23796 * commands/test.c: Likewise.
23797 * commands/usbtest.c: Likewise.
23798 * commands/videotest.c: Likewise.
23799 * commands/i386/cpuid.c: Likewise.
23800 * commands/i386/pc/halt.c: Likewise.
23801 * commands/i386/pc/play.c: Likewise.
23802 * commands/i386/pc/pxecmd.c: Likewise.
23803 * commands/i386/pc/vbeinfo.c: Likewise.
23804 * commands/i386/pc/vbetest.c: Likewise.
23805 * commands/ieee1275/suspend.c: Likewise.
23806 * disk/loopback.c: Likewise.
23807 * font/font_cmd.c: Likewise.
23808 * hello/hello.c: Likewise.
23809 * loader/efi/appleloader.c: Likewise.
23810 * loader/efi/chainloader.c: Likewise.
23811 * loader/i386/bsd.c: Likewise.
23812 * loader/i386/efi/linux.c: Likewise.
23813 * loader/i386/ieee1275/linux.c: Likewise.
23814 * loader/i386/linux.c: Likewise.
23815 * loader/i386/pc/chainloader.c: Likewise.
23816 * loader/i386/pc/linux.c: Likewise.
23817 * loader/powerpc/ieee1275/linux.c: Likewise.
23818 * loader/multiboot_loader.c: Likewise.
23819 * term/gfxterm.c: Likewise.
23820 * term/i386/pc/serial.c: Likewise.
23821 * term/terminfo.c: Likewise.
23822
23823 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
23824 * term/i386/pc/vga.c: Likewise.
23825 * video/readers/jpeg.c: Likewise.
23826 * video/readers/png.c: Likewise.
23827 * video/readers/tga.c: Likewise.
23828
23829 * util/grub-fstest (cmd_loopback): Removed.
23830 (cmd_blocklist): Likewise.
23831 (cmd_ls): Likewise.
23832 (grub_register_command): Likewise.
23833 (grub_unregister_command): Likewise.
23834 (execute_command): Use grub_command_find to locate command and execute
23835 it.
23836
23837 * include/grub/efi/chainloader.h: Removed.
23838 * loader/efi/chainloader_normal.c: Likewise.
23839 * loader/i386/bsd_normal.c: Likewise.
23840 * loader/i386/pc/chainloader_normal.c: Likewise.
23841 * loader/i386/pc/multiboot_normal.c: Likewise.
23842 * loader/linux_normal.c: Likewise.
23843 * loader/multiboot_loader_normal.c: Likewise.
23844 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23845
23846 * gencmdlist.sh: Scan new registration command grub_register_extcmd
23847 and grub_register_command_p1.
23848
23849 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
23850 kern/command.c, lib/arg.c and commands/extcmd.c.
23851 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
23852 (minicmd_mod_SOURCES): New variable.
23853 (minicmd_mod_CFLAGS): Likewise.
23854 (minicmd_mod_LDFLAGS): Likewise.
23855 (extcmd_mod_SOURCES): Likewise.
23856 (extcmd_mod_CFLAGS): Likewise.
23857 (extcmd_mod_LDFLAGS): Likewise.
23858 (boot_mod_SOURCES): Removed.
23859 (boot_mod_CFLAGS): Likewise.
23860 (boot_mod_LDFLAGS): Likewise.
23861
23862 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
23863 kern/corecmd.c.
23864 (kernel_img_HEADERS): Add command.h.
23865 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
23866 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
23867 and lib/arg.c.
23868 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
23869 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
23870 remove the corresponding normal mode command.
23871 (normal_mod_SOURCES): Remove normal/arg.c.
23872 * conf/i386-coreboot.rmk: Likewise.
23873 * conf/i386-efi.rmk: Likewise.
23874 * conf/i386-ieee1275.rmk: Likewise.
23875 * conf/powerpc-ieee1275.rmk: Likewise.
23876 * conf/x86_64-efi.rmk: Likewise.
23877
23878 * include/grub/arg.h: Move from here ...
23879 * include/grub/lib/arg.h: ... to here.
23880
23881 * normal/arg.c: Move from here ...
23882 * lib/arg.c: ... to here.
23883
23884 * commands/extcmd.c: New file.
23885 * commands/minicmd.c: Likewise.
23886 * include/grub/command.h: Likewise.
23887 * include/grub/extcmd.h: Likewise.
23888 * kern/command.c: Likewise.
23889 * kern/corecmd.c: Likewise.
23890
23891 * kern/list.c (grub_list_iterate): Return int instead of void.
23892 (grub_list_insert): New function.
23893 (grub_prio_list_insert): Likewise.
23894
23895 * kern/rescue.c (grub_rescue_command): Removed.
23896 (grub_rescue_command_list): Likewise.
23897 (grub_rescue_register_command): Likewise.
23898 (grub_rescue_unregister_command): Likewise.
23899 (grub_rescue_cmd_boot): Move to minicmd.c
23900 (grub_rescue_cmd_help): Likewise.
23901 (grub_rescue_cmd_info): Likewise.
23902 (grub_rescue_cmd_boot): Likewise.
23903 (grub_rescue_cmd_testload): Likewise.
23904 (grub_rescue_cmd_dump): Likewise.
23905 (grub_rescue_cmd_rmmod): Likewise.
23906 (grub_rescue_cmd_lsmod): Likewise.
23907 (grub_rescue_cmd_exit): Likewise.
23908 (grub_rescue_print_devices): Moved to corecmd.c.
23909 (grub_rescue_print_files): Likewise.
23910 (grub_rescue_cmd_ls): Likewise.
23911 (grub_rescue_cmd_insmod): Likewise.
23912 (grub_rescue_cmd_set): Likewise.
23913 (grub_rescue_cmd_unset): Likewise.
7d074e3c 23914 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 23915 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 23916 commands, remove grub_rescue_register_command calls.
b1b797cb 23917
7d074e3c 23918 * normal/command.c (grub_register_command): Removed.
b1b797cb 23919 (grub_unregister_command): Likewise.
23920 (grub_command_find): Likewise.
23921 (grub_iterate_commands): Likewise.
23922 (rescue_command): Likewise.
23923 (export_command): Moved to corecmd.c.
23924 (set_command): Removed.
23925 (unset_command): Likewise.
23926 (insmod_command): Likewise.
23927 (rmmod_command): Likewise.
23928 (lsmod_command): Likewise.
23929 (grub_command_init): Likewise.
23930
23931 * normal/completion.c (iterate_command): Use cmd->prio to check for
23932 active command.
23933 (complete_arguments): Use grub_extcmd_t structure to find options.
23934 (grub_normal_do_completion): Change function grub_iterate_commands to
23935 grub_command_iterate.
23936
23937 * normal/execute.c (grub_script_execute_cmd): No need to parse
23938 argument here.
23939
23940 * normal/main.c (grub_dyncmd_dispatcher): New function.
23941 (read_command_list): Register unload commands as dyncmd.
23942 (grub_cmd_normal): Use new command interface, register rescue,
23943 unregister normal at entry, register normal, unregister rescue at exit.
23944
23945 * include/grub/list.h (grub_list_test_t): New type.
23946 (grub_list_iterate): Return int instead of void.
23947 (grub_list_insert): New function.
23948 (GRUB_AS_NAMED_LIST_P): New macro.
23949 (GRUB_AS_PRIO_LIST): Likewise.
23950 (GRUB_AS_PRIO_LIST_P): Likewise.
23951 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
23952 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
23953 (grub_prio_list): New structure.
23954 (grub_prio_list_insert): New function.
23955 (grub_prio_list_remove): New inline function.
23956
23957 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
23958 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
23959 (GRUB_COMMAND_FLAG_MENU): Likewise.
23960 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23961 (GRUB_COMMAND_FLAG_TITLE): Likewise.
23962 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23963 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
23964 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
23965 (grub_command): Likewise.
23966 (grub_register_command): Likewise.
23967 (grub_command_find): Likewise.
23968 (grub_iterate_commands): Likewise.
23969 (grub_command_init): Likewise.
23970 (grub_arg_parse): Likewise.
23971 (grub_arg_show_help): Likewise.
23972
23973 * include/grub/rescue.h (grub_rescue_register_command): Removed.
23974 (grub_rescue_unregister_command): Likewise.
23975
23976 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
23977 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
23978 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
23979
23980 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
23981 grub_rescue_cmd_initrd.
23982 * include/grub/i386/loader.h: Likewise.
23983 * include/grub/x86_64/loader.h: Likewise.
23984
23985 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
23986
1f4147aa 239872009-03-21 Bean <bean123ch@gmail.com>
23988
23989 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
23990 instead of stat in mingw environment.
23991
23992 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
23993
23994 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
23995
23996 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
23997 AC_CONFIG_LINKS.
23998
2156d5ba 239992009-03-21 Bean <bean123ch@gmail.com>
24000
24001 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
24002 out of range error.
24003
177b82ca 240042009-03-18 Michel Dänzer <michel@daenzer.net>
24005
24006 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
24007 checking inode flags for EXT4_EXTENTS_FLAG.
24008
14aad807 240092009-03-18 Robert Millan <rmh@aybabtu.com>
24010
24011 * loader/i386/linux.c: Include `<grub/video.h>' and
24012 `<grub/i386/pc/vbe.h>'..
24013 (grub_linux_setup_video): New function. Loosely based on the EFI one.
24014 (grub_linux32_boot): Attempt to configure video settings with
24015 grub_linux_setup_video().
24016 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
24017 to avoid grub_console_fini() which would step out of graphical mode
24018 unconditionally.
24019
8cf83a27 240202009-03-14 Robert Millan <rmh@aybabtu.com>
24021
24022 Fix build on powerpc.
24023 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
24024
40164e75 240252009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
24026
24027 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
24028 background image command.
24029
c58bc32a 240302009-03-12 Colin D Bennett <colin@gibibit.com>
24031
24032 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
24033 (grub_gfxterm_putchar): Extract pairs of identical calls to
24034 draw_cursor out of conditional blocks.
24035
5415144a 240362009-03-11 Pavel Roskin <proski@gnu.org>
24037
24038 * fs/hfs.c (grub_hfs_strncasecmp): New function.
24039 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
24040
6394042e 240412009-03-11 Robert Millan <rmh@aybabtu.com>
24042
24043 * loader/i386/multiboot_elfxx.c
24044 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
24045
b7b50e5f 240462009-03-11 Felix Zielcke <fzielcke@z-51.de>
24047
24048 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
24049 `kern/handler.c'.
24050
1ca7fc96 240512009-03-11 Robert Millan <rmh@aybabtu.com>
24052
24053 * loader/i386/multiboot.c (code_size): New variable.
24054 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 24055 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 24056 4-byte alignment to MBI and others by increasing
7d074e3c 24057 `boot_loader_name_length' appropriately.
1ca7fc96 24058
24059 * loader/i386/multiboot_elfxx.c
24060 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
24061
a83ea1d2 240622009-03-09 Felix Zielcke <fzielcke@z-51.de>
24063
24064 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
24065 `fs/ext2.c'.
24066
aa9f3bff 240672009-03-08 Robert Millan <rmh@aybabtu.com>
24068
24069 Make loader/i386/linux.c usable on i386-pc again.
24070
24071 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
24072 memory to heap.
24073 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
24074 `#error' stanza.
24075
d8b3b60e 240762009-03-07 Bean <bean123ch@gmail.com>
24077
24078 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
24079 allocation.
24080
b362c9e9 240812009-03-06 Robert Millan <rmh@aybabtu.com>
24082
24083 Fix display issue on terminals with screen size other than 80x25
24084 (e.g. gfxterm with resolution higher than 640x480).
24085
24086 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 24087 position relative to the center of the terminal instead of relying
b362c9e9 24088 on a hardcoded offset.
24089
9304eef1 240902009-03-04 Robert Millan <rmh@aybabtu.com>
24091
24092 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
24093 installed.
24094
24095 * Makefile.in (host_kernel): New variable.
24096 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
24097 scripts instead of just the windows one.
24098 * configure.ac: Initialize and AC_SUBST `host_kernel'.
24099
eabc95fb 241002009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 24101
24102 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
24103 `kern/handler.c'.
24104 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24105 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24106 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24108 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24109 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24110
ceb1223c 241112009-03-04 Felix Zielcke <fzielcke@z-51.de>
24112
24113 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
24114 or if there's no space for the disk label and print the partition number on a
24115 invalid magic.
24116
4910684a 241172009-03-04 Felix Zielcke <fzielcke@z-51.de>
24118
24119 * util/misc.c: Include <time.h>.
24120 (grub_millisleep): New function.
24121
7e9ca17a 241222009-03-04 Bean <bean123ch@gmail.com>
24123
24124 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
24125 another option -mno-red-zone.
24126
24127 * commands/handler.c: Change module description.
24128
24129 * kern/handler.c: Add missing space at the end of description line.
24130
24131 * kern/list.c: Likewise.
24132
f501677c 241332009-03-03 Robert Millan <rmh@aybabtu.com>
24134
24135 Move more components to the relocation area, and fix mbi pointer
24136 handling to use the destination rather than the origin (thanks to
24137 Vladimir Serbinenko for spotting).
24138
24139 * loader/i386/multiboot.c (mbi_dest): New variable.
24140 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
24141 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
24142 relocation area.
24143
9902d047 241442009-03-01 Bean <bean123ch@gmail.com>
24145
50fb7002 24146 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 24147 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
24148 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
24149 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
24150
24151 * loader/i386/efi/linux.c (acpi_guid): New variable.
24152 (acpi_guid): Likewise.
24153 (EBDA_SEG_ADDR): New constant.
24154 (LOW_MEM_ADDR): Likewise.
24155 (FAKE_EBDA_SEG): Likewise.
24156 (fake_bios_data): New function.
24157 (grub_linux_boot): Call fake_bios_data.
24158
71b9f361 241592009-03-01 Bean <bean123ch@gmail.com>
24160
24161 * commands/terminal.c: Removed.
24162
24163 * commands/handler.c: New file.
24164
24165 * include/grub/list.h: Likewise.
24166
24167 * include/grub/handler.h: Likewise.
24168
24169 * kern/list.c: Likewise.
24170
24171 * kern/handler.c: Likewise.
24172
24173 * kern/term.h: Include header file <grub/handler.h>.
24174 (grub_term_input): Move next field to the beginning.
24175 (grub_term_output): Likewise.
24176 (grub_term_input_class): New variable.
24177 (grub_term_output_class): Likewise.
24178 (grub_term_register_input): Changed to inline function.
24179 (grub_term_register_output): Likewise.
24180 (grub_term_unregister_input): Likewise.
24181 (grub_term_unregister_output): Likewise.
24182 (grub_term_set_current_input): Likewise.
24183 (grub_term_set_current_output): Likewise.
24184 (grub_term_get_current_input): Likewise.
24185 (grub_term_get_current_output): Likewise.
24186 (grub_term_iterate_input): Removed.
24187 (grub_term_iterate_output): Likewise.
24188
24189 * kern/term.c (grub_term_list_input): Removed.
24190 (grub_term_list_output): Likewise.
24191 (grub_term_input_class): New variable.
24192 (grub_term_output_class): Likewise.
50fb7002 24193 (grub_cur_term_input): Change variable as macro.
71b9f361 24194 (grub_cur_term_output): Likewise.
24195 (grub_term_register_input): Removed.
24196 (grub_term_register_output): Likewise.
24197 (grub_term_unregister_input): Likewise.
24198 (grub_term_unregister_output): Likewise.
24199 (grub_term_set_current_input): Likewise.
24200 (grub_term_set_current_output): Likewise.
24201 (grub_term_iterate_input): Likewise.
24202 (grub_term_iterate_output): Likewise.
24203 (grub_term_get_current_input): Likewise.
24204 (grub_term_get_current_output): Likewise.
24205
24206 * util/grub-editenv.c: Include header file <grub/handler.h>.
24207 (grub_term_get_current_input): Removed.
24208 (grub_term_get_current_output): Likewise.
24209 (grub_term_input_class): New variable.
50fb7002 24210 (grub_term_output_class): Likewise.
71b9f361 24211
24212 * util/grub-fstest.c (grub_term_get_current_input): Removed.
24213 (grub_term_get_current_output): Likewise.
24214 (grub_term_input_class): New variable.
50fb7002 24215 (grub_term_output_class): Likewise.
71b9f361 24216
24217 * util/grub-probe.c (grub_term_get_current_input): Removed.
24218 (grub_term_get_current_output): Likewise.
24219 (grub_term_input_class): New variable.
50fb7002 24220 (grub_term_output_class): Likewise.
71b9f361 24221
24222 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
24223 (grub_term_get_current_output): Likewise.
24224 (grub_term_input_class): New variable.
50fb7002 24225 (grub_term_output_class): Likewise.
71b9f361 24226
24227 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
24228 (terminal_mod_SOURCES): Likewise.
24229 (terminal_mod_CFLAGS): Likewise.
24230 (terminal_mod_LDFLAGS): Likewise.
24231
24232 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
24233 handler.c.
24234 (kernel_img_SOURCES): Add list.c and handler.c.
24235 (kernel_img_HEADERS): Add list.h and handler.h.
24236
24237 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24238 handler.c.
24239 (kernel_mod_SOURCES): Add list.c and handler.c.
24240 (kernel_mod_HEADERS): Add list.h and handler.h.
24241
24242 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
24243 handler.c.
24244 (kernel_elf_SOURCES): Add list.c and handler.c.
24245 (kernel_elf_HEADERS): Add list.h and handler.h.
24246
24247 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24248 handler.c.
24249 (kernel_elf_SOURCES): Add list.c and handler.c.
24250 (kernel_elf_HEADERS): Add list.h and handler.h.
24251
24252 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24253 handler.c.
24254 (kernel_mod_SOURCES): Add list.c and handler.c.
24255 (kernel_mod_HEADERS): Add list.h and handler.h.
24256
24257 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24258 handler.c.
24259 (kernel_elf_SOURCES): Add list.c and handler.c.
24260 (kernel_elf_HEADERS): Add list.h and handler.h.
24261
8a31787f 242622009-02-27 Robert Millan <rmh@aybabtu.com>
24263
24264 Factorize elf32 / elf64 code in Multiboot loader. This will
24265 prevent it from getting out of sync again.
24266
24267 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
24268 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
24269 grub_multiboot_load_elf64): Move from here ...
24270 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
24271 grub_multiboot_load_elf): ... to here (new file).
24272
51cd3dfc 242732009-02-27 Robert Millan <rmh@aybabtu.com>
24274
24275 * util/grub.d/10_linux.in: Rename "single-user mode" to
24276 "recovery mode".
24277
6e8c9c3a 242782009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
24279
24280 Don't leak in SCSI code.
24281 * disk/scsi.c (grub_scsi_close): free `scsi'.
24282
4b6bf4f9 242832009-02-27 Robert Millan <rmh@aybabtu.com>
24284
24285 * loader/i386/pc/multiboot.c: Move from here ...
24286 * loader/i386/multiboot.c: ... to here. Update all users.
24287
b9413424 242882009-02-27 Robert Millan <rmh@aybabtu.com>
24289
24290 Patch from Alexandre Bique <bique.alexandre@gmail.com>
24291 * util/i386/pc/grub-setup.c (setup): Fix directory path.
24292
50fb7002 242932009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 24294
24295 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
24296 b-tree.
24297
8cc50345 242982009-02-27 Robert Millan <rmh@aybabtu.com>
24299
24300 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
24301 `0x' qualifier as 0 when base is specified as parameter).
24302
6e09b8b7 243032009-02-24 Bean <bean123ch@gmail.com>
24304
24305 * configure.ac: Check for -mcmodel=large in x86_64 target.
24306
24307 * include/grub/efi/api.h (efi_call_10): New macro.
24308 (efi_wrap_10): New function.
24309
24310 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
24311 (GRUB_PE32_REL_BASED_HIGH): Likewise.
24312 (GRUB_PE32_REL_BASED_LOW): Likewise.
24313 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
24314 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
24315 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
24316 (GRUB_PE32_REL_BASED_SECTION): Likewise.
24317 (GRUB_PE32_REL_BASED_REL): Likewise.
24318 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
24319 (GRUB_PE32_REL_BASED_DIR64): Likewise.
24320 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
24321
24322 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
24323 issue.
24324
24325 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
24326 (efi_wrap_10): New function.
24327
24328 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
24329
24330 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
24331 MB/MBP model (NV chipset).
24332 (devdata_devs): Add devpath_5 to the list.
24333
24334 * load/i386/efi/linux.c (video_base): Remove variable.
24335 (RGB_MASK): New macro.
24336 (RGB_MAGIC): Likewise.
24337 (LINE_MIN): Likewise.
24338 (LINE_MAX): Likewise.
24339 (FBTEST_STEP): Likewise.
24340 (FBTEST_COUNT): Likewise.
24341 (fb_list): New variable.
24342 (grub_find_video_card): Remove function.
24343 (find_framebuf): New function.
24344 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
24345 line length.
24346
24347 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
24348 problem for x86_64.
24349
74b21bee 243502009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
24351
24352 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
24353
24354 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
24355 coding tool name.
24356
a455f472 243572009-02-22 Robert Millan <rmh@aybabtu.com>
24358
24359 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
24360 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
24361 in our relocation, instead of using it directly from heap. Also
24362 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
24363
6374daf3 243642009-02-21 Robert Millan <rmh@aybabtu.com>
24365
24366 Implement USB keyboard support (based on patch by Marco Gerards)
24367
24368 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
24369 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
24370 (usb_keyboard_mod_LDFLAGS): New variables.
24371
24372 * term/usb_keyboard.c: New file.
24373
8fa4ea70 243742009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24375
24376 Corrected wrong declaration
24377
24378 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
24379
353976ac 243802009-02-14 Christian Franke <franke@computer.org>
24381
24382 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
24383 (grub_lspci_iter): Print class code and programming interface byte.
24384
6aa1169b 243852009-02-14 Christian Franke <franke@computer.org>
24386
24387 * gendistlist.sh: Ignore `.svn' directories.
24388
265372ca 243892009-02-14 Felix Zielcke <fzielcke@z-51.de>
24390
24391 * fs/fat.c: Add 2009 to Copyright line.
24392
9ff516f3 243932009-02-14 Christian Franke <franke@computer.org>
24394
24395 * commands/hdparm.c: New file. Provides `hdparm' command
24396 which sends ATA commands via grub_disk_ata_pass_through ().
24397
24398 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
24399
24400 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
24401 and <grub/cpu/io.h> to include/grub/ata.h.
24402 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
24403 (GRUB_CDROM_SECTOR_SIZE): Remove.
24404 (GRUB_ATA_*): Move to include/grub/ata.h.
24405 (GRUB_ATAPI_*): Likewise.
24406 (enum grub_ata_commands): Likewise.
24407 (enum grub_ata_timeout_milliseconds): Likewise.
24408 (struct grub_ata_device): Likewise.
24409 (grub_ata_regset): Likewise.
24410 (grub_ata_regget): Likewise.
24411 (grub_ata_regset2): Likewise.
24412 (grub_ata_regget2): Likewise.
24413 (grub_ata_check_ready): Likewise.
24414 (grub_ata_wait_not_busy): Remove static, exported in
24415 include/grub/ata.h.
24416 (grub_ata_wait_drq): Likewise.
24417 (grub_ata_pio_read): Likewise.
24418
24419 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
24420 function for hdparm.mod.
24421
24422 * include/grub/ata.h: New file, contains declarations from
24423 disk/ata.c.
24424 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
24425
24426 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
24427 (grub_disk_ata_pass_through): New exported variable.
24428
24429 * kern/disk.c (grub_disk_ata_pass_through): New variable.
24430
772e23da 244312009-02-13 Colin D Bennett <colin@gibibit.com>
24432
24433 Support multiple fallback entries, and provide an API to support
24434 executing default+fallback menu entries. Renamed the `terminal' menu
24435 viewer to `text'.
24436
24437 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
24438 variable declaration.
24439 (grub_menu_execute_callback): New structure declaration.
24440 (grub_menu_execute_callback_t): New typedef.
24441 (grub_menu_execute_with_fallback): New function declaration.
24442 (grub_menu_get_entry): Likewise.
24443 (grub_menu_get_timeout): Likewise.
24444 (grub_menu_set_timeout): Likewise.
24445
24446 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
24447
24448 * normal/menu.c (grub_wait_after_message): Moved to
24449 `normal/menu_text.c'.
24450 (draw_border): Likewise.
24451 (print_message): Likewise.
24452 (print_entry): Likewise.
24453 (print_entries): Likewise.
24454 (grub_menu_init_page): Likewise.
24455 (get_entry_number): Likewise.
24456 (print_timeout): Likewise.
24457 (run_menu): Likewise.
24458 (grub_menu_execute_entry): Likewise.
24459 (show_text_menu): Likewise.
24460 (get_and_remove_first_entry_number): New function.
24461 (grub_menu_execute_with_fallback): Likewise.
24462 (get_entry): Renamed to ...
24463 (grub_menu_get_entry): .. this and made it global.
24464 (get_timeout): Renamed to ...
24465 (grub_menu_get_timeout): ... this and made it global.
24466 (set_timeout): Renamed to ...
24467 (grub_menu_set_timeout): ... this and made it global.
24468 (grub_normal_terminal_menu_viewer): Renamed to ...
24469 (grub_normal_text_menu_viewer): ... this.
24470
24471 * normal/menu_text.c: New file. Extracted text-menu-specific code
24472 from normal/menu.c.
24473
24474 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
24475 (normal_mod_SOURCES): Likewise.
24476
24477 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24478 (normal_mod_SOURCES): Likewise.
24479
24480 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24481 (normal_mod_SOURCES): Likewise.
24482
24483 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
24484 (normal_mod_SOURCES): Likewise.
24485
24486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24487 (normal_mod_SOURCES): Likewise.
24488
24489 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24490 (normal_mod_SOURCES): Likewise.
24491
24492 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24493 (normal_mod_SOURCES): Likewise.
24494
16ac430e 244952009-02-11 Robert Millan <rmh@aybabtu.com>
24496
24497 * util/grub.d/00_header.in: Update old reference to `font' command.
24498
06ff20fc 244992009-02-10 Felix Zielcke <fzielcke@z-51.de>
24500
24501 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
24502
24503 Based on patch from Javier Martín.
24504
96da9407 245052009-02-09 Felix Zielcke <fzielcke@z-51.de>
24506
24507 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 24508 to avoid false positives with FAT.
96da9407 24509 (grub_fstest_SOURCES): Likewise.
24510 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24511 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24513 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24514 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24515 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24516
6dca6fe4 245172009-02-09 Felix Zielcke <fzielcke@z-51.de>
24518
06ff20fc 24519 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 24520 bpb.version_specific.fat12_or_fat16.fstype and
24521 bpb.version_specific.fat32.fstype.
24522
2550c62f 245232009-02-08 Robert Millan <rmh@aybabtu.com>
24524
be110b30 24525 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 24526
56978920 245272009-02-08 Robert Millan <rmh@aybabtu.com>
24528
24529 * Makefile.in (host_os, host_cpu): New variables.
24530 (target_os): Remove. Update all users.
24531
d64399b5 245322009-02-08 Marco Gerards <marco@gnu.org>
24533
24534 * Makefile.in (enable_grub_emu_usb): New variable.
24535 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
24536 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
24537 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
24538 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
24539 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
24540 `usbtest.mod' and `usbms.mod'.
24541 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
24542 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
24543 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
24544 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
24545 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
24546 variables.
24547
24548 * disk/usbms.c: New file.
24549
24550 * include/grub/usb.h: Likewise.
24551
24552 * include/grub/usbtrans.h: Likewise.
24553
24554 * include/grub/usbdesc.h: Likewise.
24555
24556 * bus/usb/usbtrans.c: Likewise.
24557
24558 * bus/usb/ohci.c: Likewise.
24559
24560 * bus/usb/uhci.c: Likewise.
24561
24562 * bus/usb/usbhub.c: Likewise.
24563
24564 * bus/usb/usb.c: Likewise.
24565
24566 * commands/usbtest.c: Likewise.
24567
24568 * util/usb.c: Likewise.
50fb7002 24569
d64399b5 24570 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
24571
24572 * configure.ac: Test for libusb presence.
50fb7002 24573
d64399b5 24574 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
24575
2b40d6bb 245762009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
24577
24578 * kern/mm.c: Add more comments.
24579
73a4ce81 245802009-02-08 Robert Millan <rmh@aybabtu.com>
24581
24582 Patch from Javier Martín.
24583 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
24584 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
24585
f821ce59 245862009-02-08 Robert Millan <rmh@aybabtu.com>
24587
24588 * fs/cpio.c: Split tar functionality to ...
24589 * fs/tar.c: ... here (new file). Update all users.
24590
aebfc4b0 245912009-02-07 Robert Millan <rmh@aybabtu.com>
24592
24593 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
24594 backward-incompatible features.
24595
24596 Based on patch from Javier Martín, with some adjustments.
24597
50fb7002 245982009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 24599
24600 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
24601
0bb5115e 246022009-02-07 Robert Millan <rmh@aybabtu.com>
24603
24604 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
24605 position of `disk/lvm.c' to ensure grub_init_all() always picks it
24606 after the RAID stuff.
24607
38a0f8e7 246082009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
24609
50fb7002 24610 Fixes problem when running vbetest command as reported by
38a0f8e7 24611 Vladimir Serbinenko <phcoder@gmail.com>.
24612
24613 * (grub_vbe_set_video_mode): Fixed problem with text modes.
24614
3143cc1c 246152009-02-04 Felix Zielcke <fzielcke@z-51.de>
24616
24617 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
24618 /dev/md/NpN style mdraid devices.
24619
9cba6fce 246202009-02-03 Felix Zielcke <fzielcke@z-51.de>
24621
24622 * util/unifont2pff.rb: Remove.
24623
e507a2c1 246242009-02-03 Felix Zielcke <fzielcke@z-51.de>
24625
24626 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
24627 `#'.
24628
d2c2b4cd 246292009-02-03 Felix Zielcke <fzielcke@z-51.de>
24630
24631 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
24632 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24633 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24634 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24636 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24637 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24638
b4315fb0 246392009-02-02 Christian Franke <franke@computer.org>
24640
24641 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
24642
de3aa260 246432009-02-01 Felix Zielcke <fzielcke@z-51.de>
24644
7c3ff286 24645 * INSTALL: Note that we now require at least autoconf 2.59 and
24646 that LZO is optional.
de3aa260 24647
825a182b 246482009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24649
24650 Base on patch on bug #24154 created by Tomas Tintera
24651 <trosos@seznam.cz>.
24652
24653 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
24654
a69ef770 246552009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24656
7c3ff286 24657 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 24658 <bero@arklinux.org>.
24659
24660 * normal/parser.y (script_init): Add missing semicolon.
24661
6fa42fa6 246622009-01-31 Colin D Bennett <colin@gibibit.com>
24663
7c3ff286 24664 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 24665 (free_menu_entry_classes): Added.
24666 (grub_normal_menu_addentry): Added class property handling.
24667 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
24668 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
24669
24670 * normal/menu_viewer.c: New file.
24671
24672 * normal/menu.c (run_menu_entry): Renamed to ...
24673 (grub_menu_execute_entry): ... this and made it as global.
24674 (grub_menu_run): Renamed to ...
24675 (show_text_menu): ... this and made it local.
24676 (show_text_menu): Adapt to new function names.
24677 (grub_normal_terminal_menu_viewer): New global variable.
24678
24679 * include/grub/menu.h: New file.
24680
24681 * include/grub/menu_viewer.h: New file.
24682
24683 * include/grub/normal.h: Added include to grub/menu.h.
24684 (grub_menu_entry): Moved to include/grub/menu.h.
24685 (grub_menu_entry_t): Likewise.
24686 (grub_menu): Likewise.
24687 (grub_menu_t): Likewise.
24688 (grub_normal_terminal_menu_viewer): Added.
24689 (grub_menu_execute_entry): Likewise.
24690 (grub_menu_run): Removed.
24691
24692 * DISTLIST: Added include/grub/menu.h.
24693 Added include/grub/menu_viewer.h.
24694 Added normal/menu_viewer.c.
24695
246962009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
24697
24698 * normal/execute.c (grub_script_execute_menuentry): Changed to use
24699 arglist for menutitle arguments.
24700
24701 * normal/main.c (grub_normal_menu_addentry): Likewise.
24702
24703 * normal/parser.y (menuentry): Likewise.
24704
24705 * normal/script.c (grub_script_create_cmdmenu): Likewise.
24706
24707 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
24708 (grub_script_create_cmdmenu): Likewise.
24709
24710 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
24711
24712 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
24713 changes.
24714
24715 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
24716
24717 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
24718
24719 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
24720
24721 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24722
24723 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24724
24725 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24726
56192c23 247272009-01-30 Christian Franke <franke@computer.org>
24728
24729 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
24730 in option help text.
24731
d72521b3 247322009-01-27 Pavel Roskin <proski@gnu.org>
24733
24734 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
24735
994b5e84 247362009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24737
24738 * commands/lsmmap.c: Add include to grub/machine/memory.h.
24739
24740 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
24741
24742 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
24743 unregister function.
24744
6a7eab2c 247452009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24746
24747 * disk/scsi.c (grub_scsi_read): Fix sign problem.
24748
24749 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
24750
24751 * util/grub-mkfont.c (usage): Fix typo.
24752
24753 * util/elf/grub-mkimage.c (load_modules): Fix warning.
24754
1806b56e 247552009-01-26 Daniel Mierswa <impulze@impulze.org>
24756
3fb18f09 24757 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
24758
336e1fb9 24759 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
24760
1806b56e 24761 * kern/misc.c (grub_strcasecmp): New function.
24762 (grub_strcasecmp): Use grub_size_t instead of int for length.
24763 Fix return value.
24764 * include/grub/misc.h: Update function prototypes.
24765
580b2a0f 247662009-01-26 Robert Millan <rmh@aybabtu.com>
24767
24768 * configure.ac: Fix cross-compilation check.
ef257b36 24769
d31c24f1 247702009-01-22 Christian Franke <franke@computer.org>
24771
24772 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
24773 (precision) digit string. Allow `.format2' without `format1' (width).
24774 Limit input chars for `%s' output to `format2' if specified. This is
24775 compatible with standard printf ().
24776
3138b44c 247772009-01-22 Christian Franke <franke@computer.org>
24778
24779 * disk/ata.c (grub_ata_wait_status): Replace by ...
24780 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
24781 other status bits may be invalid while BSY is asserted.
24782 (grub_ata_check_ready): New function.
24783 (grub_ata_cmd): Removed.
24784 (grub_ata_wait_drq): New function.
24785 (grub_ata_strncpy): Remove inline.
24786 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
24787 and error check now done by grub_ata_wait_drq ().
24788 (grub_ata_pio_write): Likewise.
24789 (grub_atapi_identify): Set DEV before check for !BSY. Use
24790 grub_ata_wait_drq () to wait for data.
24791 (grub_ata_device_initialize): Add status register check to
24792 detect missing SATA slave devices. Add debug messages.
24793 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
24794 (grub_atapi_packet): Set DEV before check for !BSY. Replace
24795 transfer loop by grub_ata_pio_write ().
24796 (grub_ata_identify): Set DEV before check for !BSY. Use
24797 grub_ata_wait_drq () to wait for data.
ef257b36 24798 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 24799 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
24800 read/write in one loop. Fix invalid command on write. Fix incomplete
24801 command on (size % batch) == 0. Add missing error check after write of
24802 last block. Add debug messages.
24803 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
24804
59a64ef6 248052009-01-19 Christian Franke <franke@computer.org>
24806
24807 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
24808 (GRUB_ATAPI_IREASON_*): Likewise.
24809 (grub_ata_pio_write): Fix timeout error return.
24810 (grub_atapi_identify): Add grub_ata_wait () after cmd.
24811 (grub_atapi_wait_drq): New function.
24812 (grub_atapi_packet): New parameter `size'.
24813 Use grub_atapi_wait_drq () and direct write instead of
24814 grub_ata_pio_write ().
24815 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
24816 reads the number of bytes requested by the device for each DRQ
24817 assertion.
24818 (grub_atapi_write): Remove old implementation, return not
24819 implemented instead.
24820
1cfe20b3 248212009-01-19 Christian Franke <franke@computer.org>
24822
24823 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
24824 of 512 to calculate data size.
24825 (grub_scsi_read12): Likewise.
24826 (grub_scsi_write10): Likewise.
24827 (grub_scsi_write12): Likewise.
24828 (grub_scsi_read): Adjust size according to blocksize.
24829 Add checks for invalid blocksize and unaligned transfer.
24830
bee5fe5d 248312009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
24832
24833 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
24834
ef257b36 24835 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 24836 width glyphs.
24837
3e643f8c 248382009-01-19 Robert Millan <rmh@aybabtu.com>
24839
24840 * config.guess: Update to latest version from config git.
24841 * config.sub: Likewise.
24842
4fa80998 248432009-01-17 Felix Zielcke <fzielcke@z-51.de>
24844
24845 * Makefile.in: Change font compilation to use new grub-mkfont instead
24846 of java version.
24847
24848 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
24849 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
24850 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24851 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24852 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
24853 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
24854 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
24855 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
24856 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24857
7086085b 248582009-01-16 Christian Franke <franke@computer.org>
24859
24860 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
24861 (enum grub_ata_timeout_milliseconds): New enum.
24862 (grub_ata_wait_status): Add parameter milliseconds.
24863 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
24864 recovery from timed-out commands.
24865 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
24866 return grub_errno instead of REG_ERROR.
24867 (grub_ata_pio_write): Add parameter milliseconds.
24868 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
24869 Pass milliseconds to grub_ata_wait_status () and
24870 grub_ata_pio_read ().
24871 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
24872 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
24873 grub_ata_wait_status (). Fix IDENTIFY timeout check.
24874 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
24875 It is not suitable for device detection, because DEV bit is ignored,
24876 the command may run too long, and not all devices set the signature
24877 properly.
24878 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
24879 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
24880 Fix device selection, DEV bit must be set first to address the registers
24881 of the correct device.
24882 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
24883 grub_ata_pio_read/write ().
24884 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
24885 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
24886
4a412913 248872009-01-13 Carles Pina i Estany <carles@pina.cat>
24888
24889 * util/grub-editenv.c (main): Use fseeko(), not fseek().
24890
7795c55e 248912009-01-13 Bean <bean123ch@gmail.com>
d913988c 24892
24893 * util/grub-mkfont.c (write_font): forget to remove some debug code.
24894
7795c55e 248952009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 24896
24897 * Makefile.in: (enable_grub_mkfont): New variable.
24898 (freetype_cflags): Likewise.
24899 (freetype_libs): Likewise.
24900
24901 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
24902 (grub_mkfont_SOURCES): New variable.
24903 (grub_mkfont_CFLAGS): Likewise.
24904 (grub_mkfont_LDFLAGS): Likewise.
24905
24906 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
24907 library if `--enable-grub-mkfont' is requested.
24908 (enable_grub_mkfont): New variable.
24909 (freetype_cflags): Likewise.
24910 (freetype_libs): Likewise.
24911
24912 * util/grub-mkfont.c: New file.
24913
093af1fe 249142009-01-12 Christian Franke <franke@computer.org>
24915
24916 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
24917 mode check. Fix setting of compat_use[].
24918
f36cc108 249192009-01-10 Robert Millan <rmh@aybabtu.com>
24920
24921 Update a few copyright years which we forgot to do in 2008 (only for
24922 files whose changes made in 2008 were copyright-significant)
24923
24924 * Makefile.in: Add 2008 to Copyright line.
24925 * disk/ieee1275/ofdisk.c: Likewise.
24926 * disk/efi/efidisk.c: Likewise.
24927 * kern/dl.c: Likewise.
24928 * kern/sparc64/ieee1275/init.c: Likewise.
24929 * kern/mm.c: Likewise.
24930 * kern/efi/mm.c: Likewise.
24931 * boot/i386/pc/boot.S: Likewise.
24932 * genfslist.sh: Likewise.
24933 * fs/iso9660.c: Likewise.
24934 * fs/hfs.c: Likewise.
24935 * fs/jfs.c: Likewise.
24936 * fs/minix.c: Likewise.
24937 * fs/ufs.c: Likewise.
24938 * gensymlist.sh.in: Likewise.
24939 * genkernsyms.sh.in: Likewise.
24940 * include/grub/misc.h: Likewise.
24941 * include/grub/types.h: Likewise.
24942 * include/grub/symbol.h: Likewise.
24943 * include/grub/elf.h: Likewise.
24944 * include/grub/kernel.h: Likewise.
24945 * include/grub/disk.h: Likewise.
24946 * include/grub/dl.h: Likewise.
24947 * include/grub/i386/linux.h: Likewise.
24948 * include/grub/i386/pc/biosdisk.h: Likewise.
24949 * include/grub/efi/api.h: Likewise.
24950 * include/grub/efi/pe32.h: Likewise.
24951 * include/grub/util/misc.h: Likewise.
24952 * normal/execute.c: Likewise.
24953 * normal/arg.c: Likewise.
24954 * normal/completion.c: Likewise.
24955 * normal/lexer.c: Likewise.
24956 * normal/parser.y: Likewise.
24957 * normal/misc.c: Likewise.
24958 * commands/i386/pc/vbeinfo.c: Likewise.
24959 * commands/hexdump.c: Likewise.
24960 * commands/terminal.c: Likewise.
24961 * commands/ls.c: Likewise.
24962 * commands/help.c: Likewise.
24963 * partmap/pc.c: Likewise.
24964 * loader/efi/chainloader.c: Likewise.
24965 * loader/multiboot_loader.c: Likewise.
24966 * loader/i386/pc/multiboot2.c: Likewise.
24967 * term/efi/console.c: Likewise.
24968 * term/i386/pc/serial.c: Likewise.
24969 * util/lvm.c: Likewise.
24970 * util/console.c: Likewise.
24971 * util/i386/efi/grub-mkimage.c: Likewise.
24972 * util/raid.c: Likewise.
24973
7f02114b 249742009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
24975
24976 * commands/videotest.c: Removed include to grub/machine/memory.h.
24977
24978 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
24979 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
24980 (video_mod_SOURCES): Removed.
24981 (video_mod_CFLAGS): Likewise.
24982 (video_mod_LDFLAGS): Likewise.
24983 (gfxterm_mod_SOURCES): Likewise.
24984 (gfxterm_mod_CFLAGS): Likewise.
24985 (gfxterm_mod_LDFLAGS): Likewise.
24986 (videotest_mod_SOURCES): Likewise.
24987 (videotest_mod_CFLAGS): Likewise.
24988 (videotest_mod_LDFLAGS): Likewise.
24989 (bitmap_mod_SOURCES): Likewise.
24990 (bitmap_mod_CFLAGS): Likewise.
24991 (bitmap_mod_LDFLAGS): Likewise.
24992 (tga_mod_SOURCES): Likewise.
24993 (tga_mod_CFLAGS): Likewise.
24994 (tga_mod_LDFLAGS): Likewise.
24995 (jpeg_mod_SOURCES): Likewise.
24996 (jpeg_mod_CFLAGS): Likewise.
24997 (jpeg_mod_LDFLAGS): Likewise.
24998 (png_mod_SOURCES): Likewise.
24999 (png_mod_CFLAGS): Likewise.
25000 (png_mod_LDFLAGS): Likewise.
25001
25002 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
25003 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
25004 (video_mod_SOURCES): Added.
25005 (video_mod_CFLAGS): Likewise.
25006 (video_mod_LDFLAGS): Likewise.
25007 (videotest_mod_SOURCES): Likewise.
25008 (videotest_mod_CFLAGS): Likewise.
25009 (videotest_mod_LDFLAGS): Likewise.
25010 (bitmap_mod_SOURCES): Likewise.
25011 (bitmap_mod_CFLAGS): Likewise.
25012 (bitmap_mod_LDFLAGS): Likewise.
25013 (tga_mod_SOURCES): Likewise.
25014 (tga_mod_CFLAGS): Likewise.
25015 (tga_mod_LDFLAGS): Likewise.
25016 (jpeg_mod_SOURCES): Likewise.
25017 (jpeg_mod_CFLAGS): Likewise.
25018 (jpeg_mod_LDFLAGS): Likewise.
25019 (png_mod_SOURCES): Likewise.
25020 (png_mod_CFLAGS): Likewise.
25021 (png_mod_LDFLAGS): Likewise.
25022 (gfxterm_mod_SOURCES): Likewise.
25023 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 25024 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 25025
25026 * term/gfxterm.c: Removed include to grub/machine/memory.h,
25027 grub/machine/console.h.
25028
644fff97 250292009-01-04 Jerone Young <jerone@gmail.com>
25030
25031 Make on screen instructions clearer
25032
25033 Based on patch created by Jidanni <jidanni@jidanni.org>
25034
25035 * normal/menu.c: print clearer instructions on the screen
25036
1e901a75 250372009-01-02 Colin D Bennett <colin@gibibit.com>
25038
25039 New font engine.
34c44600 25040
1e901a75 25041 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
25042 build system and fixed gfxterm.c to work with different sized fonts.
25043
25044 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 25045
1e901a75 25046 * configure: Re-generated.
34c44600 25047
1e901a75 25048 * DISTLIST: Removed font/manager.c.
25049 Added font/font.c.
25050 Added font/font_cmd.c.
34c44600 25051
1e901a75 25052 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
25053 compilation.
34c44600 25054
1e901a75 25055 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 25056
25057 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 25058
25059 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 25060
1e901a75 25061 * normal/menu.c: Likewise.
34c44600 25062
1e901a75 25063 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
25064 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 25065
1e901a75 25066 * include/grub/font.h: Replaced with new file.
34c44600 25067
1e901a75 25068 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
25069 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
25070 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
25071 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
25072 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 25073 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 25074 fg_red, fg_green, fg_blue, fg_alpha.
25075 (grub_video_adapter): Removed blit_glyph.
34c44600 25076 (grub_video_blit_glyph): Removed.
25077
1e901a75 25078 * font/manager.c: Removed file.
34c44600 25079
25080 * font/font.c: New file.
25081
1e901a75 25082 * font/font_cmd.c: Likewise.
34c44600 25083
1e901a75 25084 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 25085
1e901a75 25086 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
25087 (grub_video_vbe_map_rgba): Likewise.
25088 (grub_video_vbe_unmap_color_int): Likewise.
25089 (grub_video_vbe_blit_glyph): Removed.
25090 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 25091
1e901a75 25092 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
25093 (get_pixel): Likewise.
34c44600 25094 (set_pixel): Likewise.
25095
1e901a75 25096 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 25097
1e901a75 25098 * term/gfxterm.c: Adapted to new font engine.
34c44600 25099
1e901a75 25100 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 25101
1e901a75 25102 * term/i386/pc/vga.c: Likewise.
34c44600 25103
1e901a75 25104 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 25105
1e901a75 25106 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 25107
1e901a75 25108 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25109
1e901a75 25110 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25111
1e901a75 25112 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 25113
1e901a75 25114 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 25115
1e901a75 25116 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 25117
1e901a75 25118 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 25119
1e901a75 25120 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25121
25122 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 25123
1e901a75 25124 * util/grub-mkconfig_lib.in: Changed font extension.
25125
278922e8 251262008-12-28 Felix Zielcke <fzielcke@z-51.de>
25127
25128 * util/getroot.c (grub_util_get_grub_dev): Add support for
25129 /dev/md/dNNpNN style partitionable mdraid devices.
25130
3ced05cf 251312008-12-12 Alex Smith <alex@alex-smith.me.uk>
25132
25133 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
25134 at a time limit of the PXE TFTP API correctly.
25135 (grub_pxefs_close): Likewise.
25136
7fd0ee30 251372008-11-29 Robert Millan <rmh@aybabtu.com>
25138
34c44600 25139 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 25140 grub_ata_device_initialize() calls.
25141
34c44600 251422008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 25143
25144 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
25145 iteration failed.
25146 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
25147
89313780 251482008-11-28 Robert Millan <rmh@aybabtu.com>
25149
25150 Fix build on powerpc-ieee1275. Based on patch created by
25151 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
25152 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25153 `kern/ieee1275/mmap.c'.
25154 * include/grub/powerpc/ieee1275/memory.h: New file.
25155
15257703 25156 Provide grub-install on coreboot.
25157 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
25158 (grub_install_SOURCES): New variable.
25159 * util/i386/pc/grub-install.in: Add a few condition checks to make it
25160 usable on coreboot.
25161
9fc5388a 251622008-11-25 Felix Zielcke <fzielcke@z-51.de>
25163
25164 * util/grub-fstest.c (grub_term_get_current_input): Change return type
25165 to `grub_term_input_t'.
25166 (grub_term_get_current_output): Change return type to
25167 `grub_term_output_t'.
25168
bc3a2f31 251692008-11-22 Robert Millan <rmh@aybabtu.com>
25170
34c44600 25171 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 25172 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
25173 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
25174 grub_vga_text_cls().
25175
80fc88f2 25176 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 25177 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 25178
cbf36fd3 25179 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
25180 to 0x200000 (avoids trouble with some OFW implementations, and matches
25181 with the one in Yaboot).
25182 Reported by Manoel Abranches
25183
73e8e268 251842008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 25185
25186 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
25187 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
25188
73e8e268 25189 * util/grub-mkconfig_lib.in (grub_warn): New function.
25190 (convert_system_path_to_grub_path): Use grub_warn() when issuing
25191 warnings, to obtain consistent formatting.
25192 * util/grub.d/00_header.in: Likewise.
25193 * util/update-grub_lib.in: Likewise.
25194
e94045a1 25195 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 25196 Move comment text to `#error' stanza.
e94045a1 25197
79d29fd7 25198 Harmonize ieee1275's grub_available_iterate() with the generic
25199 grub_machine_mmap_iterate() interface (fixes a recently-introduced
25200 build problem on i386-ieee1275):
25201 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
25202 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
25203 parameter `type'. Update all users of this function.
25204 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25205 `kern/ieee1275/mmap.c'.
25206 * kern/ieee1275/init.c
25207 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
25208 with ...
25209 (grub_machine_mmap_iterate): ... this.
25210 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
25211 return type to `grub_err_t'. Update all implementations of this
25212 function prototype.
25213 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
25214 Likewise.
25215
60d6b16e 25216 Add `lsmmap' command (lists firmware-provided memory map):
25217 * commands/lsmmap.c: New file.
25218 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
25219 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
25220 variables.
25221 * conf/powerpc-ieee1275.rmk: Likewise.
25222 * conf/i386-coreboot.rmk: Likewise.
25223 * conf/i386-ieee1275.rmk: Likewise.
25224
ebaaf49b 252252008-11-19 Robert Millan <rmh@aybabtu.com>
25226
25227 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 25228 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
25229 constraints to initrd allocation (based on code from
25230 loader/i386/pc/linux.c). Without them, initrd was allocated too high
25231 for Linux to find it.
ebaaf49b 25232
dfab719f 252332008-11-14 Robert Millan <rmh@aybabtu.com>
25234
25235 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
25236 order to cope with duplicate slashes.
25237
10fc3eb9 252382008-11-14 Robert Millan <rmh@aybabtu.com>
25239
25240 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
25241 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
25242 don't want to mess with lower memory, because it is used in the Linux
25243 loader.
25244
25245 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 25246 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 25247 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
25248 is in our heap (probably as a result of it being corrupted during
2f2a3442 25249 decompression). Add #error instance with comment to explain why this
25250 loader isn't currently usable on PC/BIOS.
10fc3eb9 25251
e2e07847 252522008-11-14 Robert Millan <rmh@aybabtu.com>
25253
25254 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 25255 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 25256
fe8e8d69 252572008-11-12 Robert Millan <rmh@aybabtu.com>
25258
25259 Make loader/i386/linux.c buildable on i386-pc (although disabled).
25260
25261 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
25262 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
25263 from here ...
25264 * include/grub/i386/pc/memory.h: ... to here.
25265
976b07d0 252662008-11-12 Robert Millan <rmh@aybabtu.com>
25267
25268 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
25269 split).
25270
25271 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
25272 (grub_console_cur_color, grub_console_real_putchar)
25273 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25274 (grub_console_setcolorstate, grub_console_setcolor)
25275 (grub_console_getcolor): Move from here ...
25276 * include/grub/i386/vga_common.h: ... to here (new file).
25277
25278 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
25279 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
25280 `<grub/i386/io.h>'.
25281 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
25282 `<grub/i386/vga_common.h>'.
25283
76679cd3 252842008-11-12 Robert Millan <rmh@aybabtu.com>
25285
25286 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
25287 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
25288 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
25289 variables.
25290 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25291 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
25292
25293 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
25294 grub_console_init() with call to grub_vga_text_init().
25295 (grub_machine_fini): Replace call to
25296 grub_console_fini() with call to grub_vga_text_fini() and
25297 grub_at_keyboard_fini().
25298
25299 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
25300 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25301 (grub_console_setcolorstate, grub_console_setcolor)
25302 (grub_console_getcolor): New function prototypes.
25303
25304 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
25305 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
25306 (grub_vga_text_setcursor): Static-ize.
25307 (grub_vga_text_term): New structure.
25308 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
25309
25310 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
25311 (grub_console_cur_color, grub_console_standard_color)
25312 (grub_console_normal_color, grub_console_highlight_color)
25313 (map_char, grub_console_putchar, grub_console_getcharwidth)
25314 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
25315 (grub_console_getcolor): Move from here ...
25316 * term/i386/vga_common.c: ... to here (same function names).
25317
95b841d3 253182008-11-12 Robert Millan <rmh@aybabtu.com>
25319
25320 Use newly-added Multiboot support in coreboot.
25321
25322 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25323 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
25324
25325 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
25326 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
25327 (codestart): Store the MBI in `startup_multiboot_info' when we're
25328 being loaded using Multiboot.
25329
25330 * kern/i386/coreboot/init.c (grub_machine_init): Move
25331 grub_at_keyboard_init() call to beginning of function (useful for
25332 debugging). Call grub_machine_mmap_init() before attempting to use
25333 grub_machine_mmap_iterate().
25334 (grub_lower_mem, grub_upper_mem): Move from here ...
25335 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
25336 here (new file).
25337
25338 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
25339 function prototype.
25340
761ca975 253412008-11-12 Robert Millan <rmh@aybabtu.com>
25342
25343 Fix a regression introduced by the at_keyboard.mod split. Because
25344 some terminals are default on some platforms and non-default on
25345 others, the first terminal being registered determines which is
25346 going to be default.
25347
25348 * kern/term.c (grub_term_register_input): If this is the first
25349 terminal being registered, set it as the current one.
25350 (grub_term_register_output): Likewise.
25351
25352 * term/efi/console.c (grub_console_init): Do not call
25353 grub_term_set_current_output() or grub_term_set_current_input().
25354 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
25355 * term/i386/pc/console.c (grub_console_init): Likewise.
25356 (grub_console_fini): Do not call grub_term_set_current_input()
25357 (but leave grub_term_set_current_output() to restore text mode).
25358
6c529df7 253592008-11-10 Robert Millan <rmh@aybabtu.com>
25360
25361 * util/grub.d/00_header.in: Add backward compatibility check for
25362 versions of terminal.mod that don't understand `terminal_input' or
25363 `terminal_output'.
25364
132e4113 253652008-11-09 Robert Millan <rmh@aybabtu.com>
25366
25367 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
25368 `terminal_input' / `terminal_output', not `terminal'.
25369
ac293d50 253702008-11-08 Robert Millan <rmh@aybabtu.com>
25371
25372 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 25373 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 25374
0025933a 253752008-11-08 Robert Millan <rmh@aybabtu.com>
25376
25377 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 25378 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 25379 members. Update all users.
25380 * util/console.c (grub_ncurses_term): Split in ...
25381 (grub_ncurses_term_input): ... this, and ...
25382 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 25383 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 25384
37c86336 253852008-11-08 Robert Millan <rmh@aybabtu.com>
25386
25387 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
25388 (PKGDATA): Add $(pkgdata_SRCDIR).
25389 (pkglib_BUILDDIR): New variable.
25390 (pkgdata_SRCDIR): New variable.
25391 (build_env.mk): New target.
25392 (include_DATA): New variable.
25393 (install-local): Install $(include_DATA) files in $(includedir).
25394
b6c15a2d 253952008-11-07 Pavel Roskin <proski@gnu.org>
25396
d99d46f1 25397 * gendistlist.sh: Use C locale for sorting to ensure consistent
25398 output on all systems.
25399
b6c15a2d 25400 * util/grub.d/00_header.in: Remove incorrect space before
25401 "serial".
25402
c32ee8c9 254032008-11-07 Robert Millan <rmh@aybabtu.com>
25404
25405 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
25406 per specification.
25407 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
25408 * loader/multiboot_loader.c (find_multi_boot2_header): New function
25409 (based on find_multi_boot1_header).
25410 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
25411 using find_multi_boot2_header(), and abort if neither Multiboot or
25412 Multiboot headers were found.
25413
651c29b7 254142008-11-07 Robert Millan <rmh@aybabtu.com>
25415
25416 Modularize at_keyboard.mod:
25417
25418 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
25419 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25420 (at_keyboard_mod_LDFLAGS): New variables.
25421
25422 Actual terminal split:
25423
25424 * include/grub/term.h (struct grub_term): Split in ...
25425 (struct grub_term_input): ... this, and ...
25426 (struct grub_term_output): ... this. Update all users.
25427 (grub_term_set_current): Split in ...
25428 (grub_term_set_current_input): ... this, and ...
25429 (grub_term_set_current_output): ... this.
25430 (grub_term_get_current): Split in ...
25431 (grub_term_get_current_input): ... this, and ...
25432 (grub_term_get_current_output): ... this.
25433 (grub_term_register): Split in ...
25434 (grub_term_register_input): ... this, and ...
25435 (grub_term_register_output): ... this.
25436 (grub_term_unregister): Split in ...
25437 (grub_term_unregister_input): ... this, and ...
25438 (grub_term_unregister_output): ... this.
25439 (grub_term_iterate): Split in ...
25440 (grub_term_iterate_input): ... this, and ...
25441 (grub_term_iterate_output): ... this.
25442
25443 * kern/term.c (grub_term_list): Split in ...
25444 (grub_term_list_input): ... this, and ...
25445 (grub_term_list_output): ... this. Update all users.
25446 (grub_cur_term): Split in ...
25447 (grub_cur_term_input): ... this, and ...
25448 (grub_cur_term_output): ... this. Update all users.
25449 (grub_term_set_current): Split in ...
25450 (grub_term_set_current_input): ... this, and ...
25451 (grub_term_set_current_output): ... this.
25452 (grub_term_get_current): Split in ...
25453 (grub_term_get_current_input): ... this, and ...
25454 (grub_term_get_current_output): ... this.
25455 (grub_term_register): Split in ...
25456 (grub_term_register_input): ... this, and ...
25457 (grub_term_register_output): ... this.
25458 (grub_term_unregister): Split in ...
25459 (grub_term_unregister_input): ... this, and ...
25460 (grub_term_unregister_output): ... this.
25461 (grub_term_iterate): Split in ...
25462 (grub_term_iterate_input): ... this, and ...
25463 (grub_term_iterate_output): ... this.
25464
25465 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
25466 a check for input and one for output (and only attempt to get keys
25467 from user when input works).
25468
25469 * util/grub-probe.c (grub_term_get_current): Split in ...
25470 (grub_term_get_current_input): ... this, and ...
25471 (grub_term_get_current_output): ... this.
25472 * util/grub-fstest.c: Likewise.
25473 * util/i386/pc/grub-setup.c: Likewise.
25474 * util/grub-editenv.c: Likewise.
25475
25476 Portability adjustments:
25477
25478 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
25479 `term/i386/pc/at_keyboard.c'.
25480 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
25481 grub_keyboard_controller_init() (now handled by terminal .init).
25482 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
25483 grub_at_keyboard_init().
25484 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
25485 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
25486 at_keyboard.mod via input terminal interface).
25487 * include/grub/i386/coreboot/console.h: Convert into a stub for
25488 `<grub/i386/pc/console.h>'.
25489
25490 Migrate full terminals to new API:
25491
25492 * term/efi/console.c (grub_console_term): Split into ...
25493 (grub_console_term_input): ... this, and ...
25494 (grub_console_term_output): ... this. Update all users.
25495 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
25496 (grub_ofconsole_init): Split into ...
25497 (grub_ofconsole_init_input): ... this, and ...
25498 (grub_ofconsole_init_output): ... this.
25499 (grub_ofconsole_term): Split into ...
25500 (grub_ofconsole_term_input): ... this, and ...
25501 (grub_ofconsole_term_output): ... this. Update all users.
25502 * term/i386/pc/serial.c (grub_serial_term): Split into ...
25503 (grub_serial_term_input): ... this, and ...
25504 (grub_serial_term_output): ... this. Update all users.
25505 * term/i386/pc/console.c (grub_console_term): Split into ...
25506 (grub_console_term_input): ... this, and ...
25507 (grub_console_term_output): ... this. Update all users.
25508 (grub_console_term_input): Only enable it on PC/BIOS platform.
25509 (grub_console_init): Remove grub_keyboard_controller_init() call.
25510
25511 Migrate input terminals to new API:
25512
25513 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
25514 `i386' and `i386/pc' to enable build on x86_64 (this driver is
25515 i386-specific anyway).
25516 (grub_console_checkkey): Rename to ...
25517 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
25518 users.
25519 (grub_keyboard_controller_orig): New variable.
25520 (grub_console_getkey): Rename to ...
25521 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
25522 users.
25523 (grub_keyboard_controller_init): Static-ize. Save original
25524 controller value so that it can be restored ...
25525 (grub_keyboard_controller_fini): ... here (new function).
25526 (grub_at_keyboard_term): New structure.
25527 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
25528 functions.
25529
25530 Migrate output terminals to new API:
25531
25532 * term/i386/pc/vga.c (grub_vga_term): Change type to
25533 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25534 members. Update all users.
25535 * term/gfxterm.c (grub_video_term): Change type to
25536 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25537 members. Update all users.
25538 * include/grub/i386/pc/console.h (grub_console_checkkey)
25539 (grub_console_getkey): Do not export (no longer needed by gfxterm,
25540 etc).
25541
25542 Migrate `terminal' command and userland tools to new API:
25543
25544 * commands/terminal.c (grub_cmd_terminal): Split into ...
25545 (grub_cmd_terminal_input): ... this, and ...
25546 (grub_cmd_terminal_output): ... this.
25547 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
25548 `terminal_input' and `terminal_output'.
25549 * util/grub.d/00_header.in: Adjust `terminal' calls to new
25550 `terminal_input' / `terminal_output' API.
25551 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
25552 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
25553 provided ${GRUB_TERMINAL}, convert it).
25554
96e5d876 255552008-11-04 Robert Millan <rmh@aybabtu.com>
25556
25557 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
25558 for FreeBSD.
25559 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
25560
556f3775 255612008-11-03 Bean <bean123ch@gmail.com>
25562
25563 * kern/elf.c (grub_elf32_load): Revert to previous code.
25564 (grub_elf64_load): Likewise.
25565
25566 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
25567
926b9823 255682008-11-01 Robert Millan <rmh@aybabtu.com>
25569
25570 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
25571 (TARGET_CPPFLAGS): Likewise.
25572 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
25573
1432e958 255742008-11-01 Carles Pina i Estany <carles@pina.cat>
25575
25576 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
25577
dba3f844 255782008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 25579
25580 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
25581 addition of objects until the code is not going to be able to fail.
25582
dba3f844 255832008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 25584
25585 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
25586 (add a missing NULL check, and correct them by moving the pointer
25587 operations after the actual check).
25588
7ab28c21 255892008-10-29 Robert Millan <rmh@aybabtu.com>
25590
25591 * util/i386/pc/grub-install.in: Handle empty string as output from
25592 make_system_path_relative_to_its_root().
25593
1b7748eb 255942008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
25595
25596 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
25597 circular metadata worst case scenario. If the metadata is circular
25598 then copy the wrap in place.
25599 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
25600 project lib/format_text/layout.h
25601 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
25602
c9618ab2 256032008-10-03 Felix Zielcke <fzielcke@z-51.de>
25604
7a36edca 25605 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 25606
bf981c62 256072008-10-03 Felix Zielcke <fzielcke@z-51.de>
25608
25609 * util/update-grub_lib.in: Mention filename in warning message.
25610
6d994591 256112008-09-29 Felix Zielcke <fzielcke@z-51.de>
25612
25613 * NEWS: Update for rename of update-grub to grub-mkconfig.
25614
18ade780 256152008-09-29 Felix Zielcke <fzielcke@z-51.de>
25616
25617 * util/update-grub_lib.in: Copy to ...
25618 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 25619 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 25620 * util/update-grub.in: Rename to ...
25621 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
25622 option. Add `--output' option to allow users to specify the generated
25623 configuration file. Default to stdout.
25624 (update_grub_dir): Rename to ...
25625 (grub_mkconfig_dir): ... this.
25626 (grub_cfg): Default to an empty string.
25627 * conf/common.rmk (update-grub): Rename to ...
25628 (grub-mkconfig): ... this.
25629 (update-grub_lib): Copy to ...
25630 (grub-mkconfig_lib): ... this.
25631 (update-grub_SCRIPTS): Copy to ...
25632 (grub-mkconfig_SCRIPTS): ... this. Update all users.
25633 (update-grub_DATA): Rename to ...
25634 (grub-mkconfig_DATA): ... this.
25635
556ce6ac 256362008-09-28 Robert Millan <rmh@aybabtu.com>
25637
25638 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
25639 to `modified'. Add the real `created' field.
25640 (grub_iso9660_uuid): Use `modified' rather than `created' for
25641 constructing the UUID.
25642
256432008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 25644
25645 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
25646 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
25647
92274e85 256482008-09-28 Bean <bean123ch@gmail.com>
25649
25650 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
25651 Thanks to Christian Franke for finding this bug.
25652
add6f17a 256532008-09-25 Robert Millan <rmh@aybabtu.com>
25654
25655 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
25656 instances of grub_util_get_disk_name() (see previous commit).
25657
d2a367b8 256582008-09-25 Robert Millan <rmh@aybabtu.com>
25659
25660 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
25661 `util/i386/get_disk_name.c'.
25662 * conf/i386-efi.rmk: Likewise.
25663 * conf/x86_64-efi.rmk: Likewise.
25664 * conf/i386-coreboot.rmk: Likewise.
25665 * conf/i386-ieee1275.rmk: Likewise.
25666 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
25667 `util/ieee1275/get_disk_name.c'.
25668 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
25669 * util/ieee1275/get_disk_name.c: Remove file.
25670 * util/i386/get_disk_name.c: Remove file.
25671 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
25672 "hd%d" for device.map entries, rather than using
25673 grub_util_get_disk_name().
25674
81a06771 256752008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 25676
25677 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
25678 warning.
25679 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
25680
5a004279 256812008-09-24 Carles Pina i Estany <carles@pina.cat>
25682
25683 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
25684 Changed to 0x5100.
25685 (GRUB_TERM_PPAGE): Changed to 0x4900.
25686
397093d3 256872008-09-24 Robert Millan <rmh@aybabtu.com>
25688
25689 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
25690 macros (they were i386-pc specific).
25691 * include/grub/sparc64/ieee1275/console.h: Likewise.
25692 * include/grub/efi/console.h: Likewise.
25693
a91b6c7c 256942008-09-22 Bean <bean123ch@gmail.com>
25695
25696 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
25697 resident and in attribute list.
25698
25699 * include/grub/ntfs.h (BMP_LEN): Removed.
25700
c40fd116 257012008-09-22 Bean <bean123ch@gmail.com>
25702
81a06771 25703 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 25704 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
25705
25706 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
25707 error occurs, as grub_disk_open will call grub_disk_close, which will
25708 call p->close (scsi).
25709
81a06771 257102008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 25711
25712 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
25713 (AC_PREREQ): Bumped to 2.59.
25714 (AC_TRY_COMPILE): Replace obsolete macro with ...
25715 (AC_COMPILE_IFELSE): ... this.
25716 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
25717 (AC_LINK_IFELSE): ... this.
25718
5dc43410 257192008-09-21 Felix Zielcke <fzielcke@z-51.de>
25720
25721 * autogen.sh: Add a call to `gendistlist.sh'.
25722
9035dce4 257232008-09-19 Christian Franke <franke@computer.org>
25724
25725 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
25726 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
25727 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
25728 Export __enable_execute_stack() to modules.
25729 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
25730 New function.
25731
7fd75377 257322008-09-09 Felix Zielcke <fzielcke@z-51.de>
25733
040030b3 25734 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
25735 Sort the list.
25736
257372008-09-09 Felix Zielcke <fzielcke@z-51.de>
25738
25739 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 25740 #include <grub/util/hostdisk.h>.
25741
89d5ffcf 257422008-09-08 Robert Millan <rmh@aybabtu.com>
25743
25744 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
25745 segments when their filesz is zero (grub_file_read() interprets
81a06771 25746 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 25747 Use `lowest_segment' rather than 0 for calculating the current
25748 segment load address.
25749
40da438f 257502008-09-08 Robert Millan <rmh@aybabtu.com>
25751
25752 * util/hostdisk.c (open_device): Replace a grub_util_info() call
25753 with grub_dprintf("hostdisk", ...), as it was so verbose that it
25754 clobbered useful information.
25755
ddbf5556 257562008-09-08 Robert Millan <rmh@aybabtu.com>
25757
25758 * include/grub/util/biosdisk.h: Move to ...
25759 * include/grub/util/hostdisk.h: ... here. Update all users.
25760 * util/biosdisk.c: Move to ...
25761 * util/hostdisk.c: ... here. Update all users.
25762
783d0f48 257632008-09-07 Robert Millan <rmh@aybabtu.com>
25764
25765 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
25766 variables.
25767 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
25768 and length can be stored directly in the `mbi->mmap_addr' and
25769 `mbi->mmap_length' struct fields.
25770
548e2ea5 257712008-09-07 Robert Millan <rmh@aybabtu.com>
25772
25773 * conf/i386.rmk: New file. Provides declaration for building
25774 `cpuid.mod'.
25775 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
25776 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
25777 variables.
25778 Include `conf/i386.mk'.
25779 * conf/i386-efi.rmk: Likewise.
25780 * conf/x86_64-efi.rmk: Likewise.
25781 * conf/i386-coreboot.rmk: Likewise.
25782 * conf/i386-ieee1275.rmk: Likewise.
25783
0ea85a37 257842008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
25785
25786 Based on patch created by Colin D Bennett <colin@gibibit.com>.
25787 Adds optimization support for BGR based modes.
25788
25789 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
25790 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25791 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25792 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25793 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25794 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25795 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25796 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25797 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25798 (grub_video_i386_vbeblit_index_index): Likewise.
25799 (grub_video_i386_vbeblit_replace_directN): Added.
25800 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25801 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25802 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25803 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25804 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25805 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 25806 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 25807 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25808 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25809 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25810 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25811 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25812 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
25813
25814 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
25815 (grub_video_i386_vbefill_R8G8B8): Likewise.
25816 (grub_video_i386_vbefill_index): Likewise.
25817 (grub_video_i386_vbefill_direct32): Added.
25818 (grub_video_i386_vbefill_direct24): Likewise.
25819 (grub_video_i386_vbefill_direct16): Likewise.
25820 (grub_video_i386_vbefill_direct8): Likewise.
25821
81a06771 25822 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 25823 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
25824 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
25825 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
25826 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
25827 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 25828
0ea85a37 25829 * video/video.c (grub_video_get_blit_format): Updated to use new
25830 blit formats. Added handling for 16 bit color modes.
81a06771 25831
25832 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 25833 fillers.
25834 (common_blitter): Updated to use new blitters.
25835
25836 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
25837 Removed.
25838 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25839 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25840 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25841 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25842 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25843 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25844 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25845 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25846 (grub_video_i386_vbeblit_index_index): Likewise.
25847 (grub_video_i386_vbeblit_replace_directN): Added.
25848 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25849 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25850 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25851 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25852 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25853 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
25854 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
25855 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25856 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25857 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25858 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25859 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25860 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 25861
0ea85a37 25862 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
25863 (grub_video_i386_vbefill_R8G8B8): Likewise.
25864 (grub_video_i386_vbefill_index): Likewise.
25865 (grub_video_i386_vbefill_direct32): Added.
25866 (grub_video_i386_vbefill_direct24): Likewise.
25867 (grub_video_i386_vbefill_direct16): Likewise.
25868 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 25869
0ea85a37 25870 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
25871 types.
81a06771 25872
0ea85a37 25873 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
25874 types.
81a06771 25875
0ea85a37 25876 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
25877 blitter types.
81a06771 25878
0ea85a37 25879 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
25880 types.
25881
e8a83df6 258822008-09-06 Felix Zielcke <fzielcke@z-51.de>
25883
25884 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
25885 RAID level 1.
25886
6bcd8ee5 258872008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 25888
6bcd8ee5 25889 * fs/iso9660.c (grub_iso9660_date): New structure.
25890 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
25891 (grub_iso9660_uuid): New function.
c375ae58 25892
59261157 258932008-09-05 Bean <bean123ch@gmail.com>
25894
25895 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
25896
25897 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
25898 insensitive bit for names in Win32 and Win32 & DOS namespace.
25899
25900 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
25901
25902 * include/grub/types.h (LONG_MAX): Likewise.
25903
58b6645a 259042008-09-04 Felix Zielcke <fzielcke@z-51.de>
25905
4ee55921 25906 * util/getroot.c: Include <config.h>.
25907 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
25908 add support for /dev/md/N devices and handle LVM double dash escaping.
25909
259102008-09-04 Felix Zielcke <fzielcke@z-51.de>
25911
25912 * config.guess: Update to latest version from config git.
25913 * config.sub: Likewise.
58b6645a 25914
9124f65d 259152008-09-03 Robert Millan <rmh@aybabtu.com>
25916
25917 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
25918 `disk->total_sectors'.
25919
81a06771 259202008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 25921
25922 * include/grub/normal.h: Fixed incorrect comment for
25923 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
25924
81a06771 259252008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 25926
25927 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
25928 values with defines.
25929
25930 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
25931 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
25932 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
25933 (GRUB_VBE_MODEATTR_COLOR): Likewise.
25934 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
25935 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
25936 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
25937 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
25938 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
25939 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
25940 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
25941 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
25942 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
25943 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
25944 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
25945 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
25946 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
25947 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
25948 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
25949
93d5cbf8 259502008-08-31 Robert Millan <rmh@aybabtu.com>
25951
25952 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
25953 declaration.
25954 (grub_multiboot): Fix a few warnings.
25955
21751d50 259562008-08-31 Robert Millan <rmh@aybabtu.com>
25957
25958 * loader/i386/pc/multiboot.c: Update comment not to say that
25959 boot_device support is unimplemented.
25960
e27a75c5 259612008-08-31 Robert Millan <rmh@aybabtu.com>
25962
25963 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
25964 or memory map support are unimplemented.
25965
81a06771 259662008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 25967
25968 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
25969
81a06771 259702008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 25971
25972 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
25973 total video memory in 'vbeinfo' output; show color format details for
25974 each video mode.
25975
7c5d8d95 259762008-08-30 Pavel Roskin <proski@gnu.org>
25977
25978 * util/genmoddep.c: Remove for real this time.
25979 * DISTLIST: Remove util/genmoddep.c.
25980
4cebd25a 259812008-08-30 Robert Millan <rmh@aybabtu.com>
25982
25983 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
25984 as required by Multiboot spec (it was already 4-byte aligned, but
25985 only by chance).
25986
b497a269 259872008-08-29 Pavel Roskin <proski@gnu.org>
25988
e3925185 25989 * kern/powerpc/ieee1275/crt0.S: Rename to ...
25990 * kern/powerpc/ieee1275/startup.S: ... this.
25991 * conf/powerpc-ieee1275.rmk: Adjust for the above.
25992 * DISTLIST: Likewise.
25993
b497a269 25994 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
25995 grub/cpu/kernel.h. Add start label for consistency with other
25996 platforms. Add grub_prefix immediately after start. Add jump
25997 to the code after grub_prefix.
25998 * include/grub/powerpc/kernel.h: Provide valid values for
25999 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
26000
6e5a42fe 260012008-08-29 Bean <bean123ch@gmail.com>
26002
26003 * configure.ac: Change host_os to cygwin for mingw.
26004 (asprintf): New check for function.
26005
26006 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
26007 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
26008
26009 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 26010 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 26011 sync, sleep and grub_util_get_disk_size for mingw.
26012
26013 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
26014 to get size in mingw.
26015 (open_device): Use flag O_BINARY if it's defined.
26016 (find_root_device): Add dummy code for mingw.
26017
26018 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
26019 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
26020 (get_scsi_disk_name): Return 0 for mingw.
26021
26022 * util/hostfs.c: #include <grub/util/misc.h>.
26023 (grub_hostfs_open): Use "rb" flag to open file, use
26024 grub_util_get_disk_size to get disk size for mingw.
26025
26026 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
26027 (asprintf): New function if HAVE_ASPRINTF is not set.
26028 (sync): New function for mingw.
26029 (sleep): Likewise.
26030 (grub_util_get_disk_size): Likewise.
26031
ab3f2673 260322008-08-28 Pavel Roskin <proski@gnu.org>
26033
26034 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26035 kern/time.c.
26036
1c282483 260372008-08-28 Robert Millan <rmh@aybabtu.com>
26038
26039 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
26040
678e849c 260412008-08-28 Robert Millan <rmh@aybabtu.com>
26042
26043 Change find_grub_drive() syntax so it doesn't prevent it from
26044 detecting NULL names as errors.
26045
26046 * util/biosdisk.c (find_grub_drive): Move free slot search code
26047 from here ...
26048 (find_free_slot): ... to here.
26049 (read_device_map): Use find_free_slot() to search for free slots.
26050
965c75ca 260512008-08-27 Marco Gerards <marco@gnu.org>
26052
26053 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
26054 (scsi_mod_SOURCES): New variable.
26055 (scsi_mod_CFLAGS): Likewise
26056 (scsi_mod_LDFLAGS): Likewise.
26057
26058 * disk/scsi.c: New file.
26059
26060 * include/grub/scsi.h: Likewise.
26061
26062 * include/grub/scsicmd.h: Likewise.
26063
26064 * disk/ata.c: Include <grub/scsi.h>.
26065 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
26066 instead.
26067 (grub_ata_iterate): Skip ATAPI devices.
26068 (grub_ata_open): Only handle ATAPI devices.
26069 (struct grub_atapi_read): Removed.
26070 (grub_atapi_readsector): Likewise.
26071 (grub_ata_read): No longer handle ATAPI devices.
26072 (grub_ata_write): Likewise.
26073 (grub_atapi_iterate): New function.
26074 (grub_atapi_read): Likewise.
26075 (grub_atapi_write): Likewise.
26076 (grub_atapi_open): Likewise.
26077 (grub_atapi_close): Likewise.
26078 (grub_atapi_dev): New variable.
26079 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
26080 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
26081
26082 * include/grub/disk.h (enum grub_disk_dev_id): Add
26083 `GRUB_DISK_DEVICE_SCSI_ID'.
26084
c07ae501 260852008-08-26 Robert Millan <rmh@aybabtu.com>
26086
26087 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
26088 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
26089 descriptive.
26090
5ed20adc 260912008-08-23 Bean <bean123ch@gmail.com>
26092
26093 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
26094 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26095 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
26096 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
26097 dm_nv.mod.
26098 (raid5rec_mod_SOURCES): New macro.
26099 (raid5rec_mod_CFLAGS): Likewise.
26100 (raid5rec_mod_LDFLAGS): Likewise.
26101 (raid6rec_mod_SOURCES): Likewise.
26102 (raid6rec_mod_CFLAGS): Likewise.
26103 (raid6rec_mod_LDFLAGS): Likewise.
26104 (mdraid_mod_SOURCES): Likewise.
26105 (mdraid_mod_CFLAGS): Likewise.
26106 (mdraid_mod_LDFLAGS): Likewise.
26107 (dm_nv_mod_SOURCES): Likewise.
26108 (dm_nv_mod_CFLAGS): Likewise.
26109 (dm_nv_mod_LDFLAGS): Likewise.
26110
26111 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
26112 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26113 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26114
26115 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
26116 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26117
26118 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26119
26120 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26121
26122 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26123
26124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26125
26126 * disk/raid5_recover.c: New file.
26127
26128 * disk/raid6_recover.c: Likewise.
26129
26130 * disk/mdraid_linux.c: Likewise.
26131
26132 * disk/dmraid_nvidia.c: Likewise.
26133
26134 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
26135 ULONG_MAX.
26136
26137 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
26138 calculate the size of raid device.
26139 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
26140 different layout of raid5.
26141 (grub_raid_scan_device): Remove code specific to mdraid.
26142 (grub_raid_list): New variable.
26143 (free_array): New function.
26144 (grub_raid_register): Likewise.
26145 (grub_raid_unregister): Likewise.
26146 (grub_raid_rescan): Likewise.
26147 (GRUB_MOD_INIT): Don't iterate device here.
26148 (GRUB_MOD_FINI): Use free_array to release resource.
26149
26150 * include/grub/raid.h: Remove macro and structure specific to mdraid.
26151 (grub_raid5_recover_func_t): New function variable type.
26152 (grub_raid6_recover_func_t): Likewise.
26153 (grub_raid5_recover_func): New variable.
26154 (grub_raid6_recover_func): Likewise.
26155 (grub_raid_register): New function.
26156 (grub_raid_unregister): Likewise.
26157 (grub_raid_rescan): Likewise.
26158 (grub_raid_block_xor): Likewise.
26159
26160 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
26161 (CMD_CRC): New macro.
26162 (part): Removed.
26163 (read_file): Handle device as well as file.
26164 (cmd_crc): New function.
26165 (fstest): Handle multiple disks.
26166 (options): Remove part, raw and long, add root and diskcount.
26167 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 26168 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 26169 add handling for the new options, support multiple disks.
26170
26171 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
26172
29c18915 261732008-08-23 Bean <bean123ch@gmail.com>
26174
26175 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
26176
26177 * genfslist.sh: Ignore kernel.mod.
26178
26179 * genpartmaplist.sh: Likewise.
26180
8415f261 261812008-08-23 Robert Millan <rmh@aybabtu.com>
26182
26183 * util/getroot.c (find_root_device): Skip anything that starts with
26184 a dot, not just directories. This avoids things like /dev/.tmp.md0.
26185
d5a7dc5b 261862008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 26187
d5a7dc5b 26188 * util/update-grub.in (GRUB_GFXMODE): Export variable.
26189 * util/grub.d/00_header.in: Allow the administrator to change default
26190 gfxmode via ${GRUB_GFXMODE}.
26191
380cfbb4 261922008-08-21 Felix Zielcke <fzielcke@z-51.de>
26193
26194 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
26195
c9baafe7 261962008-08-21 Robert Millan <rmh@aybabtu.com>
26197
26198 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
26199 loader.
26200 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
26201 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
26202
e290bef2 262032008-08-20 Carles Pina i Estany <carles@pina.cat>
26204
26205 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
26206 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
26207
f9dbfc96 262082008-08-19 Robert Millan <rmh@aybabtu.com>
26209
26210 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
26211 (struct grub_virtual_screen): Remove `cursor_color'.
26212 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
26213 initialization.
26214 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
26215
dd6bd6ab 262162008-08-18 Robert Millan <rmh@aybabtu.com>
26217
26218 Unify (identical) linux_normal.c files.
26219 * loader/i386/efi/linux_normal.c: Move from here ...
26220 * loader/linux_normal.c: ... to here. Update all users.
26221 * loader/i386/pc/linux_normal.c: Delete. Update all users.
26222 * loader/i386/ieee1275/linux_normal.c: Likewise.
26223
7f42f83e 262242008-08-18 Robert Millan <rmh@aybabtu.com>
26225
26226 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
26227 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
26228 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
26229 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
26230 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
26231 New macros.
26232 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
26233 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
26234 (GRUB_LINUX_CL_END_OFFSET): ... to here.
26235 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
26236 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
26237 (GRUB_EFI_CL_END_OFFSET): Rename to ...
26238 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
26239 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
26240 Initialize `params->video_cursor_x' and `params->video_cursor_y'
26241 portably using grub_getxy().
26242 Replace `-EFI' with `-bzImage' in boot message.
26243
38487ddb 262442008-08-17 Robert Millan <rmh@aybabtu.com>
26245
26246 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
26247
deceb3ec 262482008-08-17 Robert Millan <rmh@aybabtu.com>
26249
26250 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
26251
26252 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
26253 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
26254 (grub_machine_mmap_iterate): New function declaration.
26255 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
26256 structure.
26257 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
26258 macros.
26259
26260 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
26261 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
26262 Move e820 parsing from here ...
26263 * kern/i386/pc/mmap.c: New file.
26264 (grub_machine_mmap_iterate): ... to here.
26265
26266 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
26267 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
26268 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
26269 (grub_available_iterate): Redeclare to return `void', and redeclare
26270 its hook to use grub_uint64_t as addr and size parameters, and rename
26271 to ...
26272 (grub_machine_mmap_iterate): ... this. Update all users.
26273
26274 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
26275 to make it more readable. Rename to ...
26276 (grub_machine_mmap_iterate): ... this.
26277
26278 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
26279 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
26280 (grub_multiboot): Allocate an extra region after the payload, and fill
26281 it with a Multiboot memory map. Adjust a.out loader to calculate size
26282 with the extra space.
26283 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
26284 with the extra space.
26285
f8aa0f43 262862008-08-17 Carles Pina i Estany <carles@pina.cat>
26287
9807deb9 26288 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 26289
605f5bb6 262902008-08-17 Felix Zielcke <fzielcke@z-51.de>
26291
26292 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
26293 mdate-sh to the list `find' searches for.
26294 * DISTLIST: Regenerated.
26295
210db6c6 262962008-08-16 Felix Zielcke <fzielcke@z-51.de>
26297
26298 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
26299 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 26300 genmoddep.awk, gensymlist.sh.in.
26301 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 26302 * DISTLIST: Regenerated.
48cdbfd4 26303 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 26304
1082b929 263052008-08-16 Robert Millan <rmh@aybabtu.com>
26306
26307 * disk/raid.c (grub_raid_init): Handle/report errors set by
26308 grub_device_iterate().
26309 * disk/lvm.c (grub_lvm_init): Likewise.
26310
42ce5170 263112008-08-15 Bean <bean123ch@gmail.com>
26312
26313 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26314 and datehook.mod.
26315 (datetime_mod_SOURCES): New macro.
26316 (datetime_mod_CFLAGS): Likewise.
26317 (datetime_mod_LDFLAGS): Likewise.
26318 (date_mod_SOURCES): Likewise.
26319 (date_mod_CFLAGS): Likewise.
26320 (date_mod_LDFLAGS): Likewise.
26321 (datehook_mod_SOURCES): Likewise.
26322 (datehook_mod_CFLAGS): Likewise.
26323 (datehook_mod_LDFLAGS): Likewise.
26324
26325 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26326 and datehook.mod.
26327 (datetime_mod_SOURCES): New macro.
26328 (datetime_mod_CFLAGS): Likewise.
26329 (datetime_mod_LDFLAGS): Likewise.
26330 (date_mod_SOURCES): Likewise.
26331 (date_mod_CFLAGS): Likewise.
26332 (date_mod_LDFLAGS): Likewise.
26333 (datehook_mod_SOURCES): Likewise.
26334 (datehook_mod_CFLAGS): Likewise.
26335 (datehook_mod_LDFLAGS): Likewise.
26336
26337 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26338 and datehook.mod.
26339 (datetime_mod_SOURCES): New macro.
26340 (datetime_mod_CFLAGS): Likewise.
26341 (datetime_mod_LDFLAGS): Likewise.
26342 (date_mod_SOURCES): Likewise.
26343 (date_mod_CFLAGS): Likewise.
26344 (date_mod_LDFLAGS): Likewise.
26345 (datehook_mod_SOURCES): Likewise.
26346 (datehook_mod_CFLAGS): Likewise.
26347 (datehook_mod_LDFLAGS): Likewise.
26348
26349 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26350 and datehook.mod.
26351 (datetime_mod_SOURCES): New macro.
26352 (datetime_mod_CFLAGS): Likewise.
26353 (datetime_mod_LDFLAGS): Likewise.
26354 (date_mod_SOURCES): Likewise.
26355 (date_mod_CFLAGS): Likewise.
26356 (date_mod_LDFLAGS): Likewise.
26357 (datehook_mod_SOURCES): Likewise.
26358 (datehook_mod_CFLAGS): Likewise.
26359 (datehook_mod_LDFLAGS): Likewise.
26360
26361 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26362 and datehook.mod.
26363 (datetime_mod_SOURCES): New macro.
26364 (datetime_mod_CFLAGS): Likewise.
26365 (datetime_mod_LDFLAGS): Likewise.
26366 (date_mod_SOURCES): Likewise.
26367 (date_mod_CFLAGS): Likewise.
26368 (date_mod_LDFLAGS): Likewise.
26369 (datehook_mod_SOURCES): Likewise.
26370 (datehook_mod_CFLAGS): Likewise.
26371 (datehook_mod_LDFLAGS): Likewise.
26372
26373 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
26374
26375 * commands/date.c: New file.
26376
26377 * hook/datehook.c: Likewise.
26378
26379 * include/grub/lib/datetime.h: Likewise.
26380
26381 * include/grub/i386/cmos.h: Likewise.
26382
26383 * lib/datetime.c: Likewise.
26384
26385 * lib/i386/datetime.c: Likewise.
26386
26387 * lib/efi/datetime.c: Likewise.
26388
0e9242da 263892008-08-14 Robert Millan <rmh@aybabtu.com>
26390
26391 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
26392 (grub_mkelfimage_SOURCES): New variable.
26393 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
26394
26395 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
26396 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
26397 * conf/powerpc-ieee1275.rmk: Likewise.
26398 * conf/i386-ieee1275.rmk: Likewise.
26399
26400 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
26401 * kern/i386/coreboot/init.c: Likewise.
26402
26403 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
26404 with `<grub/cpu/kernel.h>'.
26405 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
26406 to ...
26407 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
26408 * kern/i386/coreboot/startup.S: Likewise.
26409
26410 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
26411 (GRUB_MOD_GAP): Remove.
26412 * include/grub/powerpc/kernel.h: New file.
26413 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
26414 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26415 * include/grub/i386/kernel.h: New file.
26416 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
26417 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
26418 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26419
26420 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
26421 `grub-mkelfimage'.
26422 Use --directory when invoking grub_mkimage.
26423
26424 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
26425 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
26426 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
26427 and GRUB_KERNEL_CPU_PREFIX.
26428
b86408f8 264292008-08-14 Felix Zielcke <fzielcke@z-51.de>
26430
d5e619ca 26431 * include/grub/err.h (grub_err_printf): New function prototype.
26432 * util/misc.c (grub_err_printf): New function.
26433 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
26434 grub_printf.
26435 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 26436
7161f0e0 264372008-08-13 Robert Millan <rmh@aybabtu.com>
26438
26439 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
26440
a1967522 264412008-08-13 Robert Millan <rmh@aybabtu.com>
26442
26443 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
26444 boot entry.
26445
371458b5 264462008-08-12 Robert Millan <rmh@aybabtu.com>
26447
26448 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
26449 of the relocation code from here ...
26450 (grub_multiboot): ... to here.
26451 (forward_relocator, backward_relocator): Move from here ...
26452 * kern/i386/loader.S (grub_multiboot_forward_relocator)
26453 (grub_multiboot_backward_relocator): ... to here.
26454 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
26455 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
26456 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
26457 (grub_multiboot_forward_relocator_end)
26458 (grub_multiboot_backward_relocator)
26459 (grub_multiboot_backward_relocator_end): New variables.
26460
05f9452b 264612008-08-12 Bean <bean123ch@gmail.com>
26462
26463 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
26464
20024ab0 264652008-08-11 Robert Millan <rmh@aybabtu.com>
26466
26467 * kern/i386/linuxbios/startup.S: Move from here ...
26468 * kern/i386/coreboot/startup.S: ... to here.
26469
26470 * kern/i386/linuxbios/init.c: Move from here ...
26471 * kern/i386/coreboot/init.c: ... to here.
26472
26473 * kern/i386/linuxbios/table.c: Move from here ...
26474 * kern/i386/coreboot/mmap.c: ... to here.
26475
26476 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
26477
e352e9cd 264782008-08-11 Robert Millan <rmh@aybabtu.com>
26479
26480 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
26481 errors. Leave it to the upper layer to handle them.
26482
2d05bc6a 264832008-08-09 Christian Franke <franke@computer.org>
26484
26485 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
26486 * conf/common.rmk: Install `grub-pe2elf' only if requested.
26487 Install `grub.d/10_windows' only on Cygwin.
26488 * configure.ac: Add subst of `target_os'.
26489 Check `target_os' also before setting TARGET_OBJ2ELF.
26490 Add `--enable-grub-pe2elf'.
26491
042bd419 264922008-08-08 Robert Millan <rmh@aybabtu.com>
26493
26494 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26495 (grub_last_time): Change type to grub_uint64_t.
26496 (grub_disk_open): Migrate code from to using grub_get_time_ms().
26497 (grub_disk_close): Likewise.
26498
26499 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26500 (run_menu): Migrate code from to using grub_get_time_ms().
26501
26502 * util/misc.c (grub_get_time_ms): New function.
26503
7f280db5 265042008-08-08 Marco Gerards <marco@gnu.org>
26505
26506 * disk/ata.c (grub_ata_regget): Change return type to
26507 `grub_uint8_t'.
26508 (grub_ata_regget2): Likewise.
26509 (grub_ata_wait_status): New function.
26510 (grub_ata_wait_busy): Removed function, updated all users to use
26511 `grub_ata_wait_status'.
26512 (grub_ata_wait_drq): Likewise.
26513 (grub_ata_cmd): New function.
26514 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
26515 error handling.
26516 (grub_ata_pio_write): Add error handling.
26517 (grub_atapi_identify): Likewise.
26518 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
26519 handling.
26520 (grub_ata_identify): Use `grub_ata_cmd' and improve error
26521 handling. Actually use the detected registers. Reorder the
26522 detection logic such that it is easier to read.
26523 (grub_ata_pciinit): Do not assign the same ID to each controller.
26524 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
26525 handling.
26526 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
26527
26528 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
26529
1fbc5e66 265302008-08-08 Marco Gerards <marco@gnu.org>
26531
26532 * NEWS: Update.
26533
819ce6c0 265342008-08-07 Bean <bean123ch@gmail.com>
26535
26536 * include/grub/x86_64/pci.h: New file.
26537
5c41d44d 265382008-08-07 Christian Franke <franke@computer.org>
26539
26540 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
26541 (TIMER2_GATE): Likewise.
26542 (grub_pit_wait): Add enable/disable of the timer2 gate
26543 bit of port 0x61. This fixes a possible infinite loop.
26544
5ebc275d 265452008-08-07 Bean <bean123ch@gmail.com>
26546
26547 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
26548 kern/i386/tsc.c and kern/i386/pit.c.
26549
26550 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
26551 x86_64 platform.
26552
26553 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
26554 <grub/i386/tsc.h>.
26555
26556 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
26557
e383b3d0 265582008-08-07 Bean <bean123ch@gmail.com>
26559
26560 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
26561
26562 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
26563
26564 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
26565 multiple inclusion. Add #include <grub/types.h>.
26566
1cbb58ac 265672008-08-06 Christian Franke <franke@computer.org>
26568
26569 * conf/common.rmk: Build and install `10_windows'.
26570 * util/grub.d/10_windows.in: New script.
26571
337f5a1e 265722008-08-06 Pavel Roskin <proski@gnu.org>
26573
26574 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
26575
057bc4ac 265762008-08-06 Robert Millan <rmh@aybabtu.com>
26577
26578 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
26579 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
26580
2b99f123 265812008-08-06 Bean <bean123ch@gmail.com>
26582
26583 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
26584 (grub_pxefs_fs_int): Remove dummy definition.
26585 (grub_pxefs_open): Use data->block_size to store the current block
26586 size setting.
26587 (grub_pxefs_read): Use block size stored in data->block_size. As the
26588 value of grub_pxe_blksize can be changed after the file is opened.
26589
9f0234cb 265902008-08-06 Bean <bean123ch@gmail.com>
26591
26592 * fs/i386/pc/pxe.c (curr_file): new variable.
26593 (grub_pxefs_open): Simply the handling of pxe file system. Don't
26594 require the dummy internal file system anymore.
26595 (grub_pxefs_read): Removed.
26596 (grub_pxefs_close): Likewise.
26597 (grub_pxefs_fs_int): Likewise.
26598 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
26599 connection when we switch file.
26600 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
26601
a55d42e0 266022008-08-06 Robert Millan <rmh@aybabtu.com>
26603
26604 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
26605 `halt.mod'.
26606 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
26607 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
26608
26609 * kern/i386/halt.c: New file.
26610 * kern/i386/reboot.c: Likewise.
26611 * include/grub/i386/reboot.h: Likewise.
26612 * include/grub/i386/halt.h: Likewise.
26613
26614 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
26615 Include `<grub/cpu/halt.h>'.
26616 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
26617 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
26618
26619 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
26620 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
26621 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
26622 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
26623 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
26624 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
26625 from here ...
26626 * include/grub/i386/at_keyboard.h: ... to here.
26627
24371d26 266282008-08-05 Robert Millan <rmh@aybabtu.com>
26629
26630 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
26631 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
26632 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
26633 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26634 `kern/generic/millisleep.c'.
26635
26636 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
26637 instead of grub_get_rtc().
26638 (grub_tsc_init): Initialize `tsc_boot_time'.
26639
26640 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
26641 (grub_machine_init): Use grub_tsc_init() rather than
26642 installing an RTC-based handler via grub_install_get_time_ms().
26643
26644 * kern/i386/pit.c: New file.
26645 * include/grub/i386/pit.h: Likewise.
26646
9e7007b3 266472008-08-05 Bean <bean123ch@gmail.com>
26648
26649 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
26650
26651 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
26652 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
26653 (pxe_mod_SOURCES): New macro.
26654 (pxe_mod_CFLAGS): Likewise.
26655 (pxe_mod_LDFLAGS): Likewise.
26656 (pxecmd_mod_SOURCES): Likewise.
26657 (pxecmd_mod_CFLAGS): Likewise.
26658 (pxecmd_mod_LDFLAGS): Likewise.
26659
26660 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
26661 (grub_pxe_call): Likewise.
26662
26663 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
26664
26665 * commands/i386/pc/pxecmd.c: New file.
26666
9f0234cb 26667 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 26668
26669 * include/grub/i386/pc/pxe.h: Likewise.
26670
6977d49f 266712008-08-05 Bean <bean123ch@gmail.com>
26672
26673 * util/console.c (grub_console_cur_color): New variable.
26674 (grub_console_standard_color): Likewise.
26675 (grub_console_normal_color): Likewise.
26676 (grub_console_highlight_color): Likewise.
26677 (color_map): Likewise.
26678 (use_color): Likewise.
26679 (NUM_COLORS): New macro.
26680 (grub_ncurses_setcolorstate): Handle color properly.
26681 (grub_ncurses_setcolor): Don't change color here, just remember the
26682 settings, color will be set in grub_ncurses_setcolorstate.
26683 (grub_ncurses_getcolor): New function.
26684 (grub_ncurses_init): Initialize color pairs.
26685 (grub_ncurses_term): New member grub_ncurses_getcolor.
26686
9c2ff3ee 266872008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 26688
9c2ff3ee 26689 High resolution timer support. Implemented for x86 CPUs using TSC.
26690 Extracted generic grub_millisleep() so it's linked in only as needed.
26691 This requires a Pentium compatible CPU; if the RDTSC instruction is
26692 not supported, then it falls back on the generic grub_get_time_ms()
26693 implementation that uses the machine's RTC.
26694
26695 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
26696 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26697 `kern/generic/millisleep.c'.
26698
26699 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
26700 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
26701
26702 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
26703 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
26704
26705 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26706
26707 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26708 `kern/generic/millisleep.c'.
26709
26710 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26711
26712 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
26713
26714 * kern/generic/rtc_get_time_ms.c: New file.
26715
26716 * kern/generic/millisleep.c: New file.
337f5a1e 26717
9c2ff3ee 26718 * kern/misc.c: Don't include
26719 <kern/time.h> anymore.
26720 (grub_millisleep_generic): Removed.
26721
26722 * commands/sleep.c (grub_interruptible_millisleep): Uses
26723 grub_get_time_ms() instead of grub_get_rtc().
26724
26725 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
26726 function.
26727 (grub_cpu_is_cpuid_supported): New inline function.
26728 (grub_cpu_is_tsc_supported): New inline function.
26729 (grub_tsc_init): New function prototype.
26730 (grub_tsc_get_time_ms): New function prototype.
26731
26732 * kern/i386/tsc.c (grub_get_time_ms): New file.
26733
26734 * include/grub/time.h: Include <grub/types.h.
26735 (grub_millisleep_generic): Removed.
26736 (grub_get_time_ms): New prototype.
26737 (grub_install_get_time_ms): New prototype.
26738 (grub_rtc_get_time_ms): New prototype.
26739
26740 * kern/time.c (grub_get_time_ms): New function.
26741 (grub_install_get_time_ms): New function.
26742
26743 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
26744 <grub/time.h> anymore.
26745 (grub_millisleep): Removed.
26746 (grub_machine_init): Call grub_tsc_init.
26747
26748 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
26749 get_time_ms() implementation.
26750
26751 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
26752 (ieee1275_get_time_ms): New function.
26753 (grub_machine_init): Install get_time_ms() implementation.
26754
26755 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
26756 (grub_machine_init): Call grub_tsc_init().
26757 (grub_millisleep): Removed.
bf06a93f 26758
9c2ff3ee 26759 * kern/ieee1275/init.c (grub_millisleep): Removed.
26760 (grub_machine_init): Install ieee1275_get_time_ms()
26761 implementation.
26762 (ieee1275_get_time_ms): New function.
26763 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
26764 real work.
26765
9ec92aaf 267662008-08-05 Marco Gerards <marco@gnu.org>
26767
26768 * disk/ata.c: Include <grub/pci.h>.
26769 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
26770 (grub_ata_initialize): Rewritten.
26771 (grub_ata_device_initialize): New function.
26772
8d23f507 267732008-08-04 Pavel Roskin <proski@gnu.org>
26774
26775 * kern/main.c: Include grub/mm.h.
26776
5e15ee3d 267772008-08-04 Robert Millan <rmh@aybabtu.com>
26778
26779 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
26780 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
26781 corruption problem).
26782
a9053f8f 267832008-08-04 Robert Millan <rmh@aybabtu.com>
26784
26785 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
26786 warnings introduced in my last commit.
26787
dd19c7d7 267882008-08-03 Robert Millan <rmh@aybabtu.com>
26789
26790 Make PCI available on all i386 architectures.
26791
26792 * include/grub/i386/pc/pci.h: Move from here ...
26793 * include/grub/i386/pci.h: ... to here.
26794
26795 * include/grub/i386/pc/pci.h: Remove.
26796 * include/grub/i386/efi/pci.h: Remove.
26797 * include/grub/x86_64/efi/pci.h: Remove.
26798
26799 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
26800 `<grub/cpu/pci.h>'.
26801
26802 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
26803 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
26804 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
26805
26806 * conf/i386-ieee1275.rmk: Likewise.
26807
e14a6184 268082008-08-03 Robert Millan <rmh@aybabtu.com>
26809
26810 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
26811 (grub_console_setcursor): Make it possible to set cursor off.
26812
52768e37 268132008-08-03 Robert Millan <rmh@aybabtu.com>
26814
26815 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
26816 of modules instead of assuming which platform provides what.
26817 * util/update-grub.in: Likewise.
26818
2d52f57f 268192008-08-03 Robert Millan <rmh@aybabtu.com>
26820
26821 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
26822 instead of `grub_install_dos_part' to determine whether a drive needs
26823 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 26824 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 26825
2a5cd121 268262008-08-02 Robert Millan <rmh@aybabtu.com>
26827
26828 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
26829
93808428 268302008-08-02 Robert Millan <rmh@aybabtu.com>
26831
26832 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
26833 of informational grub_dprintf() calls.
26834
3bd0a12a 268352008-08-02 Robert Millan <rmh@aybabtu.com>
26836
26837 * disk/memdisk.c (memdisk_size): Don't initialize.
26838 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
26839
26840 * include/grub/i386/pc/kernel.h
26841 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
26842 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
26843 (grub_memdisk_image_size, grub_arch_memdisk_addr)
26844 (grub_arch_memdisk_size): Remove.
26845
26846 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
26847 field (was only used to transfer a constant). Add `type' field to
26848 support multiple module types.
26849 (grub_module_iterate): New function.
26850
26851 * kern/device.c (grub_device_open): Do not hide error messages
26852 when grub_disk_open() fails. Use grub_print_error() instead.
26853
26854 * kern/i386/pc/init.c (grub_arch_modules_addr)
26855 (grub_arch_memdisk_size): Remove functions.
26856 (grub_arch_modules_addr): Return the module address in high memory
26857 (now that it isn't copied anymore).
26858
26859 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
26860 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
26861 decompression routine (grub_total_module_size already includes that
26862 now). Don't copy modules back to low memory.
26863
26864 * kern/main.c: Include `<grub/mm.h>'.
26865 (grub_load_modules): Split out (and use) ...
26866 (grub_module_iterate): ... this function, which iterates through
26867 module objects and runs a hook.
26868 Comment out grub_mm_init_region() call, as it would cause non-ELF
26869 modules to be overwritten.
26870
26871 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
26872 the memdisk image in its own region, make it part of the module list.
26873 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
26874 (main): Parse --memdisk|-m option, and pass user-provided path as
26875 parameter to generate_image().
26876 (add_segments): Pass `memdisk_path' down to load_modules().
26877 (load_modules): Embed memdisk image in module section when requested.
26878 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
26879 `header.type' instead of `header.offset'.
26880
26881 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
26882 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
26883 (memdisk_mod_LDFLAGS): New variables.
26884 * conf/i386-coreboot.rmk: Likewise.
26885 * conf/i386-ieee1275.rmk: Likewise.
26886
a927cc73 268872008-08-02 Robert Millan <rmh@aybabtu.com>
26888
26889 * loader/i386/pc/multiboot.c (playground, forward_relocator)
26890 (backward_relocator): New variables. Used to allocate and relocate
26891 the payload, respectively.
26892 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 26893 address, install the appropriate relocator code in each bound of
a927cc73 26894 the payload, and set the entry point such that
26895 grub_multiboot_real_boot() will jump to one of them.
26896
26897 * kern/i386/loader.S (grub_multiboot_payload_size)
26898 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26899 (grub_multiboot_payload_entry_offset): New variables.
26900 (grub_multiboot_real_boot): Set cpu context to what the relocator
26901 expects, and jump to the relocator instead of the payload.
26902
26903 * include/grub/i386/loader.h (grub_multiboot_payload_size)
26904 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26905 (grub_multiboot_payload_entry_offset): Export.
26906
b15d8a0c 269072008-08-01 Bean <bean123ch@gmail.com>
26908
26909 * normal/menu_entry.c (editor_getline): Don't return the original
26910 string as result, as it will be released by lexer once it has done
26911 using it.
26912
cdfb3d22 269132008-08-01 Robert Millan <rmh@aybabtu.com>
26914
26915 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
26916 within menuentries, not before them.
26917 util/grub.d/10_hurd.in: Likewise.
26918
9175e93d 269192008-08-01 Bean <bean123ch@gmail.com>
26920
26921 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
26922 (bufio_mod_SOURCES): New macro.
26923 (bufio_mod_CFLAGS): Likewise.
26924 (bufio_mod_LDFLAGS): Likewise.
26925
26926 * include/grub/bufio.h: New file.
26927
26928 * io/bufio.c: Likewise.
26929
26930 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
26931 (grub_video_reader_png): Use grub_buffile_open to open file.
26932
26933 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
26934 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
26935
26936 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
26937 (grub_video_reader_tga): Use grub_buffile_open to open file.
26938
26939 * font/manager.c: Include <grub/bufio.h>.
26940 (add_font): Use grub_buffile_open to open file.
26941
3d8383e7 269422008-07-31 Robert Millan <rmh@aybabtu.com>
26943
26944 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
26945 ELF segments, use a macro for arbitrarily accessing any of them instead
26946 of preparing a pointer that allows access to one at a time.
26947 (grub_multiboot_load_elf64): Likewise.
26948
16e641b6 269492008-07-31 Bean <bean123ch@gmail.com>
26950
26951 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
26952 GRUB_KERNEL_MACHINE_DATA_END.
26953
59198b72 269542008-07-30 Robert Millan <rmh@aybabtu.com>
26955
26956 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
26957 Increase from 0x50 to 0x60.
26958 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
26959 use UUIDs to identify the root drive for them. If that's not
26960 possible, abort.
26961 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
26962 check, for cross-disk installs.
26963
ae88bca3 269642008-07-30 Robert Millan <rmh@aybabtu.com>
26965
26966 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
26967 is non-empty, use it to set the `prefix' environment variable instead
26968 of the usual approach.
26969 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
26970 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
26971 environment variable instead of dummy make_install_device().
26972
26973 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
26974 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 26975 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 26976
26977 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
26978 New variable reference.
26979 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
26980 New macro. Defines offset of `grub_prefix' within startup.S (relative
26981 to `start').
26982 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
26983 section within startup.S (relative to `start').
26984 * include/grub/i386/coreboot/kernel.h: Likewise.
26985
26986 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
26987 Overwrite grub_prefix with its contents, at the beginning of the
26988 first segment.
26989 (main): Understand -p|--prefix.
26990
14f41dd1 269912008-07-30 Robert Millan <rmh@aybabtu.com>
26992
26993 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
26994
4ca049a3 269952008-07-30 Robert Millan <rmh@aybabtu.com>
26996
26997 * term/i386/pc/vga_text.c (grub_console_cls): Use
26998 grub_console_gotoxy() to go back to beginning of the screen.
26999 Found by Patrick Georgi <patrick.georgi@coresystems.de>
27000
2921d337 270012008-07-29 Christian Franke <franke@computer.org>
27002
27003 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27004 Add conversion of emulated mount points on Cygwin.
27005
b609876d 270062008-07-29 Christian Franke <franke@computer.org>
27007
27008 * util/update-grub.in: Add a check for admin
27009 group on Cygwin.
27010 Remove old `grub.cfg.new' before creation.
27011 Add `-f' to `mv' to handle the different filesystem
27012 semantics of Windows.
27013
e93e4679 270142008-07-29 Bean <bean123ch@gmail.com>
27015
27016 * normal/main.c (get_line): Fix buffer overflow bug.
27017
41694fd0 270182008-07-28 Robert Millan <rmh@aybabtu.com>
27019
27020 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
27021 (struct grub_apple_header): New struct. Describes the layout of
27022 the partmap header.
27023 (apple_partition_map_iterate): Check the header magic as well as the
27024 partition magic (which was already being checked).
27025
cfd0b4e6 270262008-07-28 Pavel Roskin <proski@gnu.org>
27027
27028 * genmk.rb: Add a warning to the beginning of the output that
27029 it's a generated file and should not be edited.
27030
93cce016 270312008-07-28 Robert Millan <rmh@aybabtu.com>
27032
27033 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27034 with the same number are found, just use issue a warning with
27035 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 27036
cd1df915 270372008-07-27 Robert Millan <rmh@aybabtu.com>
27038
27039 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
27040 information.
27041
b70a8427 270422008-07-27 Bean <bean123ch@gmail.com>
27043
27044 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
27045 (grub_fat_find_dir): Ignore case when comparing filename.
27046
8f5e379f 270472008-07-27 Bean <bean123ch@gmail.com>
27048
27049 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
27050 smallino, as it's more descriptive, and i8count can be confused with
27051 the other field count.
27052 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
27053 inode type.
27054
a85cd5a0 270552008-07-27 Bean <bean123ch@gmail.com>
27056
27057 * commands/crc.c: New file.
27058
27059 * lib/crc.c: Likewise.
27060
27061 * include/grub/lib/crc.h: Likewise.
27062
27063 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
27064
27065 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
27066 (hexdump): Move this function to ...
27067
27068 * lib/hexdump.c: ... here.
27069
27070 * include/grub/hexdump.h: Renamed to ...
27071
27072 * include/grub/lib/hexdump.h: ... this.
27073
27074 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
27075
27076 * util/grub-editenv.c: Likewise.
27077
27078 * include/envblk.h: Renamed to ...
27079
27080 * include/lib/envblk.h: ... this.
27081
27082 * util/envblk.c: Renamed to ...
27083
27084 * lib/envblk.c: ... this.
27085
27086 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
27087 lib/hexdump.c.
27088 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
27089 (pkglib_MODULES): Add crc.mod.
27090 (hexdump_mod_SOURCES): Add lib/hexdump.c.
27091 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
27092 (crc_mod_SOURCES): New macro.
27093 (crc_mod_CFLAGS): Likewise.
27094 (crc_mod_LDFLAGS): Likewise.
27095
27096 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
27097
27098 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27099
27100 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27101
27102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27103
27104 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27105
c298def0 271062008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 27107
27108 * commands/help.c: Include <grub/term.h>.
27109 (TERM_WIDTH): Removed. Updated all users.
27110
cc349fb3 271112008-07-27 Pavel Roskin <proski@gnu.org>
27112
27113 * util/getroot.c (find_root_device): Rephrase a comment to avoid
27114 spurious warnings about a comment within a comment.
27115
9051607e 271162008-07-25 Robert Millan <rmh@aybabtu.com>
27117
27118 * util/getroot.c (find_root_device): Skip devices that match
27119 /dev/dm-[0-9]. This lets the real device be found for any type of
27120 abstraction (LVM, EVMS, RAID..).
27121 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
27122 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
27123 device is found first, find_root_device() will now skip it.
27124
01453bfc 271252008-07-24 Pavel Roskin <proski@gnu.org>
27126
27127 * include/grub/types.h: Use __builtin_bswap32() and
27128 __builtin_bswap64() with gcc 4.3 and newer.
27129
6af9849f 271302008-07-24 Christian Franke <franke@computer.org>
27131
3a0fa256 27132 * util/i386/pc/grub-install.in: If `--debug' is specified,
27133 pass `--verbose' to grub-setup.
27134 Abort script if make_system_path_relative_to_its_root() fails.
27135
7810e747 271362008-07-24 Bean <bean123ch@gmail.com>
27137
27138 * configure.ac: Fixed a bug caused by the previous cygwin patch,
27139 variable `target_platform' should be `platform'.
27140
42290e17 271412008-07-24 Bean <bean123ch@gmail.com>
27142
51cc5193 27143 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 27144 (grub_png_init_fixed_block): New function.
27145 (grub_png_decode_image_data): Handle fixed huffman code compression.
27146
2a8a80e4 271472008-07-24 Bean <bean123ch@gmail.com>
27148
27149 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
27150 (grub_pe2elf_SOURCES): New macro.
27151 (CLEANFILES): Add grub-pe2elf.
27152
27153 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
27154 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
27155 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
27156 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
27157 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
27158 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
27159 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
27160 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
27161 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
27162 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
27163 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
27164 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
27165 (GRUB_PE32_DT_FUNCTION): Likewise.
27166 (GRUB_PE32_REL_I386_DIR32): Likewise.
27167 (GRUB_PE32_REL_I386_REL32): Likewise.
27168 (grub_pe32_symbol): New structure.
27169 (grub_pe32_reloc): Likewise.
27170
27171 * util/grub-pe2elf.c: New file.
27172
27173 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
27174 start symbol in non pc platform.
27175
27176 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
27177
27178 The following patches are from Christian Franke.
27179
27180 * include/grub/dl.h: Remove .previous, gas supports this only
27181 for ELF format.
27182
27183 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
27184 Remove .type, gas supports this only for ELF format.
27185
27186 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
27187 nullbytes in symbol table. This fixes an infinite loop if table is
27188 zero filled.
27189
27190 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
27191 TARGET_IMG_LDFLAGS and EXEEXT.
27192
27193 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
27194 TARGET_IMG_LDFLAGS_AC.
27195 (grub_CHECK_STACK_ARG_PROBE): New function.
27196
27197 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
27198
27199 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
27200
27201 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
27202 to set TARGET_IMG_LD* accordingly.
27203 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
27204 Add call to grub_CHECK_STACK_ARG_PROBE.
27205 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
27206
27207 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
27208
27209 * genmk.rb: Add EXEEXT to CLEANFILES.
27210
12ccdb75 272112008-07-23 Robert Millan <rmh@aybabtu.com>
27212
27213 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
27214 define the codes for arrows and lines used for the menu).
27215 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
27216 as well.
27217
27218 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
27219 fonts, because the latter are too slow.
27220
18eeaf04 272212008-07-21 Bean <bean123ch@gmail.com>
27222
27223 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
27224 a20. Run keyboard test last, as it will cause macbook to halt.
27225
b095e2ad 272262008-07-18 Pavel Roskin <proski@gnu.org>
27227
27228 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
27229 load foreign architecture modules correctly anyway. Keep
27230 support for loading host architecture modules, whether we
27231 compile them or not.
27232
737feb35 272332008-07-17 Pavel Roskin <proski@gnu.org>
27234
3f4ce737 27235 * configure.ac: Use -m32 or -m64 regardless of whether we had to
27236 change target_cpu. The compiler default can mismatch target_cpu
27237 in any case.
27238
4ad2d049 27239 * disk/efi/efidisk.c: Fix format warnings on x86_64.
27240 * kern/efi/efi.c: Likewise.
27241
f6130a12 27242 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
27243 target compiler is functional.
27244 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
27245 are set up.
27246
58393a2d 27247 * configure.ac: Default to efi platform for x86_64-apple. Allow
27248 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
27249 adjustments from the rest, only do them if target is not
27250 explicitly given. Merge other adjustments with the final sanity
27251 check. Remove an extraneous check for supported CPU. Be
27252 specific which CPU and which platform is not supported.
27253
737feb35 27254 * configure.ac: Default to pc platform for x86_64.
27255
546f966a 272562008-07-17 Robert Millan <rmh@aybabtu.com>
27257
27258 Partial LinuxBIOS -> Coreboot rename.
27259
27260 * conf/i386-linuxbios.rmk: Renamed to ...
27261 * conf/i386-coreboot.rmk: ... this.
27262 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
27263 * configure.ac: Accept "coreboot" as input platform (but maintain
27264 compatibility with "linuxbios").
27265 * include/grub/i386/linuxbios: Renamed to ...
27266 * include/grub/i386/coreboot: ... this.
27267
20011694 272682008-07-17 Bean <bean123ch@gmail.com>
27269
27270 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 27271 (appleldr_mod_SOURCE): New variable.
20011694 27272 (appleldr_mod_CFLAGS): Likewise.
27273 (appleldr_mod_LDFLAGS): Likewise.
27274 (pci_mod_SOURCES): Likewise.
27275 (pci_mod_CFLAGS): Likewise.
27276 (pci_mod_LDFLAGS): Likewise.
27277 (lspci_mod_SOURCES): Likewise.
27278 (lspci_mod_CFLAGS): Likewise.
27279 (lspci_mod_LDFLAGS): Likewise.
27280
27281 * conf/x86_64-efi.rmk: New file.
27282
27283 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
27284 macro.
27285 (grub_efidisk_write): Likewise.
27286
27287 * include/efi/api.h (efi_call_0): New macro.
27288 (efi_call_1): Likewise.
27289 (efi_call_2): Likewise.
27290 (efi_call_3): Likewise.
27291 (efi_call_4): Likewise.
27292 (efi_call_5): Likewise.
27293 (efi_call_6): Likewise.
27294
27295 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
27296 grub_rescue_cmd_chainloader.
27297
27298 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
27299 (grub_pe32_optional_header): Change some fields based on i386 or
27300 x86_64 platform.
27301 (GRUB_PE32_PE32_MAGIC): Likewise.
27302
27303 * include/grub/efi/uga_draw.h: New file.
27304
27305 * include/grub/elf.h (STN_ABS): New constant.
27306 (R_X86_64_NONE): Relocation constant for x86_64.
27307 (R_X86_64_64): Likewise.
27308 (R_X86_64_PC32): Likewise.
27309 (R_X86_64_GOT32): Likewise.
27310 (R_X86_64_PLT32): Likewise.
27311 (R_X86_64_COPY): Likewise.
27312 (R_X86_64_GLOB_DAT): Likewise.
27313 (R_X86_64_JUMP_SLOT): Likewise.
27314 (R_X86_64_RELATIVE): Likewise.
27315 (R_X86_64_GOTPCREL): Likewise.
27316 (R_X86_64_32): Likewise.
27317 (R_X86_64_32S): Likewise.
27318 (R_X86_64_16): Likewise.
27319 (R_X86_64_PC16): Likewise.
27320 (R_X86_64_8): Likewise.
27321 (R_X86_64_PC8): Likewise.
27322
27323 * include/grub/i386/efi/pci.h: New file.
27324
27325 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
27326 Change it value based on platform.
27327 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
27328 (GRUB_E820_RAM): Likewise.
27329 (GRUB_E820_RESERVED): Likewise.
27330 (GRUB_E820_ACPI): Likewise.
27331 (GRUB_E820_NVS): Likewise.
27332 (GRUB_E820_EXEC_CODE): Likewise.
27333 (GRUB_E820_MAX_ENTRY): Likewise.
27334 (grub_e820_mmap): New structure.
27335 (linux_kernel_header): Change the efi field according to different
27336 kernel version, also field from linux_kernel_header.
27337
27338 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
27339
27340 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
27341 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
27342 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
27343 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
27344 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
27345 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
27346 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
27347 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
27348 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
27349 (GRUB_PCI_ADDR_IO_MASK): Likewise.
27350
27351 * include/grub/x86_64/efi/kernel.h: New file.
27352
27353 * include/grub/x86_64/efi/loader.h: Likewise.
27354
27355 * include/grub/x86_64/efi/machine.h: Likewise.
27356
27357 * include/grub/x86_64/efi/pci.h: Likewise.
27358
27359 * include/grub/x86_64/efi/time.h: Likewise.
27360
27361 * include/grub/x86_64/linux.h: Likewise.
27362
27363 * include/grub/x86_64/setjmp.h: Likewise.
27364
27365 * include/grub/x86_64/time.h: Likewise.
27366
27367 * include/grub/x86_64/types.h: Likewise.
27368
27369 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
27370 GRUB_TARGET_SIZEOF_VOID_P.
27371
27372 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
27373 (grub_efi_locate_handle): Likewise.
27374 (grub_efi_open_protocol): Likewise.
27375 (grub_efi_set_text_mode): Likewise.
27376 (grub_efi_stall): Likewise.
27377 (grub_exit): Likewise.
27378 (grub_reboot): Likewise.
27379 (grub_halt): Likewise.
27380 (grub_efi_exit_boot_services): Likewise.
27381 (grub_get_rtc): Likewise.
27382
27383 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
27384 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
27385 (grub_efi_allocate_pages): Wrap efi calls.
27386 (grub_efi_free_pages): Wrap efi calls.
27387 (grub_efi_get_memory_map): Wrap efi calls.
27388
27389 * kern/x86_64/dl.c: New file.
27390
27391 * kern/x86_64/efi/callwrap.S: Likewise.
27392
27393 * kern/x86_64/efi/startup.S: Likewise.
27394
27395 * loader/efi/appleloader.c: Likewise.
27396
27397 * loader/efi/chainloader.c (cmdline): New variable.
27398 (grub_chainloader_unload): Wrap efi calls.
27399 (grub_chainloader_boot): Likewise.
27400 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
27401 command line.
27402
27403 * loader/efi/chainloader_normal.c (chainloader_command):
27404 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
27405 command line.
27406
27407 * loader/i386/efi/linux.c (allocate_pages): Change allocation
27408 method.
27409 (grub_e820_add_region): New function.
27410 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
27411 booting.
27412 (grub_find_video_card): New function.
27413 (grub_linux_setup_video): New function.
27414 (grub_rescue_cmd_linux): Probe for video information.
27415
27416 * normal/x86_64/setjmp.S: New file.
27417
27418 * term/efi/console.c (map_char): New function.
27419 (grub_console_putchar): Map unicode char.
27420 (grub_console_checkkey): Wrap efi calls.
27421 (grub_console_getkey): Likewise.
27422 (grub_console_getwh): Likewise.
27423 (grub_console_gotoxy): Likewise.
27424 (grub_console_cls): Likewise.
27425 (grub_console_setcolorstate): Likewise.
27426 (grub_console_setcursor): Likewise.
27427
27428 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
27429
59652a20 274302008-07-16 Pavel Roskin <proski@gnu.org>
27431
ef294055 27432 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
27433 format strings.
27434
59652a20 27435 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
27436 pointer, not an integer. This fixes a warning and prevents
27437 precision loss on 64-bit systems.
27438 (relocate_addresses): Remove unneeded cast.
27439
afc3b5d7 274402008-07-15 Pavel Roskin <proski@gnu.org>
27441
506b2b3e 27442 * kern/i386/ieee1275/init.c: Include grub/cache.h.
27443
62ead89c 27444 * term/ieee1275/ofconsole.c: Disable code unused on i386.
27445
c4cd51d7 27446 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
27447 Fix comparison between signed and unsigned.
27448
0d3d8f28 27449 * include/grub/i386/ieee1275/console.h: Declare
27450 grub_console_init() and grub_console_fini().
27451
8804b286 27452 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
27453 It's empty and unused.
27454
ee01cf35 27455 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
27456 beginning to avoid warnings with some compilers.
27457
afc3b5d7 27458 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
27459 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
27460
e4e8eaa5 274612008-07-14 Pavel Roskin <proski@gnu.org>
27462
407aceb4 27463 * kern/env.c (grub_register_variable_hook): Don't copy empty
27464 string, it leaks memory. Pass "" to grub_env_set(), it should
27465 handle constant strings.
27466
e4e8eaa5 27467 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
27468 * commands/cmp.c (grub_cmd_cmp): Likewise.
27469 * kern/dl.c (grub_dl_flush_cache): Likewise.
27470 (grub_dl_load_core): Likewise.
27471 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
27472 (grub_elf64_load_phdrs): Likewise.
27473
d4e2dad3 274742008-07-13 Pavel Roskin <proski@gnu.org>
27475
27476 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
27477 between signed and unsigned.
27478 (LzmaEnc_Finish): Fix warning about an unused parameter.
27479
aa24b516 274802008-07-13 Bean <bean123ch@gmail.com>
27481
27482 * Makefile.in (enable_lzo): New rule.
27483
27484 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
27485
27486 * configure.ac (ENABLE_LZO): New option --enable-lzo.
27487
27488 * boot/i386/pc/lnxboot.S: #include <config.h>.
27489
27490 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 27491 its value according to the compression algorithm used, lzo or lzma.
aa24b516 27492
27493 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
27494 compression algorithm according to configure macro.
27495
27496 * kern/i386/pc/startup.S (codestart): Likewise.
27497
27498 * kern/i386/pc/lzma_decode.S: New file.
27499
27500 * include/grub/lib/LzFind.h: Likewise.
27501
27502 * include/grub/lib/LzHash.h: Likewise.
27503
27504 * include/grub/lib/LzmaDec.h: Likewise.
27505
27506 * include/grub/lib/LzmaEnc.h: Likewise.
27507
27508 * include/grub/lib/LzmaTypes.h: Likewise.
27509
27510 * lib/LzFind.c: Likewise.
27511
27512 * lib/LzmaDec.c: Likewise.
27513
27514 * lib/LzmaEnc.c: Likewise.
27515
4ae821ac 275162008-07-13 Bean <bean123ch@gmail.com>
27517
27518 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
27519 (grub_ext4_extent_header): New structure.
27520 (grub_ext4_extent): Likewise.
27521 (grub_ext4_extent_idx): Likewise.
27522 (grub_ext4_find_leaf): New function.
27523 (grub_ext2_read_block): Handle extents.
27524
9a745147 275252008-07-12 Robert Millan <rmh@aybabtu.com>
27526
27527 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
27528
d49a4cf6 275292008-07-11 Robert Millan <rmh@aybabtu.com>
27530
27531 * util/grub.d/40_custom.in: New file. Example on how to add custom
27532 entries to /etc/grub.d.
27533 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
27534 40_custom (implicitly, by merging all the grub.d rules).
27535
947414b4 275362008-07-11 Pavel Roskin <proski@gnu.org>
27537
0059cf6f 27538 * commands/read.c (grub_getline): Fix invalid memory access.
27539 Don't add newline to the variable value.
27540
947414b4 27541 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
27542 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
27543 (serial_hw_get_port): Check validity of the port number.
27544 (grub_cmd_serial): Check return value of serial_hw_get_port().
27545
62a02d00 275462008-07-07 Pavel Roskin <proski@gnu.org>
27547
27548 * boot/i386/pc/diskboot.S (notification_string): Replace
27549 "Loading kernel" with just "loading". This is shorter, less
27550 confusing and saves a few bytes for possible future changes.
27551
3e5581b0 275522008-07-05 Pavel Roskin <proski@gnu.org>
27553
ea387a48 27554 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
27555 size for ATAPI devices, they are undefined. Output sector
27556 number in decimal form.
27557
3e5581b0 27558 * disk/ata.c: Use named constants for status bits.
27559
fdecb8fd 275602008-07-04 Pavel Roskin <proski@gnu.org>
27561
bcd35b90 27562 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
27563 grub_addr_t before casting it to the void pointer to fix a
27564 warning. Non-addressable regions are discarded earlier.
27565 (grub_arch_modules_addr): Cast _end to grub_addr_t.
27566 * kern/i386/linuxbios/table.c: Include grub/misc.h.
27567 (check_signature): Don't shadow table_header.
27568 (grub_linuxbios_table_iterate): Cast numeric constants to
27569 grub_linuxbios_table_header_t.
27570 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
27571 grub_stop().
27572
af58ab3d 27573 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
27574 prevent warnings.
27575
1759aa57 27576 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
27577 pointer, which can cause warnings. Support 64-bit addresses.
27578
fdecb8fd 27579 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
27580 of sizeof(long). This fixes PowerPC image generation on x86_64.
27581
8516d2a8 275822008-07-04 Robert Millan <rmh@aybabtu.com>
27583
27584 This fixes a performance issue when pc & gpt partmap iterators
27585 didn't abort iteration even after our hook found what it was
fe987087 27586 looking for (often causing expensive probes of non-existent drives).
8516d2a8 27587
27588 Some callers relied on previous buggy behaviour, since they would
34c44600 27589 raise an error when their own hooks caused early abortion of its
8516d2a8 27590 iteration.
27591
27592 * kern/device.c (grub_device_open): Improve error message.
27593 * disk/lvm.c (grub_lvm_open): Likewise.
27594 * disk/raid.c (grub_raid_open): Likewise.
27595
27596 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
27597 when hook requests it, independently of grub_errno.
27598 (pc_partition_map_probe): Do not fail when find_func() caused
27599 early abortion of pc_partition_map_iterate().
27600
27601 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
27602 when hook requests it, independently of grub_errno.
27603 (gpt_partition_map_probe): Do not fail when find_func() caused
27604 early abortion of gpt_partition_map_iterate().
27605
27606 * kern/partition.c (grub_partition_iterate): Abort parent iteration
27607 when hook requests it, independently of grub_errno. Do not fail when
27608 part_map_iterate_hook() caused early abortion of p->iterate().
27609
27610 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
27611 when grub_partition_iterate() returned with non-zero.
27612
277d0de9 276132008-07-03 Pavel Roskin <proski@gnu.org>
27614
27615 * disk/ata.c (grub_ata_pio_write): Check status before writing,
27616 like we do in grub_ata_pio_read().
27617 (grub_ata_readwrite): Always write individual sectors. Fix the
27618 sector count for the remainder.
27619 (grub_ata_write): Enable writing to ATA devices. Correctly
27620 report error for ATAPI devices.
27621
d4c9b428 276222008-07-02 Pavel Roskin <proski@gnu.org>
27623
e43fc690 27624 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
27625 warning.
27626
f707af42 27627 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
27628 for every read sector, we already increment it for the whole
27629 batch. This fixes reading more than 256 sectors at once.
27630
11e16b15 27631 * util/grub-editenv.c (cmd_info): Cast argument to long
27632 explicitly. ptrdiff_t reduces to int on i386.
27633
cbabfdd4 27634 * util/grub-editenv.c (main): Be specific which parameter is
27635 missing.
27636
b8fbce0a 27637 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
27638 (memdisk): Make memdisk_orig_addr a pointer.
27639
c9c8e606 27640 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
27641 for file offsets, use grub_off_t instead. Fix printf format
27642 warnings.
27643
ca62e598 27644 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
27645 there. Real unexpected warnings should not drown in the noise
27646 about known problems.
27647
ce8d1766 27648 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
27649 grub_disk_addr_t for memory addresses.
27650
00c7a56a 27651 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
27652 explicitly to fix a warning.
27653
08d3ef09 27654 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
27655
cb71ba20 27656 * Makefile.in (MODULE_LDFLAGS): New variable.
27657 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
27658 the linker accepts --build-id=none.
27659 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
27660 MODULE_LDFLAGS.
27661 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
27662
d4c9b428 27663 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
27664 those in Linux XFS code. Provide a way to access 64-bit parent
27665 inode.
27666 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
27667 the end of struct grub_xfs_dir_header.
27668
d4156eee 276692008-07-02 Bean <bean123ch@gmail.com>
27670
27671 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
27672 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27673 and GRUB_IEEE1275_FLAG_NO_ANSI.
27674
27675 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
27676 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27677 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
27678
27679 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
27680 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
27681
27682 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
27683 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
27684
27685 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
27686 esc sequence on non ANSI terminal.
27687 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
27688
27689 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
27690 beginning of file.
27691
2270f77b 276922008-07-02 Bean <bean123ch@gmail.com>
27693
27694 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
27695 (grub_editenv_SOURCES): New variable.
27696 (pkglib_MODULES): Add loadenv.mod.
27697 (loadenv_mod_SOURCES): New variable.
27698 (loadenv_mod_CFLAGS): Likewise.
27699 (loadenv_mod_LDFLAGS): Likewise.
27700
27701 * include/grub/envblk.h: New file.
27702
27703 * util/envblk.c: New file.
27704
27705 * util/grub-editenv.c: New file.
27706
27707 * commands/loadenv.c: New file.
27708
0e9e51ec 277092008-07-01 Pavel Roskin <proski@gnu.org>
27710
d89b7634 27711 * include/multiboot2.h (struct multiboot_tag_module): Use char,
27712 not unsigned char. This fixes warnings and is consistent with
27713 other tags.
27714
bf1835b1 27715 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
27716
8222a04b 27717 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
27718
6a42d99d 27719 * term/tparm.c (analyze): Always set *popcount.
27720
10b159d1 27721 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
27722 cast to fix a warning.
27723
b8789f6c 27724 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
27725 cast to suppress a warning.
27726
29d7e38a 27727 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
27728 grub_fshelp_read_file() expects.
27729
f341f669 27730 * fs/fat.c: Fix UUID calculation on big-endian systems. We
27731 write uuid as a 32-bit value in CPU byte order, so declare and
27732 use it as such.
27733
0e9e51ec 27734 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
27735 long if the format specifier expects it.
27736 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
27737 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27738 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
27739 long to fix a warning.
27740 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
27741 grub_dprintf() arguments to fix warnings.
27742
3aefa857 277432008-06-30 Pavel Roskin <proski@gnu.org>
27744
56c7668b 27745 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
27746 install_bsd_part immediately before core.img is embedded or
27747 modified on disk. This fixes core.img verification if core.img
27748 cannot be embedded.
27749
3aefa857 27750 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
27751 core_path to calculate the blocklist.
27752 Patch from Javier Martín <lordhabbit@gmail.com>
27753
5444088d 277542008-06-29 Robert Millan <rmh@aybabtu.com>
27755
27756 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
27757 block to disk block.
27758 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
27759 Patch from Niels Böhm <bitbucket@arcor.de>
27760
674835c8 277612008-06-29 Robert Millan <rmh@aybabtu.com>
27762
27763 * util/update-grub_lib.in (font_path): Search for fonts in
27764 /boot/grub first, which is more likely to be readable (we aren't
27765 deciding where fonts live, just looking for them).
27766
f527dbc8 277672008-06-26 Pavel Roskin <proski@gnu.org>
27768
6c2d8df6 27769 * util/biosdisk.c (read_device_map): Don't leave dead map
27770 entries for devices failing stat() check.
27771
f527dbc8 27772 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
27773 core_path_dev for the core.img path on the target device.
27774
aebe3d13 277752008-06-26 Robert Millan <rmh@aybabtu.com>
27776
27777 * disk/fs_uuid.c: New file.
27778 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
27779 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
27780 (fs_uuid_mod_LDFLAGS): New variables.
27781 * include/grub/disk.h (grub_disk_dev_id): Add
27782 `GRUB_DISK_DEVICE_UUID_ID'.
27783 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
27784 implement iterate().
27785
37aaf354 277862008-06-26 Robert Millan <rmh@aybabtu.com>
27787
27788 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
27789 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
27790 Linux image includes no initrd.
27791
25ff262a 277922008-06-21 Javier Martín <lordhabbit@gmail.com>
27793
27794 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
27795 call to resolve the core image location that effectively appended the
27796 name twice.
27797
76a2bd44 277982008-06-21 Robert Millan <rmh@aybabtu.com>
27799
27800 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
27801 call from here ...
27802
27803 * util/grub.d/10_hurd.in: ... to here ...
27804 * util/grub.d/10_linux.in: ... and here.
27805
650e1c79 278062008-06-19 Robert Millan <rmh@aybabtu.com>
27807
fe987087 27808 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 27809 after it has been set by grub_machine_set_prefix().
27810
6ce63911 278112008-06-19 Robert Millan <rmh@aybabtu.com>
27812
27813 * commands/search.c (search_label, search_fs_uuid, search_file): Print
27814 search result when not saving to variable, not the other way around.
27815 When saving to variable, abort iteration as soon as a match is found.
27816
73940cec 278172008-06-19 Robert Millan <rmh@aybabtu.com>
27818
27819 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
27820 check for partition that provides /boot/grub. Its logic is flawed,
27821 as it prevents prepare_grub_to_access_device() from being called
27822 multiple times.
27823
3c62a39d 278242008-06-19 Robert Millan <rmh@aybabtu.com>
27825
27826 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
27827 "insmod" command directly when abstraction modules are needed,
fe987087 27828 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 27829 since it had already been processed).
27830
47395a42 278312008-06-19 Pavel Roskin <proski@gnu.org>
27832
27833 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
27834 changed. This is needed in case GRUB_LIBDIR changes.
27835 * conf/i386-ieee1275.rmk: Likewise.
27836 * conf/i386-linuxbios.rmk: Likewise.
27837 * conf/i386-pc.rmk: Likewise.
27838 * conf/powerpc-ieee1275.rmk: Likewise.
27839
a145ac2d 278402008-06-18 Pavel Roskin <proski@gnu.org>
27841
27842 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
27843 kernel_elf_symlist.c to symlist.c for consistency with other
27844 architectures. Update all users.
27845 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27846
7847c51e 278472008-06-18 Robert Millan <rmh@aybabtu.com>
27848
27849 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
27850 it in prefix.
27851
27852 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
27853 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
27854 a RAID device, run setup() for all members independently on whether
27855 LVM abstraction is being used.
27856 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
27857 If grub-mkimage has set `*install_dos_part == -2', don't override this
27858 value.
27859 Perform *install_dos_part adjustments independently on whether
27860 we're embedding or not.
27861 Clarify error message when image is too big for embedding.
27862 Remove duplicate *install_dos_part stanza.
27863
b23e5644 278642008-06-17 Robert Millan <rmh@aybabtu.com>
27865
27866 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
27867 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
27868 variables.
27869 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
27870 values in grub_ofconsole_normal_color and
27871 grub_ofconsole_highlight_color (they're not directly related to
27872 background and foreground).
27873 (grub_ofconsole_setcolorstate): Extract background and foreground
27874 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
27875
0aac2f79 278762008-06-17 Robert Millan <rmh@aybabtu.com>
27877
27878 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
27879 /boot/grub for the check in last commit, not /boot (they could be
27880 different partitions).
27881
3cca7ef3 278822008-06-16 Robert Millan <rmh@aybabtu.com>
27883
27884 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
27885 asked to setup access for the same partition that provides /boot,
27886 don't bother using UUIDs since our root already has the value we
27887 want.
27888
347396d8 278892008-06-16 Robert Millan <rmh@aybabtu.com>
27890
27891 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
27892 I2O devices.
27893 Patch from Sven Mueller <sven@debian.org>.
27894
991477f8 278952008-06-16 Robert Millan <rmh@aybabtu.com>
27896
27897 * util/update-grub.in: Check for $EUID instead of $UID.
27898 Reported by Vincent Zweije.
27899
d31a32a1 279002008-06-16 Bean <bean123ch@gmail.com>
27901
fe987087 27902 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 27903 (grub_ext2_read_block): Likewise.
27904 (grub_ext2_read_inode): Likewise.
27905 (grub_ext2_mount): Likewise.
27906 (grub_ext2_close): Likewise.
27907 (grub_ext3_get_journal): Removed.
27908
fe987087 27909 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 27910 (grub_reiserfs_read_symlink): Likewise.
27911 (grub_reiserfs_mount): Likewise.
27912 (grub_reiserfs_open): Likewise.
27913 (grub_reiserfs_read): Likewise.
27914 (grub_reiserfs_close): Likewise.
27915 (grub_reiserfs_get_journal): Removed.
27916
27917 * fs/fshelp.c (grub_fshelp_read): Removed.
27918 (grub_fshelp_map_block): Likewise.
27919
27920 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
27921 (grub_fshelp_journal): Likewise.
27922 (grub_fshelp_read): Likewise.
27923 (grub_fshelp_map_block): Likewise.
27924
3540a760 279252008-06-16 Pavel Roskin <proski@gnu.org>
27926
27927 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
27928 floating point anymore.
27929 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
27930
95614c84 279312008-06-15 Pavel Roskin <proski@gnu.org>
27932
27933 * commands/ls.c (grub_ls_list_files): Use integer calculations
27934 for human readable format, avoid floating point use.
27935 * kern/misc.c (grub_ftoa): Remove.
27936 (grub_vsprintf): Remove floating point support.
27937
50465dd6 279382008-06-15 Robert Millan <rmh@aybabtu.com>
27939
fe6b695a 27940 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 27941 devices.
27942 Reported by Max Vozeler.
27943
a9207284 279442008-06-15 Robert Millan <rmh@aybabtu.com>
27945
27946 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
27947 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
27948 skipped later.
27949 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
27950 the beginning of the prefix.
27951
27952 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
27953 It is assumed that if we have a memdisk, grub-mkimage has set
27954 grub_prefix to include the "(memdisk)" drive in it.
27955
a7cbd45a 279562008-06-15 Robert Millan <rmh@aybabtu.com>
27957
27958 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
27959 Initialize keyboard controller after registering the terminal, so that
27960 grub_printf() can be called from grub_keyboard_controller_init().
27961
21cf716a 279622008-06-15 Robert Millan <rmh@aybabtu.com>
27963
27964 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
27965 extent-btree which is written as big endian on disk.
27966 Reported by Alain Greppin <al@chilibi.org>.
27967
23a64d8e 279682008-06-14 Robert Millan <rmh@aybabtu.com>
27969
27970 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
27971 * util/i386/pc/grub-install.in (modules): Likewise.
27972
d687651c 279732008-06-13 Pavel Roskin <proski@gnu.org>
27974
27975 * commands/ls.c (grub_ls_list_files): Fix format warnings.
27976
dfe9ddd4 279772008-06-13 Bean <bean123ch@gmail.com>
27978
27979 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
27980
27981 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
27982
27983 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
27984 to indicate sparse block.
27985
16ae7781 279862008-06-12 Pavel Roskin <proski@gnu.org>
27987
e6d1a308 27988 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
27989 number, grub_fshelp_read() does it for us.
27990
16ae7781 27991 * fs/fshelp.c (grub_fshelp_read): New function. Implement
27992 linear disk read with journal translation.
27993 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
27994 * include/grub/fshelp.h: Declare grub_fshelp_read().
27995
40fd3a2b 279962008-06-09 Pavel Roskin <proski@gnu.org>
27997
27998 * fs/minix.c (grub_minix_mount): Handle error reading
27999 superblock.
28000
f5679726 280012008-06-08 Robert Millan <rmh@aybabtu.com>
28002
28003 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
28004 don't append the RAID prefix afterwards.
28005 Reported by Clint Adams.
28006
ce525529 280072008-06-08 Robert Millan <rmh@aybabtu.com>
28008
28009 Based on description from Pavel:
28010 * kern/disk.c (grub_disk_check_range): Rename to ...
28011 (grub_disk_adjust_range): ... this. Add a comment explaining the
28012 tasks performed by this function.
28013
ad4936a0 280142008-06-08 Robert Millan <rmh@aybabtu.com>
28015
28016 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
28017 `num_serial' (for consistency with other variables).
28018 (struct grub_ntfs_data): Add `uuid' member.
28019 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
28020 (grub_ntfs_uuid): New function.
28021 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
28022
dc20b0f9 280232008-06-07 Pavel Roskin <proski@gnu.org>
28024
28025 * util/biosdisk.c (open_device): Revert last change to the
28026 function, it broke installation. The sector needs to be
28027 different dependent on which device is opened.
28028
c5e3cfba 280292008-06-06 Robert Millan <rmh@aybabtu.com>
28030
28031 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
28032 rest of GRUB, and breakage doesn't happen if its value were modified.
28033
28034 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28035 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
28036 a constant (same value).
28037 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
28038 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
28039
26a1f8c4 280402008-06-06 Robert Millan <rmh@aybabtu.com>
28041
28042 * util/biosdisk.c (open_device): Do not modify sector offset when
28043 accessing a partition. kern/disk.c already handles this for us.
28044
25d6b327 280452008-06-06 Robert Millan <rmh@aybabtu.com>
28046
28047 * util/grub-emu.c (grub_machine_init): Move code in this function from
28048 here ...
28049 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
28050 segfault in case grub_printf() is called).
28051
28052 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
28053 grub_probe. Update all users not to explicitly add it again.
28054 (grub_device): New variable; contains corresponding device for grubdir.
28055 (fs_module, partmap_module, devabstraction_module): Pass
28056 `--device ${grub_device}' to grub_probe to avoid traversing /dev
28057 every time.
28058
9ece62fb 280592008-06-05 Robert Millan <rmh@aybabtu.com>
28060
28061 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
28062 is found, print it (same layout as with labels).
28063
1ad36d37 280642008-06-04 Robert Millan <rmh@aybabtu.com>
28065
28066 * util/biosdisk.c (get_drive): Rename to ...
28067 (find_grub_drive): ... this. Update all users.
28068
28069 (get_os_disk): Rename to ...
28070 (convert_system_partition_to_system_disk): ... this. Update all users.
28071
28072 (find_drive): Rename to ...
28073 (find_system_device): ... this. Update all users.
28074
e6a30859 280752008-06-04 Robert Millan <rmh@aybabtu.com>
28076
28077 * util/biosdisk.c (get_os_disk): Handle IDA devices.
28078 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28079 (make_device_map): Likewise.
28080
00c108a4 280812008-06-01 Robert Millan <rmh@aybabtu.com>
28082
28083 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
28084 before dereferencing it.
28085
28086 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
28087 union with fat12/fat16-specific ones. Add some new fields, including
28088 `num_serial' for both versions.
28089 (struct grub_fat_data): Add `uuid' member.
28090 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
28091 names. Initialize `data->uuid' using `num_serial'.
28092 (grub_fat_uuid): New function.
28093 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
28094
28095 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
28096 (grub_reiserfs_uuid): New function.
28097 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
28098 member.
28099
28100 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
28101 (grub_xfs_uuid): New function.
28102 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
28103
1385c5bb 281042008-06-01 Robert Millan <rmh@aybabtu.com>
28105
28106 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
28107 code that is backward compatible with pre-uuid search command.
28108
c682dfd7 281092008-05-31 Robert Millan <rmh@aybabtu.com>
28110
28111 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
28112 floppies after everything else, to ensure floppy drive isn't accessed
28113 unnecessarily (patch from Bean).
28114
b7db5d47 281152008-05-31 Robert Millan <rmh@aybabtu.com>
28116
28117 * commands/search.c (search_label, search_fs_uuid, search_file): Do
28118 not print device names when we were asked to set a variable.
28119
6e037aa9 281202008-05-31 Robert Millan <rmh@aybabtu.com>
28121
28122 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
28123 using "cursor-on" and "cursor-off" commands (understood at least by
28124 the Open Firmware flavour on OLPC).
28125
41305bc8 281262008-05-31 Michael Gorven <michael@gorven.za.net>
28127
28128 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
28129 on and off sequences.
28130
69ba137e 281312008-05-31 Robert Millan <rmh@aybabtu.com>
28132
28133 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
28134 * util/update-grub.in: Likewise.
28135
520ae21b 281362008-05-30 Pavel Roskin <proski@gnu.org>
28137
28138 * util/biosdisk.c (linux_find_partition): Simplify logic and
28139 make the code more universal. Keep special processing for
28140 devfs, but use a simple rule for all other devices. If the
28141 device ends with a number, append 'p' and the partition number.
28142 Otherwise, append only the partition number.
28143
5786569b 281442008-05-30 Robert Millan <rmh@aybabtu.com>
28145
28146 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
28147 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
28148 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
28149 the `root' parameter to Linux.
28150
51500452 281512008-05-30 Robert Millan <rmh@aybabtu.com>
28152
28153 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
28154 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
28155 --fs_uuid with --fs-uuid.
28156 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
28157 all filesystems support them).
28158
811d3878 281592008-05-30 Robert Millan <rmh@aybabtu.com>
28160
28161 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 28162 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 28163
cab63c95 281642008-05-30 Robert Millan <rmh@aybabtu.com>
28165
28166 * util/grub.d/00_header.in: Remove obsolete comment referencing
28167 convert_system_path_to_grub_path().
28168 * util/update-grub.in: Likewise.
28169 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
28170 (convert_system_path_to_grub_path): Add a warning message explaining
28171 that this function is deprecated. Rely on is_path_readable_by_grub()
28172 for the readability checks.
28173 (font_path): Use is_path_readable_by_grub() for the readability
28174 check rather than convert_system_path_to_grub_path().
28175
972e2f7a 281762008-05-30 Robert Millan <rmh@aybabtu.com>
28177
28178 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
28179 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
28180 converting it first.
28181 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
28182 grub.cfg for access to font file, and afterwards call it again to set
28183 the root device.
28184
62191274 281852008-05-30 Robert Millan <rmh@aybabtu.com>
28186
28187 * commands/search.c (options): Add --fs_uuid option.
28188 (search_fs_uuid): New function.
28189 (grub_cmd_search): Fix --set argument passing.
28190 Use search_fs_uuid() when requested via --fs_uuid.
28191 (grub_search_init): Update help message.
28192 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
28193 and redeclare it as an array of 16-bit words.
28194 (grub_ext2_uuid): New function.
28195 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
28196 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
28197 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
28198 (GRUB_DEVICE_BOOT_UUID): New variables.
28199 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
28200 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
28201 whenever possible.
28202 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
28203 just assume `root' variable has the right value.
28204 * util/grub.d/10_linux.in: Likewise.
28205 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
28206 via PRINT_FS_UUID.
28207 (main): Recognise `-t fs_uuid' argument.
28208
01b73ec8 282092008-05-30 Robert Millan <rmh@aybabtu.com>
28210
28211 * util/biosdisk.c (map): Redefine structure to hold information
28212 about GRUB drive name.
fe6b695a 28213 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 28214 drive names.
28215 (call_hook): Remove.
28216 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
28217 member. Assume drive has partitions.
28218 (grub_util_biosdisk_open): Access device names via `.device' struct
28219 member.
28220 (open_device): Likewise.
28221 (find_drive): Likewise.
28222 (read_device_map): Adjust map[] usage to match the new struct
28223 definition. Don't check for duplicates (still possible, but not cheap
28224 anymore).
28225 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
28226 (make_device_name): Remove assumption of BIOS-like drive names.
28227
22f16596 282282008-05-30 Pavel Roskin <proski@gnu.org>
28229
28230 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
28231 compiling execute.c doesn't need grub_script.tab.h anymore.
28232 (normal/command.c_DEPENDENCIES): Likewise.
28233 (normal/function.c_DEPENDENCIES): Likewise.
28234 * conf/i386-ieee1275.rmk: Likewise.
28235 * conf/i386-linuxbios.rmk: Likewise.
28236 * conf/i386-pc.rmk: Likewise.
28237 * conf/powerpc-ieee1275.rmk: Likewise.
28238 * conf/sparc64-ieee1275.rmk: Likewise.
28239
528ad8f2 282402008-05-29 Pavel Roskin <proski@gnu.org>
28241
d1dff95d 28242 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
28243 when scanning metadata for volume group name.
28244
528ad8f2 28245 * include/grub/script.h: Don't include grub_script.tab.h. It's
28246 a generated file, which may only be included from the files with
28247 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
28248 use union YYSTYPE, as the later allows forward declaration.
28249 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
28250
47248e08 282512008-05-29 Robert Millan <rmh@aybabtu.com>
28252
28253 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
28254 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
28255 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
28256 (grub_console_checkkey): Add grub_dprintf() call to report unknown
28257 scan codes.
28258
ee632529 282592008-05-29 Robert Millan <rmh@aybabtu.com>
28260
28261 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
28262 control key combinations.
28263
eee96e08 282642008-05-29 Robert Millan <rmh@aybabtu.com>
28265
28266 * util/powerpc/ieee1275/grub-install.in: Move from here ...
28267 * util/ieee1275/grub-install.in: ... to here.
28268 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
28269 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
28270 (grub_install_SOURCES): Likewise.
28271
da9a6a94 282722008-05-29 Robert Millan <rmh@aybabtu.com>
28273
28274 * fs/affs.c: Update copyright year.
28275 * fs/ext2.c: Likewise.
28276 * fs/fshelp.c: Likewise.
28277 * fs/hfsplus.c: Likewise.
28278 * fs/ntfs.c: Likewise.
28279 * fs/xfs.c: Likewise.
28280 * include/grub/fshelp.h: Likewise.
28281 * util/grub-mkdevicemap.c: Likewise.
28282
12e65f3a 282832008-05-28 Robert Millan <rmh@aybabtu.com>
28284
28285 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
28286 might need to be fatfs to support some firmware implementations
28287 (e.g. OFW or EFI).
28288
23023641 282892008-05-28 Robert Millan <rmh@aybabtu.com>
28290
28291 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
28292 devices.
28293 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28294 (make_device_map): Likewise.
28295
887d2619 282962008-05-20 Bean <bean123ch@gmail.com>
28297
28298 * fs/fshelp.c (grub_fshelp_map_block): New function.
28299 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
28300 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
28301
28302 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
28303 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
28304 (grub_fshelp_journal): New structure.
28305 (grub_fshelp_map_block): New function prototype.
28306 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
28307 (grub_fshelp_map_block): Likewise.
28308
28309 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
28310 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
28311 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
28312 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
28313 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
28314 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
28315 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
28316 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
28317 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
28318 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
28319 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
28320 (grub_ext2_sblock): New members for journal support.
28321 (grub_ext3_journal_header): New structure.
28322 (grub_ext3_journal_revoke_header): Likewise.
28323 (grub_ext3_journal_block_tag): Likewise.
28324 (grub_ext3_journal_sblock): Likewise.
28325 (grub_fshelp_node): New members logfile and journal.
28326 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
28327 grub_fshelp_map_block to get real block number.
28328 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
28329 number.
28330 (grub_ext2_read_inode): Likewise.
28331 (grub_ext3_get_journal): New function.
28332 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
28333 (grub_ext2_close): Release memory used by journal.
28334
28335 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
28336 (REISERFS_MAGIC_DESC_BLOCK): New macro.
28337 (grub_reiserfs_transaction_header): Renamed to
28338 grub_reiserfs_description_block, replace field data with real_blocks.
28339 (grub_reiserfs_commit_block): New structure.
28340 (grub_reiserfs_data): New member journal.
28341 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
28342 number.
28343 (grub_reiserfs_read_symlink): Likewise.
28344 (grub_reiserfs_iterate_dir): Likewise.
28345 (grub_reiserfs_open): Likewise.
28346 (grub_reiserfs_read): Likewise.
28347 (grub_reiserfs_get_journal): New function.
28348 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
28349 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
28350 using grub_reiserfs_get_journal.
28351 (grub_reiserfs_close): Release memory used by journal.
28352
28353 * fs/affs.c (grub_affs_read_block): Change block type to
28354 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
28355
28356 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
28357
28358 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
28359
28360 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
28361
28362 * fs/udf.c (grub_udf_read_block): Change block type to
28363 grub_disk_addr_t. Use type cast to avoid warning.
28364
28365 * fs/xfs.c (grub_xfs_read_block): Likewise.
28366
b7c6bed5 283672008-05-16 Christian Franke <franke@computer.org>
28368
28369 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
28370 to ensure that break with ESC will always work.
28371 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
28372 Remove ESC from keyboard queue.
28373
eedf167f 283742008-05-16 Christian Franke <franke@computer.org>
28375
28376 * util/biosdisk.c: [__CYGWIN__] Add includes.
28377 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
28378 (get_os_disk): Move variable declarations to OS specific
28379 parts to avoid warning.
28380 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
28381 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
28382 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
28383 Cygwin.
28384 * util/getroot.c: [__CYGWIN__] Add includes.
28385 (strip_extra_slashes): Fix "/" case.
28386 [__CYGWIN__] (get_win32_path): New function.
28387 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
28388 [__CYGWIN__] (find_root_device): Disable.
28389 [__CYGWIN__] (get_bootsec_serial): New function.
28390 [__CYGWIN__] (find_cygwin_root_device): Likewise.
28391 [__linux__] (grub_guess_root_device): Add early returns to simplify
28392 structure.
28393 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
28394 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
28395 check for Linux only.
28396
a079699e 283972008-05-15 Bean <bean123ch@gmail.com>
28398
28399 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
28400 keyboard hang problem in apple's intel mac.
28401
1cf4059a 284022008-05-09 Robert Millan <rmh@aybabtu.com>
28403
28404 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
28405 devices.
28406 * util/grub-mkdevicemap.c (get_virtio_disk_name)
28407 (make_device_map): Likewise.
28408 Reported by Aurelien Jarno <aurel32@debian.org>
28409
ed759390 284102008-05-07 Ian Campbell <ijc@hellion.org.uk>
28411
28412 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
28413 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
28414 (make_device_map): Output entries for xvd type disks.
28415
b56c4eaa 284162008-05-07 Robert Millan <rmh@aybabtu.com>
28417
28418 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
28419 devices.
28420 * util/grub-mkdevicemap.c (get_cciss_disk_name)
28421 (make_device_map): Likewise.
28422 Reported by Roland Dreier <rdreier@cisco.com>
28423
7f8866ed 284242008-05-07 Robert Millan <rmh@aybabtu.com>
28425
28426 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
28427 grub_strstr() call. Correct a few mistakes in failure path handling.
28428
b0346e0f 284292008-05-06 Robert Millan <rmh@aybabtu.com>
28430
28431 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28432 Do not print a trailing slash (therefore, the root directory is an
28433 empty string).
28434 (convert_system_path_to_grub_path): Do not remove trailing slash
28435 from make_system_path_relative_to_its_root() output.
28436
28437 * util/i386/pc/grub-install.in: Add trailing slash to output from
28438 make_system_path_relative_to_its_root().
28439
6cf12cbd 284402008-05-06 Robert Millan <rmh@aybabtu.com>
28441
28442 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
28443 ensures that output lines aren't intermangled with those sent to
28444 stderr (via grub_util_info()).
28445 * util/grub-probe.c (grub_refresh): Likewise.
28446 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
28447
0fbb3117 284482008-05-05 Christian Franke <franke@computer.org>
28449
28450 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
28451 Add Cygwin device names.
28452 (get_ide_disk_name) [__CYGWIN__]: Likewise.
28453 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
28454 (check_device): Return error instead of success on empty name.
28455 (make_device_map): Move label inside linux specific code to
28456 prevent compiler warning.
28457
8124cdb7 284582008-04-30 Robert Millan <rmh@aybabtu.com>
28459
28460 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
28461 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
28462 first boot option.
28463 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
28464
094c01d0 284652008-04-29 Robert Millan <rmh@aybabtu.com>
28466
28467 * docs/grub.cfg: New file (example GRUB configuration).
28468
f4b1fc02 284692008-04-26 Robert Millan <rmh@aybabtu.com>
28470
329ce2a5 28471 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
28472 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
28473 and `disk/ieee1275/nand.c'.
f4b1fc02 28474
25f16ec1 284752008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 28476
25f16ec1 28477 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
28478 i386-linuxbios.
28479
28480 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
28481 change the buffer size to 4096 for cdrom device.
28482
28483 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
28484 and nand.mod.
28485 (_linux_mod_SOURCES): New variable.
28486 (_linux_mod_CFLAGS): Likewise.
28487 (_linux_mod_LDFLAGS): Likewise.
28488 (linux_mod_SOURCES): Likewise.
28489 (linux_mod_CFLAGS): Likewise.
28490 (linux_mod_LDFLAGS): Likewise.
28491 (nand_mod_SOURCES): Likewise.
28492 (nand_mod_CFLAGS): Likewise.
28493 (nand_mod_LDFLAGS): Likewise.
28494
28495 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
28496 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
28497 type property. (nand device in olpc don't have this property)
28498
28499 * include/grub/disk.h (grub_disk_dev_id): New macro
28500 GRUB_DISK_DEVICE_NAND_ID.
28501
28502 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
28503 function prototype.
28504 (grub_rescue_cmd_initrd): Likewise.
28505
28506 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
28507 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
28508 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 28509
25f16ec1 28510 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
28511 GRUB_MACHINE_IEEE1275 is defined.
28512
28513 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
28514 Use NESTED_FUNC_ATTR attribute on the hook parameter.
28515
28516 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
28517 on nested function heap_init.
28518 (grub_upper_mem): New variable for i386-ieee1275.
28519 (grub_get_extended_memory): New function for i386-ieee1275.
28520 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
28521
28522 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
28523 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
28524 property.
f19dbdb7 28525
25f16ec1 28526 * loader/i386/ieee1275/linux.c: New file.
28527
28528 * loader/i386/ieee1275/linux_normal.c: New file.
28529
28530 * disk/ieee1275/nand.c: New file.
28531
e89d61e9 285322008-04-18 Thomas Schwinge <tschwinge@gnu.org>
28533
28534 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
28535 value.
28536 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
28537
602566f6 285382008-04-18 Robert Millan <rmh@aybabtu.com>
28539
28540 Restructures early code path on ieee1275 to unify grub_main() as
28541 the first C function that is executed in every platform.
28542
28543 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
28544 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
28545 cmain().
28546 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
28547 * kern/ieee1275/cmain.c (cmain): Rename to ...
28548 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
28549 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
28550 at the beginning.
28551
57490c2b 285522008-04-18 Robert Millan <rmh@aybabtu.com>
28553
28554 * util/update-grub.in: Fix syntax error when setting
28555 `GRUB_PRELOAD_MODULES'.
28556 Reported by Stephane Chazelas <stephane@artesyncp.com>
28557
1977517d 285582008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
28559
28560 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
28561 section into account, newer toolchains generate unique build ids
28562 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 28563 we want build ids to be preserved
1977517d 28564 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
28565 far from other sections don't cause the raw binary images grow
28566 size
28567
bfb1f1a2 285682008-04-15 Robert Millan <rmh@aybabtu.com>
28569
28570 * disk/lvm.c: Update copyright year.
28571 * kern/misc.c: Likewise.
28572
01979850 285732008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28574
28575 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 28576 there is no memory left for physical volume name.
01979850 28577
0a1150e2 285782008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28579
28580 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
28581 volume name mapping to support bigger than 9 character names properly.
28582
82ead3fe 285832008-04-13 Robert Millan <rmh@aybabtu.com>
28584
28585 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
28586 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
28587
e54a72f5 285882008-04-13 Christian Franke <franke@computer.org>
28589
28590 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
28591 to create a floppy emulation boot CD when non emulation mode
28592 does not work.
28593 Enable Joliet CD filesystem extension.
28594
9fe86034 285952008-04-13 Robert Millan <rmh@aybabtu.com>
28596
28597 * kern/misc.c (grub_strncat): Fix off-by-one error.
28598 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
28599
28600 * kern/env.c (grub_env_context_close): Clear current context, not
28601 previous one.
28602 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
28603
28604 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
28605
7ceeee39 286062008-04-13 Robert Millan <rmh@aybabtu.com>
28607
28608 Improve robustness when handling LVM.
28609
28610 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 28611 (and leave `*p' unmodified).
7ceeee39 28612 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
28613 through it.
28614 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
28615 iterating through it.
28616 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
28617 through it.
fe6b695a 28618 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 28619 when due) on each grub_lvm_getvalue() or grub_strstr() call.
28620 Don't assume `vg->pvs != NULL' when iterating through it.
28621
58cd3d85 286222008-04-13 Robert Millan <rmh@aybabtu.com>
28623
28624 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
28625 * genmk.rb (partmap): New variable.
28626 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
28627 (#{partmap}): New target rule.
28628 * genpartmaplist.sh: New file.
28629 * Makefile.in (pkglib_DATA): Add partmap.lst.
28630 (partmap.lst): New target rule.
28631 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
28632 modules (including all partition maps), instead of preloading them.
28633
78b51059 286342007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
28635
28636 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
28637 `linux-boot-prober' (if installed) to detect other operating
28638 systems which are installed on the computer and add them to
28639 the boot menu.
28640 * conf/common.rmk: Build and install 30_os-prober.
28641
a91627b4 286422008-04-12 Robert Millan <rmh@aybabtu.com>
28643
28644 * kern/powerpc/ieee1275/init.c: Move from here ...
28645 * kern/ieee1275/init.c: ... to here. Update all users.
28646
28647 * kern/powerpc/ieee1275/cmain.c: Move from here ...
28648 * kern/ieee1275/cmain.c: ... to here. Update all users.
28649
28650 * kern/powerpc/ieee1275/openfw.c: Move from here ...
28651 * kern/ieee1275/openfw.c: ... to here. Update all users.
28652
28653 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
28654 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
28655
322562ea 286562008-04-10 Pavel Roskin <proski@gnu.org>
28657
28658 * configure.ac: Always use "_cv_" in cache variables for
28659 compatibility with Autoconf 2.62.
28660
a02a73c5 286612008-04-07 Robert Millan <rmh@aybabtu.com>
28662
28663 Revert grub/machine/init.h addition by Pavel (since it breaks on
28664 i386-ieee1275 and others):
28665 * util/i386/pc/misc.c: Remove grub/machine/init.h.
28666 * util/powerpc/ieee1275/misc.c: Likewise.
28667
25c024b1 286682008-04-07 Robert Millan <rmh@aybabtu.com>
28669
28670 * util/grub-probe.c (probe): Improve error message.
28671
3cbd2f98 286722008-04-07 Robert Millan <rmh@aybabtu.com>
28673
28674 * util/biosdisk.c (read_device_map): Skip devices that don't exist
28675 (this prevents the presence of a bogus entry from ruining the whole
28676 thing).
28677
87a297bf 286782008-04-06 Pavel Roskin <proski@gnu.org>
28679
36747a62 28680 * util/biosdisk.c: Include grub/util/biosdisk.h.
28681 * util/grub-fstest.c (execute_command): Make static.
28682 * util/grub-mkdevicemap.c (check_device): Likewise.
28683 * util/i386/pc/misc.c: Include grub/machine/init.h.
28684 * util/powerpc/ieee1275/misc.c: Likewise.
28685 * util/lvm.c: Include grub/util/lvm.h.
28686 * util/misc.c: Include grub/kernel.h, grub/misc.h and
28687 grub/cache.h.
28688 * util/raid.c: Include grub/util/raid.h.
28689 (grub_util_getdiskname): Make static.
28690
87a297bf 28691 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
28692 grub_hostfs_fini(), as they are called from grub_init_all() and
28693 grub_fini_all() respectively. This fixes an infinite loop in
28694 grub-fstest due to double registration of hostfs.
28695 Reported by Christian Franke <Christian.Franke@t-online.de>
28696
f6ce7629 286972008-04-05 Pavel Roskin <proski@gnu.org>
28698
28699 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
28700 all 8 functions. Otherwise, probe function 0 only.
28701
070e49e4 287022008-04-04 Pavel Roskin <proski@gnu.org>
28703
8b088a4c 28704 * commands/lspci.c (grub_lspci_iter): Print the bus number
28705 correctly.
28706
4f657021 28707 * commands/lspci.c (grub_pci_classes): Fix typos.
28708 (grub_lspci_iter): Don't print func twice. Print vendor ID
28709 before device ID, as it's normally done.
28710
070e49e4 28711 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28712 Fix signedness warnings.
28713 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
28714 Likewise.
28715 * util/ieee1275/get_disk_name.c: Include config.h so that
28716 _GNU_SOURCE is defined and getline() is declared. Mark an
28717 unused argument as such. Fix a signedness warning.
28718
ba7328dc 287192008-04-02 Pavel Roskin <proski@gnu.org>
28720
26887f22 28721 * genkernsyms.sh.in: Use more robust assignments for CC and
28722 srcdir. Quote srcdir.
28723 * gensymlist.sh.in: Likewise. Assert at the compile time that
28724 the symbol table is not empty.
28725
ba7328dc 28726 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
28727 * fs/cpio.c (grub_cpio_read): Likewise.
28728
0f582c6b 287292008-04-01 Pavel Roskin <proski@gnu.org>
28730
4b6e1995 28731 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
28732 * disk/host.c (grub_host_open): Likewise.
28733 * disk/loopback.c (grub_loopback_open): Likewise.
28734 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
28735 disk->id as in disk/host.c, not a multi-character constant.
28736
828a2768 28737 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
28738 later is obsolete, potentially dangerous and sets a bad example.
28739 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
28740 * util/misc.c (grub_util_get_image_size): Likewise.
28741
2bb4fb47 28742 * disk/loopback.c (options): Improve help for "--partitions".
28743
0f582c6b 28744 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
28745 options to align them with the short options, e.g. "echo -e".
28746
a33224e0 287472008-03-31 Bean <bean123ch@gmail.com>
28748
28749 * video/reader/png.c (grub_png_data): New member is_16bit and
28750 image_data.
28751 (grub_png_decode_image_header): Detect 16 bit png image.
28752 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
28753 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
28754 (grub_video_reader_png): Release memory occupied by image_data.
28755
28756 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
28757 4096 bytes.
28758 (grub_nfs_mount): Skip the test for sector per cluster.
28759
28760 * include/grub/ntfs.h (MAX_SPC): Removed.
28761
86cb4f54 287622008-03-31 Bean <bean123ch@gmail.com>
28763
28764 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
28765 (grub_probe_SOURCES): Add fs/afs.c.
28766 (grub_fstest_SOURCES): Likewise.
28767 (afs_mod_SOURCES): New variable.
28768 (afs_mod_CFLAGS): Likewise.
28769 (afs_mod_LDFLAGS): Likewise.
28770
28771 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
28772 (grub_emu_SOURCES): Likewise.
28773
28774 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28775
28776 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28777
28778 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28779
28780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28781
28782 * fs/afs.c: New file.
28783
17c74c21 287842008-03-30 Pavel Roskin <proski@gnu.org>
28785
4cb68e89 28786 * disk/host.c: Include grub/misc.h to fix a warning.
28787 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
28788 warnings about implicit declarations.
28789
8790bb04 28790 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
28791 variable.
28792 * include/grub/i386/loader.h: Change declaration of
28793 grub_linux_boot() to match what grub_loader_set() expects.
28794 * util/getroot.c (grub_guess_root_device): Return const char* to
28795 fix a warning.
28796 * util/grub-probe.c (probe): Fix a warning about uninitialized
28797 abstraction_name variable.
28798 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
28799 second argument as unused to fix a warning.
28800
9a3f3296 28801 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
28802 missing grub_error() call.
28803
0ecef90d 28804 * util/update-grub_lib.in: Define datarootdir, since Autoconf
28805 2.60 and newer uses it to define datadir.
28806
0bf6d401 28807 * commands/sleep.c: Fix warning about implicit declaration.
28808 * disk/memdisk.c: Likewise.
28809 * loader/aout.c: Likewise.
28810 * loader/i386/bsd_normal.c: Likewise.
28811 * util/grub-probe.c: Likewise.
28812
7cdacf97 28813 * commands/i386/cpuid.c (has_longmode): Make static.
28814 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
28815 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
28816
17c74c21 28817 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
28818 GDT. This is more robust, as %ds can change.
28819 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
28820 calling real_to_prot().
28821 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
28822
80a3e68b 288232008-03-28 Pavel Roskin <proski@gnu.org>
28824
28825 * kern/i386/pc/startup.S: Assert that uncompressed functions
28826 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
28827 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
28828 code, as they push parts of the code (error handlers) beyond
28829 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
28830 code as correctness and size.
28831
77bcd272 288322008-03-28 Pavel Roskin <proski@gnu.org>
28833
28834 * kern/i386/pc/startup.S
28835 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
28836 data block address to the real mode, keep offset minimal. This
28837 works around a bug in AWARD BIOS on old Athlon systems, which
28838 makes CD detection hang.
28839
c5dfd43b 288402008-03-26 Pavel Roskin <proski@gnu.org>
28841
28842 * normal/color.c (grub_parse_color_name_pair): Make `name' a
28843 const.
28844 * include/grub/normal.h: Add grub_parse_color_name_pair()
28845 declaration.
28846
bf962df2 288472008-03-24 Bean <bean123ch@gmail.com>
28848
28849 * disk/i386/pc/biosdisk.c (cd_start): Removed.
28850 (cd_count): Removed.
28851 (cd_drive): New variable.
28852 (grub_biosdisk_get_drive): Don't check for (cdN) device.
28853 (grub_biosdisk_call_hook): Likewise.
28854 (grub_biosdisk_iterate): Change cdrom detection method.
28855 (grub_biosdisk_open): Replace cd_start with cd_drive.
28856 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
28857 detect cdrom device.
28858
28859 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
28860 Removed.
28861 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
28862 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
28863 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
28864 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
28865 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
28866 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
28867 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
28868 (grub_biosdisk_cdrp): New structure.
28869 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
28870
28871 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
28872
28873 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
28874 device.
28875
28876 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
28877 New function.
28878
68e7fc7a 288792008-03-20 Robert Millan <rmh@aybabtu.com>
28880
28881 Remove 2 TiB limit in ata.mod.
28882 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
28883 (grub_ata_dumpinfo): Print sector count with 0x%llx.
28884 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
28885 grub_uint64_t instead of grub_uint32_t.
28886
38ad2cf5 288872008-03-05 Bean <bean123ch@gmail.com>
28888
28889 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
28890 (grub_multiboot): Set boot device.
28891
28892 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
28893
2b89344e 288942008-03-02 Bean <bean123ch@gmail.com>
28895
28896 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
28897 symlink_buffer.
28898
87a95d1f 288992008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
28900
28901 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
28902 texinfo.tex.
28903
28904 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
28905 modified.
28906
28907 * docs/fdl.texi: New file.
f19dbdb7 28908
87a95d1f 28909 * docs/mdate-sh: New file. Copied from gnulib.
28910 * docs/texinfo.tex: Likewise.
28911
28912 * config.guess: Updated from gnulib.
28913 * install-sh: Likewise.
28914
7dc15d8e 289152008-02-28 Robert Millan <rmh@aybabtu.com>
28916
28917 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
28918 (aout_mod_SOURCES): New variable.
28919 (aout_mod_CFLAGS): Likewise.
28920 (aout_mod_LDFLAGS): Likewise.
28921
28922 * conf/i386-ieee1275.rmk: Likewise.
28923
b00ab696 289242008-02-28 Robert Millan <rmh@aybabtu.com>
28925
28926 * util/update-grub.in: Reorganise terminal validity check. Accept
28927 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
28928 Based on suggestion by Franklin PIAT.
28929
79ca2d78 289302008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
28931
28932 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
28933 function.
28934 * util/getroot.c (grub_util_check_block_device): New function that
28935 returns the given argument if it is a block device and returns NULL else.
28936 * util/grub-probe.c (argument_is_device): New variable.
28937 (probe): Promote device_name from a variable to an argument. Receive
28938 device_name from grub_util_check_block_device() if path is NULL and from
28939 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 28940 (options): Introduce new parameter '-d, --device'.
79ca2d78 28941 (main): Add description of the new parameter to the help screen.
28942 Rename path variable to argument. Set argument_is_device if the '-d'
28943 option is given. Pass argument to probe() depending on
28944 argument_is_device.
28945
0d16e571 289462008-02-24 Bean <bean123ch@gmail.com>
28947
28948 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
28949 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
28950 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
28951 (GRUB_ISO9660_VOLDESC_PART): Likewise.
28952 (GRUB_ISO9660_VOLDESC_END): Likewise.
28953 (grub_iso9660_primary_voldesc): New member escape.
28954 (grub_iso9660_data): New member joliet.
28955 (grub_iso9660_convert_string): New function.
28956 (grub_iso9660_mount): Detect joliet extension.
28957 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
28958 (grub_iso9660_iso9660_label): Likewise.
28959
28960 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
28961 (grub_setup_SOURCES): Add fs/udf.c.
28962 (grub_fstest_SOURCES): Likewise.
28963 (udf_mod_SOURCES): New variable.
28964 (udf_mod_CFLAGS): Likewise.
28965 (udf_mod_LDFLAGS): Likewise.
28966
28967 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
28968 (grub_emu_SOURCES): Likewise.
28969
28970 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28971
28972 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28973
28974 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28975
28976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28977
28978 * fs/udf.c: New file.
28979
8a594a17 289802008-02-24 Robert Millan <rmh@aybabtu.com>
28981
28982 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
28983 (normal/lexer.c_DEPENDENCIES): New variables.
28984 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28985 (normal/lexer.c_DEPENDENCIES): Likewise.
28986 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
28987 (normal/lexer.c_DEPENDENCIES): Likewise.
28988 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
28989 (normal/lexer.c_DEPENDENCIES): Likewise.
28990 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28991 (normal/lexer.c_DEPENDENCIES): Likewise.
28992 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28993 (normal/lexer.c_DEPENDENCIES): Likewise.
28994
2dc33c03 289952008-02-23 Robert Millan <rmh@aybabtu.com>
28996
28997 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
28998 since they were intended to be in hex. This didn't break previously
28999 because of a bug in gpt_partition_map_iterate() (see below).
29000
29001 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
29002 when checking the validity of GPT header.
29003 Remove `partno', since it always provides the same information as `i'.
29004
f6f4cfb0 290052008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
29006
29007 * include/grub/efi/time.h: Fix a wrong comment.
29008
79ff665f 290092008-02-19 Pavel Roskin <proski@gnu.org>
29010
29011 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
29012 message.
29013
d38e24c2 290142008-02-19 Bean <bean123ch@gmail.com>
29015
29016 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
29017 (aout_mod_SOURCES): New variable.
29018 (aout_mod_CFLAGS): Likewise.
29019 (aout_mod_LDFLAGS): Likewise.
29020 (_bsd_mod_SOURCES): New variable.
29021 (_bsd_mod_CFLAGS): Likewise.
29022 (_bsd_mod_LDFLAGS): Likewise.
29023 (bsd_mod_SOURCES): New variable.
29024 (bsd_mod_CFLAGS): Likewise.
29025 (bsd_mod_LDFLAGS): Likewise.
29026
29027 * include/grub/aout.h: New file.
29028
29029 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
29030
29031 * include/grub/i386/bsd.h: New file.
29032
29033 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
29034 to make it public.
29035
29036 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
29037 function is called, so that it's possible to change it inside the hook.
29038 (grub_elf64_load): Likewise.
29039 (grub_elf_file): Don't close the file if elf header is not found.
29040 (grub_elf_close): Close the file if grub_elf_file fails (The new
29041 grub_elf_file won't close it).
29042 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
29043 (grub_elf64_size): Likewise.
29044
29045 * kern/i386/loader.S (grub_unix_real_boot): New function.
29046
29047 * loader/aout.c: New file.
29048
29049 * loader/i386/bsd.c: New file.
29050
29051 * loader/i386/bsd_normal.c: New file.
29052
29053 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
29054
29055 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 29056 can test other formats.
d38e24c2 29057
b93bdb0f 290582008-02-19 Robert Millan <rmh@aybabtu.com>
29059
29060 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
29061 (grub_gpt_partition_type_empty): Redefine with macro from
29062 `<grub/gpt_partition.h>'.
29063 (gpt_partition_map_iterate): Adjust partition type comparison.
29064
29065 Export `entry' as partmap-specific `part.data' struct.
29066 (grub_gpt_header, grub_gpt_partentry): Move from here ...
29067
29068 * include/grub/gpt_partition.h (grub_gpt_header)
29069 (grub_gpt_partentry): ... to here (new file).
29070
29071 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
29072
29073 (grub_gpt_partition_type_bios_boot): New const variable, defined
29074 with macro from `<grub/gpt_partition.h>'.
29075
29076 (setup): Replace `first_start' with `embed_region', which keeps
29077 track of the embed region (and is partmap-agnostic).
29078
29079 Replace find_first_partition_start() with find_usable_region(),
29080 which finds a usable region for embedding using partmap-specific
29081 knowledge (supports PC/MSDOS and GPT).
29082
29083 Fix all assumptions that the embed region start at sector 1, using
29084 `embed_region.start' from now on. Similarly, use `embed_region.end'
29085 rather than `first_start' to calculate available size.
29086
29087 In grub_util_info() message, replace "into after the MBR" with an
29088 indication of the specific sector our embed region starts at.
29089
66cb40f6 290902008-02-19 Robert Millan <rmh@aybabtu.com>
29091
29092 * DISTLIST: Replace `commands/ieee1275/halt.c' and
29093 `commands/ieee1275/reboot.c' with `commands/halt.c' and
29094 `commands/reboot.c'.
29095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29096 (halt_mod_SOURCES): Likewise.
29097 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29098 (halt_mod_SOURCES): Likewise.
29099
b7202015 291002008-02-17 Christian Franke <franke@computer.org>
29101
29102 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
29103
32b0fc49 291042008-02-17 Robert Millan <rmh@aybabtu.com>
29105
29106 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29107 set `first_start' to 0 for non-PC/MSDOS partition maps.
29108
aca63502 291092008-02-16 Robert Millan <rmh@aybabtu.com>
29110
29111 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29112 do not assume partition map is PC/MSDOS before performing checks that
29113 are specific to that layout.
29114
0de8be86 291152008-02-13 Robert Millan <rmh@aybabtu.com>
29116
29117 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
29118 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
29119 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
29120
c3db8364 291212008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
29122
29123 * configure.ac: Only a cosmetic change on the handling of
29124 -fno-stack-protector.
29125
f714229e 291262008-02-12 Alexandre Boeglin <alex@boeglin.org>
29127
c3db8364 29128 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
29129 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
29130 reboot.c.
f714229e 29131 (grub_install_SOURCES): Add halt.mod and reboot.mod.
29132 (halt_mod_SOURCES): New variable.
29133 (halt_mod_CFLAGS): Likewise.
29134 (halt_mod_LDFLAGS): Likewise.
29135 (reboot_mod_SOURCES): Likewise.
29136 (reboot_mod_CFLAGS): Likewise.
29137 (reboot_mod_LDFLAGS): Likewise.
29138
c3db8364 29139 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
29140 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
29141 reboot.c.
f714229e 29142 (halt_mod_SOURCES): Likewise.
29143 (reboot_mod_SOURCES): Likewise.
29144
c3db8364 29145 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
29146 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 29147 (reboot_mod_SOURCES): Likewise.
29148
29149 * commands/i386/pc/reboot.c: merge this file ...
29150
29151 * commands/ieee1275/reboot.c: ... and this file ...
29152
29153 * commands/reboot.c: ... to this file.
c3db8364 29154 Add some precompiler directive to include the correct header for
29155 each machine.
f714229e 29156
29157 * commands/ieee1275/halt.c: move this file ...
29158
29159 * commands/halt.c: ... to here.
c3db8364 29160 Add some precompiler directive to include the correct header for
29161 each machine.
f714229e 29162
29163 * include/grub/efi/efi.h (grub_reboot): New function declaration.
29164 (grub_halt): Likewise.
29165
29166 * kern/efi/efi.c (grub_reboot): New function.
29167 (grub_halt): Likewise.
29168
c74493e0 291692008-02-12 Robert Millan <rmh@aybabtu.com>
29170
29171 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
29172 /dev (like it is done for /dev/mapper). This doesn't provide support
29173 for EVMS, but at least it is now easy to identify the problem when it
29174 arises.
29175
d0db4b04 291762008-02-11 Robert Millan <rmh@aybabtu.com>
29177
29178 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
29179 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
29180 comparing it with -1, not 0.
29181
bf748642 291822008-02-10 Robert Millan <rmh@aybabtu.com>
29183
29184 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
29185 `disk/lvm.c'.
29186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29187 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29188
29189 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
29190 `disk/lvm.c' to the end of the list.
29191 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29192 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29193
b5db202a 291942008-02-10 Robert Millan <rmh@aybabtu.com>
29195
29196 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
29197 grub_print_error() instead. This will let user know why we're entering
29198 rescue mode.
29199 Based on suggestions from Sam Morris.
29200
83abee31 292012008-02-10 Alexandre Boeglin <alex@boeglin.org>
29202
29203 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
29204 on remaining N args, instead of "--" arg N times.
29205
78d5a08b 292062008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
29207
29208 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
29209 (fill_with_default_glyph): Changed to use unknown_glyph for fill
29210 pattern for unknown glyphs.
29211
68807e5f 292122008-02-09 Robert Millan <rmh@aybabtu.com>
29213
29214 * configure.ac: Probe for `help2man'.
29215 * Makefile.in (builddir): New variable.
29216 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
29217 or otherwise add a few flags/options to it.
29218 (install-local): For every executable utility or script that is
29219 installed, invoke $(HELP2MAN) to install a manpage based on --help
29220 output.
29221
29222 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
29223 that it doesn't prevent --help from working in build tree.
29224
29225 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
29226 with `bug-grub@gnu.org'.
29227 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
29228 * util/update-grub.in (usage): New function.
29229 Implement proper argument check, with support for --help and --version
29230 (as well as existing -y).
29231
292322008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 29233
29234 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
29235 avoid overwriting previous output.
29236 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
29237
c1962162 292382008-02-09 Robert Millan <rmh@aybabtu.com>
29239
29240 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
29241 drawing the menu.
29242
3dac2e3f 292432008-02-09 Robert Millan <rmh@aybabtu.com>
29244
29245 * commands/sleep.c: New file.
29246 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
29247 (sleep_mod_SOURCES): New variable.
29248 (sleep_mod_CFLAGS): Likewise.
29249 (sleep_mod_LDFLAGS): Likewise.
29250
7a634e08 292512008-02-09 Robert Millan <rmh@aybabtu.com>
29252
29253 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
29254 situations in which we can deduce the RAID size and the superblock
29255 doesn't match it.
29256
b92f0c18 292572008-02-09 Robert Millan <rmh@aybabtu.com>
29258
29259 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
29260 and return a grub_diskmemberlist_t composed of LVM physical volumes.
29261 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
29262
29263 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
29264 and return a grub_diskmemberlist_t composed of physical array members.
29265 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
29266
29267 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
29268 prototype.
29269 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
29270 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
29271 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
29272
29273 * util/grub-probe.c (probe): Move partmap probing code from here ...
29274 (probe_partmap): ... to here.
29275 (probe): Use probe_partmap() once for the disk we're probing, and
29276 additionally, when such disk contains a memberlist() struct member,
29277 once for each disk that is contained in the structure returned by
29278 memberlist().
29279
91a4bf68 292802008-02-09 Robert Millan <rmh@aybabtu.com>
29281
29282 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
29283 environment variable to 'all' in order to obtain debug output from
29284 non-util/ code.
29285 * util/i386/pc/grub-setup.c (main): Likewise.
29286
a96f9caa 292872008-02-08 Robert Millan <rmh@aybabtu.com>
29288
29289 * disk/raid.c (grub_raid_scan_device): Check for
29290 `array->device[sb.this_disk.number]' rather than for
29291 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 29292 guaranteed to be accessible.
a96f9caa 29293
b37a9222 292942008-02-08 Robert Millan <rmh@aybabtu.com>
29295
29296 * disk/raid.c: Update copyright.
29297 * fs/cpio.c: Likewise.
29298 * include/grub/raid.h: Likewise.
29299 * loader/i386/pc/multiboot.c: Likewise.
29300 * util/hostfs.c: Likewise.
29301
5626aee1 293022008-02-08 Robert Millan <rmh@aybabtu.com>
29303
29304 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
29305 to a grub_disk_t array.
29306 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
29307 `device[x]'.
29308 (grub_raid_scan_device): Replace `device[x].name' accesses with
29309 `device[x]->name'. Simplify initialization of `array->device[x]'.
29310
554f0187 293112008-02-08 Robert Millan <rmh@aybabtu.com>
29312
29313 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
29314 grub_dprintf() calls.
29315 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
29316 error message.
29317
1ec8425d 293182008-02-07 Christian Franke <franke@computer.org>
29319
29320 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
29321 instead of fseek and ftell to support large files.
29322 (grub_hostfs_read): Likewise.
29323
f2156fda 293242008-02-07 Robert Millan <rmh@aybabtu.com>
29325
29326 Patch from Jeroen Dekkers.
29327 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 29328 failure, since successfully reading all array members might not be
f2156fda 29329 required.
29330
9216e0e7 293312008-02-06 Robert Millan <rmh@aybabtu.com>
29332
29333 * util/grub-probe.c (probe): Simplify partmap probing (with the
29334 assumption that the first word up to the underscore equals to
29335 the module name).
29336
b0dfd29a 293372008-02-06 Christian Franke <franke@computer.org>
29338
29339 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
29340 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
29341 last block of a cpio or tar stream.
29342 Check for "TRAILER!!!" instead of any empty data
29343 block to detect last block of a cpio stream.
29344 (grub_cpio_dir): Fix constness of variable np.
29345 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
29346 cpio or tar trailer is detected. This fixes a crash
29347 on open of a non existing file.
29348
c32865bf 293492008-02-05 Bean <bean123ch@gmail.com>
29350
29351 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
29352 address of entry.
29353 (grub_multiboot_load_elf64): Likewise.
29354 (grub_multiboot): Initialize mbi structure.
29355
29356 * util/grub-fstest.c: Don't include unused header file script.h.
29357
fe6b695a 29358 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 29359 of file.
29360 (grub_fstest_SOURCES): Likewise.
29361
409480b7 293622008-02-05 Robert Millan <rmh@aybabtu.com>
29363
29364 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
29365 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
29366 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
29367 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
29368
29369 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
29370 (translation_table): Replace hardcoded values with macros
29371 provided by `<grub/term.h>'.
29372
29373 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
29374 (keyboard_map): Correct/add a few values, with macros provided
29375 by `<grub/term.h>'.
29376 (keyboard_map_shift): Zero values that don't differ from their
29377 `keyboard_map' equivalents.
29378 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
29379 Discard the second scan code that is always sent by Caps lock.
29380 Only use `keyboard_map_shift' when it provides a non-zero value,
29381 otherwise fallback to `keyboard_map'.
29382
99fadbaa 293832008-02-04 Bean <bean123ch@gmail.com>
29384
29385 * Makefile.in (enable_grub_fstest): New variable.
29386
29387 * conf/common.rmk (grub_fstest_init.lst): New rule.
29388 (grub_fstest_init.h): Likewise.
29389 (grub_fstest_init.c): Likewise.
29390 (util/grub-fstest.c_DEPENDENCIES): New variable.
29391 (grub_fstest_SOURCES): Likewise.
29392
29393 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
29394
29395 * util/grub-fstest.c: New file.
29396
bf567c50 293972008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29398
29399 Make grub-setup handle a separate root device.
f19dbdb7 29400
bf567c50 29401 * util/i386/pc/grub-setup.c (setup): Always open the root device,
29402 so that the root device can be compared with the destination
29403 device.
29404 When embedding the core image, if the root and destination devices
29405 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
29406 0xFF.
29407 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 29408
9be6b98b 294092008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29410
29411 Add support for having a grub directory in a different drive. This
29412 is still only the data handling part.
f19dbdb7 29413
9be6b98b 29414 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
29415 (codestart): Save %dh in GRUB_ROOT_DRIVE.
29416 (grub_root_drive): New variable.
29417
29418 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
29419 instead of GRUB_BOOT_DRIVE to construct a device name. Set
29420 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
29421 as it was.
29422
29423 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
29424
29425 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
29426 macro.
29427 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
29428
29429 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
29430 is bogus, because PXE booting does not specify any drive
29431 correctly.
29432
29433 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
29434 am not sure if this is really correct.
29435
29436 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
29437 is always identical to the boot drive when booting from a CD.
29438
29439 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
29440 longer.
29441 (root_drive): New variable.
29442 (real_start): Unconditionally set %dh to ROOT_DRIVE.
29443 (setup_sectors): Push %dx right after popping it, because %dh will
29444 be modified later.
29445 (copy_buffer): Restore %dx.
29446
e0ca0677 294472008-02-03 Robert Millan <rmh@aybabtu.com>
29448
29449 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
29450 use `cdboot.img' for cdrom images.
29451
3b3f6629 294522008-02-03 Robert Millan <rmh@aybabtu.com>
29453
29454 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
29455 only setup gfxterm when `font' command has succeeded.
29456
d42b3672 294572008-02-03 Robert Millan <rmh@aybabtu.com>
29458
29459 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
29460 (grub_rescue_cmd_multiboot_loader)
29461 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
29462
fa370ea6 294632008-02-03 Pavel Roskin <proski@gnu.org>
29464
e0c5dacb 29465 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 29466 %edx and %esi from stack only after grub_gate_a20() is called.
29467 grub_gate_a20() clobbers %edx.
29468
f2a76e1d 294692008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29470
29471 * configure.ac (AC_INIT): Bumped to 1.96.
29472
29473 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
29474 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
29475 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
29476 video/readers/png.c.
29477
90fd32d1 294782008-02-03 Bean <bean123ch@gmail.com>
9be665dd 29479
29480 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
29481 (cdboot_img_SOURCES): New variable.
29482 (cdboot_img_ASFLAGS): New variable.
29483 (cdboot_img_LDFLAGS): New variable.
29484
29485 * boot/i386/pc/cdboot.S: New file.
29486
29487 * disk/i386/pc/biosdisk.c (cd_start): New variable.
29488 (cd_count): Likewise.
29489 (grub_biosdisk_get_drive): Add support for cd device.
29490 (grub_biosdisk_call_hook): Likewise.
29491 (grub_biosdisk_iterate): Likewise.
29492 (grub_biosdisk_open): Likewise.
29493 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
29494 (grub_biosdisk_rw): Support reading from cd device.
29495 (GRUB_MOD_INIT): Iterate cd devices.
29496
29497 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
29498 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
29499 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
29500
29501 * kern/i386/pc/init.c (make_install_device): Check for cd device.
29502
4020aa53 295032008-02-02 Robert Millan <rmh@aybabtu.com>
29504
29505 * commands/read.c: New file.
29506 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
29507 (read_mod_SOURCES): New variable.
29508 (read_mod_CFLAGS): Likewise.
29509 (read_mod_LDFLAGS): Likewise.
29510
e03a1132 295112008-02-02 Robert Millan <rmh@aybabtu.com>
29512
29513 * normal/main.c (grub_normal_execute): Check for `menu->size' when
29514 determining whether menu has to be displayed.
29515
58c69220 295162008-02-02 Marco Gerards <marco@gnu.org>
29517
29518 * bus/pci.c: New file.
29519
29520 * include/grub/pci.h: Likewise.
29521
29522 * include/grub/i386/pc/pci.h: Likewise.
29523
29524 * commands/lspci.c: Likewise.
29525
29526 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
29527 `lspci.mod'.
29528 (pci_mod_SOURCES): New variable.
29529 (pci_mod_CFLAGS): Likewise.
29530 (pci_mod_LDFLAGS): Likewise.
29531 (lspci_mod_SOURCES): Likewise.
29532 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 29533 (lspci_mod_LDFLAGS): Likewise.
58c69220 29534
c004e1b4 295352008-02-02 Bean <bean123ch@gmail.com>
29536
29537 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
29538 (grub_ufs_get_file_block): Fix indirect block calculation problem.
29539
29540 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
29541 (grub_xfs_btree_node): New structure.
29542 (grub_xfs_btree_root): New structure.
29543 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
29544 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
29545 (GRUB_XFS_EXTENT_BLOCK): Likewise.
29546 (GRUB_XFS_EXTENT_SIZE): Likewise.
29547 (grub_xfs_read_block): Support btree format type.
29548 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
29549 Use directory block as basic unit.
29550
29551 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
29552
29553 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
29554 __attribute__ ((__regparm__ (1))).
29555
f95562bf 295562008-02-01 Robert Millan <rmh@aybabtu.com>
29557
29558 Correct a mistake in previous commit.
29559
29560 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
29561 top.
29562 (normal/command.c_DEPENDENCIES): New variable.
29563
7d31f41f 295642008-02-01 Robert Millan <rmh@aybabtu.com>
29565
29566 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
29567 top.
29568 (normal/command.c_DEPENDENCIES): New variable.
29569 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
29570 * conf/i386-ieee1275.rmk: Likewise.
29571 * conf/i386-linuxbios.rmk: Likewise.
29572 * conf/i386-pc.rmk: Likewise.
29573 * conf/sparc64-ieee1275.rmk: Likewise.
29574 * conf/powerpc-ieee1275.rmk: Likewise.
29575 (grub_emu_SOURCES): Add `fs/fshelp.c'.
29576
29577 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
29578
60b6be74 295792008-02-01 Robert Millan <rmh@aybabtu.com>
29580
29581 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
29582 call at beginning of function.
29583
078522ab 295842008-01-31 Pavel Roskin <proski@gnu.org>
29585
29586 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 29587 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
29588 (grub_mkrescue_SOURCES): Likewise.
078522ab 29589 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
29590
ccaa8a5f 295912008-01-30 Robert Millan <rmh@aybabtu.com>
29592
29593 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
29594 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
29595 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
29596 (grub_probe_SOURCES): ... to here.
29597
29598 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
29599 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
29600 * conf/i386-ieee1275.rmk: Likewise.
29601 * conf/i386-linuxbios.rmk: Likewise.
29602 * conf/powerpc-ieee1275.rmk: Likewise.
29603
ae5a9cd7 296042008-01-30 Tristan Gingold <gingold@free.fr>
29605
29606 * kern/rescue.c: Silently accept empty lines.
29607
70bc2ef2 296082008-01-29 Bean <bean123ch@gmail.com>
29609
29610 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
29611 (real_code_2): Code cleanup and change comment style.
29612 (move_memory): Avoid using 32-bit address mode.
29613
6a4d50ea 296142008-01-29 Bean <bean123ch@gmail.com>
29615
29616 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
29617 (png_mod_SOURCES): New variable.
29618 (png_mod_CFLAGS): Likewise.
29619 (png_mod_LDFLAGS): Likewise.
29620
29621 * video/readers/png.c: New file.
29622
11cc30ac 296232008-01-28 Robert Millan <rmh@aybabtu.com>
29624
29625 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
29626 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
29627 `ifndef GRUB_MOD_GAP' hack.
29628 * util/elf/grub-mkimage.c (add_segments): Likewise.
29629
3abc589f 296302008-01-27 Robert Millan <rmh@aybabtu.com>
29631
29632 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
29633 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 29634 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 29635
e1907778 296362008-01-27 Robert Millan <rmh@aybabtu.com>
29637
29638 Get grub-emu to build again (including parallel builds).
29639
29640 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
29641 Split into ...
29642 (util/grub-emu.c_DEPENDENCIES): ... this, ...
29643 (normal/execute.c_DEPENDENCIES): ... this, ...
29644 (grub-emu_DEPENDENCIES): ... and this.
29645
29646 * conf/i386-efi.rmk: Likewise.
29647 * conf/i386-linuxbios.rmk: Likewise.
29648 * conf/i386-ieee1275.rmk: Likewise.
29649 * conf/powerpc-ieee1275.rmk: Likewise.
29650 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
29651
2216b101 296522008-01-27 Robert Millan <rmh@aybabtu.com>
29653
29654 * NEWS: Add a few items.
29655
f75172d9 296562008-01-27 Robert Millan <rmh@aybabtu.com>
29657
29658 Fix parallel builds with grub-emu. Based on earlier commit for
29659 grub-probe and grub-setup.
29660
29661 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29662 (util/grub-emu.c_DEPENDENCIES): ... this.
29663 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29664 (util/grub-emu.c_DEPENDENCIES): ... this.
29665 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29666 (util/grub-emu.c_DEPENDENCIES): ... this.
29667 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29668 (util/grub-emu.c_DEPENDENCIES): ... this.
29669 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29670 (util/grub-emu.c_DEPENDENCIES): ... this.
29671
3f51de77 296722008-01-27 Pavel Roskin <proski@gnu.org>
29673
29674 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
29675 to create a gap between _end and the modules added to the image
29676 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
29677 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
29678 * util/elf/grub-mkimage.c (add_segments): Likewise.
29679
2033f53e 296802008-01-26 Pavel Roskin <proski@gnu.org>
29681
29682 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
29683 just return an error.
29684
22da1f6f 296852008-01-26 Bean <bean123ch@gmail.com>
29686
29687 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
29688 (grub_reiserfs_get_item): Save offset of the next item.
29689 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
29690
2a9525e6 296912008-01-25 Robert Millan <rmh@aybabtu.com>
29692
29693 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
29694 make all filesystem sources appear together (possibly fixing omissions
29695 while at it).
29696 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29698 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29700
29701 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
29702 add `kern/file.c'.
29703 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
29704 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29705 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
29706 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29707
29708 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
29709 (probe): Add a sanity check to make sure of our ability to read
29710 requested files when probing for filesystem type.
29711
29712 * genmk.rb: Update copyright year (2007).
29713
29714 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
29715 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
29716 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
29717 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
29718 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
29719 : Remove function prototypes.
29720
b95f71b5 297212008-01-25 Robert Millan <rmh@aybabtu.com>
29722
29723 Revert my previous commits (based on wrong assumption of how grub_errno
29724 works).
29725
fe6b695a 29726 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 29727 * kern/file.c (grub_file_open): Likewise.
29728
d08bbb49 297292008-01-24 Pavel Roskin <proski@gnu.org>
29730
29731 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
29732 that hang if GRUB tries to setup colors.
29733 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
29734 colors for firmwares that don't support it.
29735 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
29736 Recognize Open Hack'Ware, set flags to work around its
29737 limitations.
29738
605e36ed 297392008-01-24 Robert Millan <rmh@aybabtu.com>
29740
29741 * kern/file.c (grub_file_open): Do not account previous failures of
29742 unrelated functions when grub_errno is checked for.
29743 Reported by Oleg Strikov.
29744
bac332a1 297452008-01-24 Bean <bean123ch@gmail.com>
29746
29747 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
29748 (grub_ufs_sblock): New member volume name.
29749 (grub_ufs_find_file): Fix string copy bug.
29750 (grub_ufs_label): Implement this function properly.
29751
29752 * fs/hfs.c (grub_hfs_cnid_type): New enum.
29753 (grub_hfs_iterate_records): Use the correct file number for extents
29754 and catalog file. Fix problem in next index calculation.
29755 (grub_hfs_find_node): Replace recursive function call with loop.
29756 (grub_hfs_iterate_dir): Replace recursive function call with loop.
29757
15c80c09 297582008-01-23 Robert Millan <rmh@aybabtu.com>
29759
29760 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
29761 `<grub/symbol.h>' and `<grub/multiboot.h>'.
29762 (grub_multiboot2_real_boot): New function prototype.
29763
29764 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
29765 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
29766
29767 * kern/i386/ieee1275/init.c (grub_os_area_addr)
29768 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
29769
305338fd 297702008-01-23 Robert Millan <rmh@aybabtu.com>
29771
29772 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
29773 #ifdef'ed out grub_printf().
29774
3ea52685 297752008-01-23 Robert Millan <rmh@aybabtu.com>
29776
29777 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
29778 grub_dprintf calls, since they make "debug=all" mode unusable.
29779 (grub_console_checkkey): Likewise.
29780
5882ae4b 297812008-01-23 Robert Millan <rmh@aybabtu.com>
29782
29783 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29784 `term/i386/pc/at_keyboard.c'.
29785 (pkglib_MODULES): Add `serial.mod'.
29786 (serial_mod_SOURCES): New variable.
29787 (serial_mod_CFLAGS): Likewise.
29788 (serial_mod_LDFLAGS): Likewise.
29789
29790 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
29791 `<grub/powerpc/ieee1275/console.h>'.
29792 (grub_keyboard_controller_init): New function prototype.
29793 (grub_console_checkkey): Likewise.
29794 (grub_console_getkey): Likewise.
29795
29796 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
29797 keyboard on i386.
29798
29799 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
29800 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
29801
06ab5303 298022008-01-23 Robert Millan <rmh@aybabtu.com>
29803
29804 * kern/i386/pc/init.c (make_install_device): When memdisk image is
29805 present, "(memdisk)/boot/grub" becomes the default prefix.
29806
29807 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
29808 a memdisk tarball with all the modules. Add --overlay=DIR option that
29809 allows users to overlay additional files into the image.
29810
dbb475a4 298112008-01-23 Robert Millan <rmh@aybabtu.com>
29812
29813 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
29814 and `machine/memory.h'.
29815 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
29816 (_multiboot_mod_SOURCES): New variable.
29817 (_multiboot_mod_CFLAGS): Likewise.
29818 (_multiboot_mod_LDFLAGS): Likewise.
29819 (multiboot_mod_SOURCES): Likewise.
29820 (multiboot_mod_CFLAGS): Likewise.
29821 (multiboot_mod_LDFLAGS): Likewise.
29822
29823 * include/grub/i386/ieee1275/loader.h: New file.
29824
29825 * include/grub/i386/ieee1275/machine.h: Likewise.
29826
29827 * include/grub/i386/ieee1275/memory.h: Likewise.
29828
29829 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
29830 variable declaration.
29831 (grub_os_area_size): Likewise.
29832
29833 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
29834 (grub_lower_mem, grub_upper_mem): New variables.
29835 (grub_stop_floppy): New function (just to make
29836 grub_multiboot2_real_boot() happy).
29837
29838 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
29839 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
29840 (grub_stop): New function.
29841 Include `"../realmode.S"' and `"../loader.S"'.
29842
29843 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
29844 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
29845
29846 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
29847 rely on grub_multiboot2_real_boot() for final boot.
29848
25638629 298492008-01-22 Robert Millan <rmh@aybabtu.com>
29850
29851 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
29852 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
29853 device that doesn't look like an SD card.
29854 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29855 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
29856 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
29857 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
29858 found.
29859
9dad816d 298602008-01-22 Robert Millan <rmh@aybabtu.com>
29861
29862 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
29863 avoid claiming over our own code.
29864
34842f2d 298652008-01-22 Bean <bean123ch@gmail.com>
29866
29867 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
29868 (jpeg_mod_SOURCES): New variable.
29869 (jpeg_mod_CFLAGS): Likewise.
29870 (jpeg_mod_LDFLAGS): Likewise.
29871
29872 * video/readers/jpeg.c : New file.
29873
44023a28 298742008-01-22 Bean <bean123ch@gmail.com>
29875
29876 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
29877 there are no more items.
29878
bc2d8ac6 298792008-01-21 Robert Millan <rmh@aybabtu.com>
29880
29881 * kern/mm.c (grub_mm_init_region): Improve debug message.
29882
261bd4bc 298832008-01-21 Robert Millan <rmh@aybabtu.com>
29884
29885 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
29886 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
29887 address.
29888 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
29889 a C macro.
29890 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
29891 Indicates start of upper memory.
29892 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
29893 (generate_image): Abort when image size is big enough to corrupt
29894 upper memory.
29895
29896 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
29897 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
29898 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29899 instead of hardcoding 0xA0000.
29900 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
29901 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29902 instead of hardcoding 0xA0000.
29903
f970b55e 299042008-01-21 Robert Millan <rmh@aybabtu.com>
29905
29906 * disk/memdisk.c (memdisk_size): New variable.
29907 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
29908 `memdisk_size'.
29909 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
29910 image to dynamic memory.
29911 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
29912 `memdisk_size'. Free memdisk block.
29913
1a8b0526 299142008-01-21 Robert Millan <rmh@aybabtu.com>
29915
29916 Fix detection of very small filesystems (like tar).
29917
29918 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
29919 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
29920 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
29921 a problem with this disk).
29922
6e9b4aab 299232008-01-21 Robert Millan <rmh@aybabtu.com>
29924
29925 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
29926 on grub_biosdisk_rw_standard() error.
29927
0d8837b2 299282008-01-21 Robert Millan <rmh@aybabtu.com>
29929
29930 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
29931 recent changes.
29932 * kern/elf.c: Likewise.
29933 * kern/ieee1275/ieee1275.c: Likewise.
29934 * kern/powerpc/ieee1275/openfw.c: Likewise.
29935 * term/ieee1275/ofconsole.c: Likewise.
29936
ffd36e34 299372008-01-21 Robert Millan <rmh@aybabtu.com>
29938
29939 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
29940
3f0093d0 29941 * include/grub/kernel.h (grub_arch_memdisk_addr)
29942 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 29943
3f0093d0 29944 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
29945 (grub_arch_memdisk_size): ... to here.
ffd36e34 29946
6c391b21 299472008-01-21 Robert Millan <rmh@aybabtu.com>
29948
29949 Mostly based on bugfix from Bean.
29950
29951 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
29952 attribute with hook() parameter.
29953 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
29954 declaration.
29955 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
29956 attribute with hook() parameter.
29957 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
29958 declaration.
29959
55a581dc 299602008-01-21 Robert Millan <rmh@aybabtu.com>
29961
29962 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
29963 (pkglib_MODULES): Add `memdisk.mod'.
29964 (memdisk_mod_SOURCES): New variable.
29965 (memdisk_mod_CFLAGS): Likewise.
29966 (memdisk_mod_LDFLAGS): Likewise.
29967
29968 * disk/memdisk.c: New file.
29969
29970 * include/grub/disk.h (grub_disk_dev_id): Add
29971 `GRUB_DISK_DEVICE_MEMDISK_ID'.
29972
29973 * include/grub/i386/pc/kernel.h
29974 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
29975 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
29976 (grub_kernel_image_size): New variable declaration.
29977 (grub_total_module_size): Likewise.
29978 (grub_memdisk_image_size): Likewise.
29979
29980 * include/grub/i386/pc/memory.h
29981 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
29982
29983 * include/grub/kernel.h: Include `<grub/symbol.h>'.
29984 (grub_arch_memdisk_addr): New variable declaration.
29985 (grub_arch_memdisk_size): Likewise.
29986
29987 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
29988 (grub_arch_memdisk_size): Likewise.
29989
29990 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
29991 (codestart): Replace hardcoded `0x100000' with
29992 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
29993
29994 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
29995 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
29996 not NULL, append the contents of the file it refers to, at the end of
29997 the compressed kernel image. Initialize `grub_memdisk_image_size'
29998 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
29999 (options): Add "memdisk"|'m' option.
30000 (main): Parse --memdisk|-m option, and pass user-provided path as
30001 parameter to generate_image().
30002
3d7f54c9 300032008-01-20 Robert Millan <rmh@aybabtu.com>
30004
30005 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
30006 grub_dprintf() calls from here ...
30007 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
30008
0bf74728 300092008-01-20 Robert Millan <rmh@aybabtu.com>
30010
30011 Fix detection of "real mode" when /options/real-mode? doesn't exist.
30012
30013 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
30014 declaration.
30015 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
30016 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
30017 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 30018 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 30019 property).
30020 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
30021 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
30022
33bf70a7 300232008-01-19 Robert Millan <rmh@aybabtu.com>
30024
fe6b695a 30025 Get rid of confusing function (superseded by
33bf70a7 30026 `grub_ieee1275_get_integer_property')
30027 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
30028 prototype.
30029 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
30030 function.
30031 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
30032 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 30033 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 30034
e2da7d26 300352008-01-19 Robert Millan <rmh@aybabtu.com>
30036
30037 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
30038 command after "shut-down", since implementations differ on which
30039 the command for halt is.
30040
59f1fd8d 300412008-01-19 Robert Millan <rmh@aybabtu.com>
30042
30043 * include/grub/i386/linuxbios/console.h: Add header protection.
30044 (grub_keyboard_controller_init): New function prototype.
30045 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
30046 (KEYBOARD_COMMAND_READ): Likewise.
30047 (KEYBOARD_COMMAND_WRITE): Likewise.
30048 (KEYBOARD_SCANCODE_SET1): Likewise.
30049 (grub_keyboard_controller_write): New function.
30050 (grub_keyboard_controller_read): Likewise.
30051 (grub_keyboard_controller_init): Likewise.
30052
30053 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
30054 (grub_console_init): On coreboot/LinuxBIOS, call
30055 grub_keyboard_controller_init().
30056
5f5a7c15 300572008-01-19 Robert Millan <rmh@aybabtu.com>
30058
30059 PowerPC changes provided by Pavel Roskin.
30060
30061 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
30062 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
30063 don't rely on cmain() doing it.
30064 * kern/i386/ieee1275/startup.S (_start): Store %eax in
30065 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
30066
1210e168 300672008-01-16 Robert Millan <rmh@aybabtu.com>
30068
30069 * include/grub/i386/linuxbios/memory.h
30070 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
30071 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
30072 receive `table_header' as argument. Instead, probe for it in the
30073 known memory ranges where it can be present.
30074 (grub_available_iterate): Do not pass a fixed `table_header' address
30075 to grub_linuxbios_table_iterate().
30076
3d04eab8 300772008-01-15 Robert Millan <rmh@aybabtu.com>
30078
30079 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
30080 * conf/i386-ieee1275.rmk: New file.
30081 * include/grub/i386/ieee1275/console.h: Likewise.
30082 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
30083 * include/grub/i386/ieee1275/kernel.h: Likewise.
30084 * include/grub/i386/ieee1275/time.h: Likewise.
30085 * kern/i386/ieee1275/init.c: Likewise.
30086 * kern/i386/ieee1275/startup.S: Likewise.
30087
d1bc1b73 300882008-01-15 Robert Millan <rmh@aybabtu.com>
30089
30090 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
30091 when pointers are 32-bit (but still do set it to one when they are
30092 64-bit).
30093
66a65807 300942008-01-15 Robert Millan <rmh@aybabtu.com>
30095
30096 * include/grub/ieee1275/ieee1275.h
30097 (grub_ieee1275_get_integer_property): New function prototype.
30098
30099 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
30100 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 30101 grub_ieee1275_get_property() to handle endianness.
66a65807 30102
30103 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
30104 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 30105 where appropriate.
66a65807 30106 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
30107 (grub_map): Likewise.
30108 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
30109
a83ccafd 301102008-01-15 Bean <bean123ch@gmail.com>
30111
30112 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
30113 (grub_script_execute_cmdline): Reset grub_errno.
30114
30115 * normal/main.c (read_config_file): Reset grub_errno.
30116
30117 * normal/parse.y (script_init): New.
30118 (script): Move function and menuentry here.
30119 (delimiter): New.
30120 (command): Add delimiter at the end of command.
30121 (commands): Adjust to match the new command.
30122 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 30123 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 30124 (if): Use the new commands.
30125
30126 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
30127
df6ecfc6 301282008-01-15 Robert Millan <rmh@aybabtu.com>
30129
30130 * normal/menu.c (run_menu): Move timeout message from here ...
30131 (print_timeout): ... to here.
30132 (run_menu): Use print_timeout() once during initial draw to print
30133 the whole message, and again in every clock tick to update only
30134 the number of seconds.
30135
87ae25eb 301362008-01-15 Robert Millan <rmh@aybabtu.com>
30137
30138 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
30139 actual size of `available' from grub_ieee1275_get_property(), and
30140 restrict parsing to that bound.
30141
47bf09a4 301422008-01-15 Christian Franke <franke@computer.org>
30143
30144 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
30145 (argp_program_version): Remove variable.
30146 (argp_program_bug_address): Likewise.
30147 (options): Convert from struct argp_option to struct option.
30148 (struct arguments): Remove.
30149 (parse_opt): Remove.
30150 (usage): New function.
30151 (main): Replace struct args members by simple variables.
30152 Replace argp_parse() by getopt_long().
30153 Add switch to evaluate options.
30154 Add missing "(...)" around root_dev in prefix string.
30155
c86f1469 301562008-01-14 Robert Millan <rmh@aybabtu.com>
30157
30158 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
30159 for grub_ieee1275_exit(), in order to improve portability.
30160
e622c559 301612008-01-14 Robert Millan <rmh@aybabtu.com>
30162
30163 * util/grub.d/10_linux.in (prefix): Define.
30164 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
30165
44cb1ec8 301662008-01-13 Pavel Roskin <proski@gnu.org>
30167
30168 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
30169 grub_errno if no errors have been detected.
30170
1eb8c802 301712008-01-12 Robert Millan <rmh@aybabtu.com>
30172
30173 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
30174 (grub_util_get_dev_abstraction): New function prototype.
30175
30176 * util/getroot.c: Include `<grub/util/getroot.h>'
30177 (grub_util_get_grub_dev): Move detection of abstraction type to ...
30178 (grub_util_get_dev_abstraction): ... here (new function).
30179
30180 * util/grub-probe.c: Convert PRINT_* to an enum. Add
30181 `PRINT_ABSTRACTION'.
30182 (probe): Probe for abstraction type when requested.
30183 (main): Understand `--target=abstraction'.
30184
30185 * util/i386/efi/grub-install.in: Add abstraction module to core
30186 image when it is found to be necessary.
30187 * util/i386/pc/grub-install.in: Likewise.
30188 * util/powerpc/ieee1275/grub-install.in: Likewise.
30189
30190 * util/update-grub_lib.in (font_path): Return system path without
30191 converting to GRUB path.
30192 * util/update-grub.in: Convert system path returned by font_path()
30193 to a GRUB path. Use `grub-probe -t abstraction' to determine what
30194 abstraction module is needed for loading fonts (if any). Export
30195 that as `GRUB_PRELOAD_MODULES'.
30196 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
30197 insmod commands).
30198
52bd3de9 301992008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
30200
30201 Remove some unused code from reiserfs.
f19dbdb7 30202
52bd3de9 30203 * fs/reiserfs.c (struct grub_reiserfs_key)
30204 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
30205 (struct grub_reiserfs_node_body): Removed.
30206 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30207 Likewise.
30208 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30209 Likewise.
30210 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30211 Likewise.
30212 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30213 Likewise.
30214 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30215 Likewise.
30216 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
30217 Likewise.
30218 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30219 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30220 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30221
2f80039d 302222008-01-10 Robert Millan <rmh@aybabtu.com>
30223
30224 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
30225 Determines if a file is garbage left by packaging systems, etc.
30226 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
30227 for processing /etc/grub.d scripts.
30228 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
30229 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
30230 as a condition for processing Linux images.
30231
87888032 302322008-01-10 Pavel Roskin <proski@gnu.org>
30233
30234 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
30235 to compile reiserfs.c on PowerPC.
30236
7e54fced 302372008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 30238
30239 * kern/device.c (grub_device_iterate): Do not abort device iteration
30240 when one of the devices cannot be opened.
30241 * kern/disk.c (grub_disk_open): Do not account previous failures of
30242 unrelated functions when grub_errno is checked for.
30243
5aa541e6 302442008-01-08 Robert Millan <rmh@aybabtu.com>
30245
30246 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
30247 `! grub_linux_is_bzimage', change order of address comparison to make
30248 it more intuitive, and improve "too big zImage" error message.
30249
7076340d 302502008-01-08 Robert Millan <rmh@aybabtu.com>
30251
30252 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
30253 `$(update-grub_DATA)'.
30254 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
30255 targets.
30256
9ca70333 302572008-01-07 Robert Millan <rmh@aybabtu.com>
30258
30259 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
30260 which instruction is modified by grub-setup during installation
30261 (since it wasn't obvious by only looking at this file).
30262
38ccf575 302632008-01-07 Robert Millan <rmh@aybabtu.com>
30264
30265 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
30266 listing actual TODO items.
30267
f5db4291 302682008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30269
868967cf 30270 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
30271 correctly.
30272 (grub_reiserfs_get_key_offset): Likewise.
30273 (grub_reiserfs_set_key_offset): Likewise.
30274 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 30275 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 30276
30277 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
30278 better to remove the bitfield version completely.
f19dbdb7 30279
868967cf 302802008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30281
f5db4291 30282 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
30283 allocated from the heap, due to the fshelp implementation.
30284 (grub_reiserfs_dir): Free NODE, due to the same reason.
30285
492e6d9d 302862008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30287
30288 Mostly from Vincent Pelletier:
f19dbdb7 30289
492e6d9d 30290 * fs/reiserfs.c: New file.
f19dbdb7 30291
492e6d9d 30292 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
30293 (reiserfs_mod_SOURCES): New variable.
30294 (reiserfs_mod_CFLAGS): Likewise.
30295 (reiserfs_mod_LDFLAGS): Likewise.
30296
30297 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
30298 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
30299 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
30300 normal/color.c.
30301
9ce3e7c1 303022008-01-06 Robert Millan <rmh@aybabtu.com>
30303
30304 * normal/color.c: Remove `<grub/env.h>'.
30305
f3b58148 303062008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
30307
30308 * include/grub/normal.h: Include <grub/env.h>.
30309
7ac3bcfa 303102008-01-05 Robert Millan <rmh@aybabtu.com>
30311
30312 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
30313 usage example with `(hd0,1)'.
fb358190 30314 Reported by Samuel Thibault.
7ac3bcfa 30315
c8ee99d7 303162008-01-05 Robert Millan <rmh@aybabtu.com>
30317
30318 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
30319 (grub_linux_boot_zimage): Rename to ...
30320 (grub_linux_boot): ... this.
30321 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
30322 (grub_linux_boot_zimage): Conditionalize zImage copy.
30323
30324 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
30325 (grub_linux_boot_bzimage): Remove prototype.
30326 (grub_linux_boot_zimage): Rename to ...
30327 (grub_linux_boot): ... this.
30328
30329 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
30330 (grub_linux_boot): Remove function.
30331
0ece25b1 303322008-01-05 Robert Millan <rmh@aybabtu.com>
30333
30334 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
30335 (grub_env_write_color_highlight): Likewise.
30336 (grub_wait_after_message): Likewise.
30337
30338 * normal/color.c: New file.
30339
30340 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30341 (normal_mod_DEPENDENCIES): Likewise.
30342
30343 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30344 (normal_mod_DEPENDENCIES): Likewise.
30345
30346 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30347 (normal_mod_DEPENDENCIES): Likewise.
30348
30349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30350 (normal_mod_DEPENDENCIES): Likewise.
30351
30352 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
30353 for waiting after a message is printed.
30354 * normal/main.c (read_config_file): Likewise.
30355 (grub_normal_init): Register grub_env_write_color_normal() and
30356 grub_env_write_color_highlight() hooks. Mark `color_normal' and
30357 `color_highlight' variables as global.
30358
30359 * normal/menu.c (grub_wait_after_message): New function.
30360 (grub_color_menu_normal): New variable. Replaces ...
30361 (GRUB_COLOR_MENU_NORMAL): ... this macro.
30362 (grub_color_menu_highlight): New variable. Replaces ...
30363 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
30364 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
30365 `GRUB_TERM_COLOR_STANDARD'.
30366 (print_message): Use `grub_setcolorstate' to reload colors. Rename
30367 `normal_code' and `highlight_code' to `old_color_normal' and
30368 `old_color_highlight', respectively.
30369 (grub_menu_init_page): Update colors when drawing the menu, based on
30370 `menu_color_normal' and `menu_color_highlight' variables.
30371 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
30372 a message is printed.
30373
182dd4e5 303742008-01-05 Robert Millan <rmh@aybabtu.com>
30375
30376 * kern/env.c (grub_env_context_open): Propagate hooks for global
30377 variables to new context.
30378
30379 * kern/main.c (grub_set_root_dev): Export `root' variable.
30380
ddf8f6ad 303812008-01-05 Robert Millan <rmh@aybabtu.com>
30382
30383 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 30384 discs unconditionally, since udev and others have options to provide
ddf8f6ad 30385 them.
30386
d8b43d9b 303872008-01-05 Robert Millan <rmh@aybabtu.com>
30388
30389 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
30390
2bff2de3 303912008-01-04 Christian Franke <franke@computer.org>
30392
30393 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
30394 of eisa_mmap.
30395
97eab917 303962008-01-03 Pavel Roskin <proski@gnu.org>
30397
30398 * kern/i386/linuxbios/init.c: Put "void" to all function
30399 declarations with no arguments.
30400 * kern/powerpc/ieee1275/init.c: Likewise.
30401 * term/i386/pc/at_keyboard.c: Likewise.
30402 * term/i386/pc/vga_text.c: Likewise.
30403 * util/grub-mkdevicemap.c: Likewise.
30404
b9416d00 304052008-01-02 Robert Millan <rmh@aybabtu.com>
30406
30407 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
30408 message when loaded image is out of bounds.
30409 (grub_multiboot_load_elf64): Likewise.
30410
92695df9 304112008-01-02 Pavel Roskin <proski@gnu.org>
30412
30413 * util/grub.d/10_linux.in: Try version without ".old" when
30414 looking for initrd. It's better to use initrd from the newer
30415 kernel of the same version than no initrd at all.
30416
d98d9cad 304172008-01-01 Robert Millan <rmh@aybabtu.com>
30418
30419 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
30420
dbfdce36 304212008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
30422
f19dbdb7 30423 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 30424 grub_video_get_active_render_target.
30425 (grub_video_adapter): Added unmap_color and get_active_render_target.
30426
f19dbdb7 30427 * video/video.c: Added grub_video_unmap_color and
dbfdce36 30428 grub_video_get_active_render_target.
30429 (grub_video_get_info): Changed method to accept NULL pointer as an
30430 argument to allow detection of active video adapter.
30431
30432 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
30433 grub_video_vbe_unmap_color_int.
30434 Added grub_video_vbe_unmap_color and
30435 grub_video_vbe_get_active_render_target.
30436 (grub_video_vbe_adapter): Added unmap_color and
30437 get_active_render_target.
30438
f19dbdb7 30439 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 30440 with grub_video_vbe_unmap_color_int.
30441
30442 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
30443 (DEFAULT_NORMAL_COLOR): Likewise.
30444 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
30445 (DEFAULT_FG_COLOR): Removed.
30446 (DEFAULT_BG_COLOR): Likewise.
30447 (DEFAULT_CURSOR_COLOR): Changed value.
30448 (grub_virtual_screen): Added standard_color_setting,
30449 normal_color_setting, highlight_color_setting and term_color.
30450 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
30451 (bitmap_width): Added.
30452 (bitmap_height): Likewise.
30453 (bitmap): Likewise.
30454 (set_term_color): Likewise.
30455 (grub_virtual_screen_setup): Changed to use new terminal coloring
30456 settings.
30457 (grub_gfxterm_init): Added init for bitmap.
30458 (grub_gfxterm_fini): Added destroy for bitmap.
30459 (redraw_screen_rect): Updated to use background bitmap and new
30460 terminal coloring.
30461 (scroll_up): Added optimization for case when there is no bitmap.
30462 (grub_gfxterm_cls): Fixed to use correct background color.
30463 (grub_virtual_screen_setcolorstate): Changed to use new terminal
30464 coloring.
30465 (grub_virtual_screen_setcolor): Likewise.
30466 (grub_virtual_screen_getcolor): Added.
30467 (grub_gfxterm_background_image_cmd): Likewise.
30468 (grub_video_term): Added setcolor and getcolor.
30469 (MOD_INIT): Added registration of background_image command.
30470 (MOD_TERM): Added unregistration for background_image command.
30471
c3c20931 304722007-12-30 Pavel Roskin <proski@gnu.org>
30473
30474 * loader/multiboot_loader.c: Fix multiboot command
30475 unregistration. Fix all typos in the word "multiboot".
30476
df266716 304772007-12-29 Pavel Roskin <proski@gnu.org>
94239199 30478
30479 * util/grub.d/10_linux.in: Refactor search for initrd. Add
30480 support for initrd names used in Fedora.
30481
fc6e896c 304822007-12-26 Bean <bean123ch@gmail.com>
30483
30484 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
30485 (cpio_mod_SOURCES): New variable.
30486 (cpio_mod_CFLAGS): Likewise.
30487 (cpio_mod_LDFLAGS): Likewise.
30488
30489 * fs/cpio.c: New file.
30490
30491 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
30492
30493 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30494
30495 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30496
30497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30498
533110ad 304992007-12-25 Robert Millan <rmh@aybabtu.com>
30500
30501 * include/grub/term.h (struct grub_term): Add `getcolor' function.
30502 (grub_getcolor): New function.
30503
30504 * kern/term.c (grub_getcolor): New function.
30505 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
30506 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
30507 (print_entry): Set normal and highlight colors to
30508 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
30509 respectively, before printing and restore them to old
30510 values afterwards.
30511 (grub_menu_init_page): Likewise. Fill an additional colored space
30512 that would otherwise be left blank.
30513
30514 * term/efi/console.c (grub_console_getcolor): New function.
30515 (struct grub_console_term.getcolor): New variable.
30516 * term/i386/pc/console.c (grub_console_getcolor): New function.
30517 (struct grub_console_term.getcolor): New variable.
30518 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
30519 (struct grub_console_term.getcolor): New variable.
30520
30521 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
30522 (struct grub_console_term.setcolor): Remove variable.
30523 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
30524 (struct grub_console_term.setcolor): Remove variable.
30525 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
30526 (struct grub_console_term.setcolor): Remove variable.
30527 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
30528 (struct grub_console_term.setcolor): Remove variable.
30529
4931827f 305302007-12-25 Robert Millan <rmh@aybabtu.com>
30531
30532 * configure.ac: Search for possible unifont.hex locations, and
30533 define UNIFONT_HEX if found.
30534
30535 * Makefile.in (UNIFONT_HEX): Define variable.
30536 (DATA): Rename to ...
30537 (PKGLIB): ... this. Update all users.
30538 (PKGDATA): New variable.
30539 (pkgdata_IMAGES): Rename to ...
30540 (pkglib_IMAGES): ... this. Update all users.
30541 (pkgdata_MODULES): Rename to ...
30542 (pkglib_MODULES): ... this. Update all users.
30543 (pkgdata_PROGRAMS): Rename to ...
30544 (pkglib_PROGRAMS): ... this. Update all users.
30545 (pkgdata_DATA): Rename to ...
30546 (pkglib_DATA): ... this. Update all users.
30547 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
30548 (unicode.pff, ascii.pff): New rules.
30549 (all-local): Add `$(PKGDATA)' dependency.
30550 (install-local): Process `$(PKGDATA)'.
30551
30552 * util/update-grub_lib.in (font_path): Search for *.pff files in
30553 a few more locations, including `${pkgdata}'.
30554
57e57e31 305552007-12-23 Robert Millan <rmh@aybabtu.com>
30556
30557 Patch from Bean <bean123ch@gmail.com>:
30558 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
30559 `size'.
30560
4bc72aa9 305612007-12-21 Bean <bean123ch@gmail.com>
30562
30563 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
30564 (ntfscomp_mod_SOURCES): New variable.
30565 (ntfscomp_mod_CFLAGS): Likewise.
30566 (ntfscomp_mod_LDFLAGS): Likewise.
30567
30568 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
30569 (grub_probe_SOURCES): Likewise.
30570 (grub_emu_SOURCES): Likewise.
30571
30572 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30573 (grub_emu_SOURCES): Likewise.
30574
30575 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30576 (grub_emu_SOURCES): Likewise.
30577
30578 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30579 (grub_emu_SOURCES): Likewise.
30580
30581 * fs/ntfs.c (grub_ntfscomp_func): New variable.
30582 (read_run_list): Renamed to grub_ntfs_read_run_list.
30583 (decomp_nextvcn): Moved to ntfscomp.c.
30584 (decomp_getch): Likewise.
30585 (decomp_get16): Likewise.
30586 (decomp_block): Likewise.
30587 (read_block): Likewise.
30588 (read_data): Partially moved to ntfscomp.c.
30589 (fixup): Change unsigned to grub_uint16_t.
30590 (read_mft): Change unsigned long to grub_uint32_t.
30591 (read_attr): Likewise.
30592 (read_data): Likewise.
30593 (read_run_data): Likewise.
30594 (read_run_list): Likewise.
30595 (read_mft): Likewise.
30596
30597 * fs/ntfscomp.c: New file.
30598
30599 * include/grub/ntfs.h: New file.
30600
af680a87 306012007-12-16 Robert Millan <rmh@aybabtu.com>
30602
30603 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
30604 IDE disk check, since Linux is known to support 20 IDE disks.
30605 Reported by Colin Watson.
30606
84be7599 306072007-12-15 Bean <bean123ch@gmail.com>
30608
30609 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
30610 (lnxboot_img_SOURCES): New variable.
30611 (lnxboot_img_ASFLAGS): Likewise.
30612 (lnxboot_img_LDFLAGS): Likewise.
30613
30614 * boot/i386/pc/lnxboot.S: New file.
30615
6af9db01 306162007-11-24 Pavel Roskin <proski@gnu.org>
30617
30618 * configure.ac: Test if '--build-id=none' is supported by the
30619 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
30620 objcopy to generate incorrect binary files (binutils
30621 2.17.50.0.18-1 as shipped by Fedora 8).
30622 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
30623 linking, so that build ID doesn't break the test.
30624
7361cfe6 306252007-11-24 Pavel Roskin <proski@gnu.org>
30626
30627 * include/grub/i386/time.h: use "void" in the argument list
30628 of grub_cpu_idle().
30629 * include/grub/powerpc/time.h: Likewise.
30630 * include/grub/sparc64/time.h: Likewise.
30631
1593e10c 306322007-11-18 Christian Franke <franke@computer.org>
30633
30634 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
30635 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
30636 This fixes the problem that function keys did not work in grub-emu.
30637
3b8db1a8 306382007-11-18 Christian Franke <franke@computer.org>
30639
30640 * disk/host.c (grub_host_open): Remove attribute unused from
30641 name parameter. Add check for "host". This fixes the problem
30642 that grub-emu does not find partitions.
30643
2e29408d 306442007-11-18 Christian Franke <franke@computer.org>
30645
30646 * util/hostfs.c (is_dir): New function.
30647 (grub_hostfs_dir): Handle missing dirent.d_type case.
30648 (grub_hostfs_read): Add missing fseek().
30649 (grub_hostfs_label): Clear label pointer. This fixes a crash
30650 of grub-emu on "ls (host)".
30651
398cd047 306522007-11-18 Christian Franke <franke@computer.org>
30653
30654 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
30655 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
30656 to 64 bit boundary by default.
30657
c405c391 306582007-11-18 Bean <bean123ch@gmail.com>
30659
30660 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
30661 (hexdump_mod_SOURCES): New variable.
30662 (hexdump_mod_CFLAGS): Likewise.
30663 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 30664
c405c391 30665 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30666
30667 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30668
30669 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30670
30671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30672
30673 * include/grub/hexdump.h: New file.
30674
30675 * commands/hexdump.c: New file.
30676
5cced7fd 306772007-11-10 Robert Millan <rmh@aybabtu.com>
30678
30679 * commands/i386/pc/play.c (beep_off): Switch order of arguments
30680 in grub_outb() calls.
30681 (beep_on): Likewise.
30682
8b714eb0 306832007-11-10 Christian Franke <franke@computer.org>
30684
30685 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
30686 (grub_menu_run): Likewise.
30687
ce0f1839 306882007-11-10 Robert Millan <rmh@aybabtu.com>
30689
30690 * include/grub/i386/efi/machine.h: New file.
30691 * include/grub/i386/linuxbios/machine.h: Likewise.
30692 * include/grub/i386/pc/machine.h: Likewise.
30693 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30694 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30695
30696 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
30697 (serial_hw_io_addr): New variable.
30698 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
30699 instead of `(unsigned short *) 0x400'.
30700
270c237d 307012007-11-10 Bean <bean123ch@gmail.com>
30702
30703 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
30704
a87783bf 307052007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30706
30707 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
30708 (vga_mod_SOURCES): Added.
30709 (vga_mod_CFLAGS): Likewise.
30710 (vga_mod_LDFLAGS): Likewise.
30711
30712 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
30713 grub_outb() calls.
30714 (set_map_mask): Likewise.
30715 (set_read_map): Likewise.
30716 (set_read_address): Likewise.
30717 (vga_font): Removed variable.
30718 (get_vga_glyph): Removed function.
30719 (invalidate_char): Likewise.
30720 (write_char): Changed to use grub_font_get_glyph() for font
30721 information.
30722 (grub_vga_putchar): Likewise.
30723 (grub_vga_getcharwidth): Likewise.
30724
6433b448 307252007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30726
30727 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
30728 flags.
30729 (pxeboot_img_LDFLAGS): Likewise.
30730 (diskboot_img_LDFLAGS): Likewise.
30731 (kernel_img_LDFLAGS): Likewise.
30732
49178511 307332007-11-06 Robert Millan <rmh@aybabtu.com>
30734
30735 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
30736 in grub_outb() calls.
30737 (serial_hw_init): Likewise.
30738
53b052de 307392007-11-05 Robert Millan <rmh@aybabtu.com>
30740
30741 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
30742 spaces. Skip non-regular files.
30743
5ab33bba 307442007-11-05 Robert Millan <rmh@aybabtu.com>
30745
30746 * kern/disk.c (grub_disk_firmware_fini)
30747 (grub_disk_firmware_is_tainted): New variables.
30748
30749 * include/grub/disk.h (grub_disk_firmware_fini)
30750 (grub_disk_firmware_is_tainted): Likewise.
30751
30752 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
30753 (grub_disk_biosdisk_fini): ... to here.
30754 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
30755 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
30756 is set. Register grub_disk_biosdisk_fini() in
30757 `grub_disk_firmware_fini'.
30758
30759 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
30760 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
30761 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
30762 to finish existing firmware disk interface.
30763
30764 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
30765 (ata_mod_SOURCES): New variable.
30766 (ata_mod_CFLAGS): Likewise.
30767 (ata_mod_LDFLAGS): Likewise.
30768
0149ab7c 307692007-11-05 Robert Millan <rmh@aybabtu.com>
30770
30771 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
30772 (grub_ata_wait): Reimplement using grub_millisleep().
30773
30774 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
30775 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
30776
be7ac41e 307772007-11-03 Marco Gerards <marco@gnu.org>
30778
30779 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
30780 (CRTC_ADDR_PORT): New macro.
30781 (CRTC_DATA_PORT): Likewise.
30782 (CRTC_CURSOR): Likewise.
30783 (CRTC_CURSOR_ADDR_HIGH): Likewise.
30784 (CRTC_CURSOR_ADDR_LOW): Likewise.
30785 (update_cursor): New function.
30786 (grub_console_real_putchar): Call `update_cursor'.
30787 (grub_console_gotoxy): Likewise.
30788 (grub_console_cls): Set the default color when clearing the
30789 screen.
30790 (grub_console_setcursor): Implemented.
30791
bb06ab2e 307922007-11-03 Marco Gerards <marco@gnu.org>
30793
30794 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
30795 become activate.
30796 (grub_ata_pio_write): Likewise.
30797
30798 (grub_atapi_identify): Wait after issuing an ATA command.
30799 (grub_atapi_packet): Likewise.
30800 (grub_ata_identify): Likewise.
30801 (grub_ata_readwrite): Likewise.
30802
cf8f780b 308032007-11-03 Marco Gerards <marco@gnu.org>
30804
30805 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
30806 (grub_ata_pio_write): Likewise.
30807 (grub_ata_readwrite): Use `grub_error', instead of
30808 returning `grub_errno'.
30809
ed649e54 308102007-11-03 Marco Gerards <marco@gnu.org>
30811
30812 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
30813 grub_ata_pio_write once for every single sector, instead of for
30814 multiple sectors.
30815
ca25d8f0 308162007-10-31 Robert Millan <rmh@aybabtu.com>
30817
30818 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
30819
30820 * conf/i386-linuxbios.rmk: New file.
30821
30822 * kern/i386/pc/hardware.c: Likewise.
30823 * term/i386/pc/at_keyboard.c: Likewise.
30824 * term/i386/pc/vga_text.c: Likewise.
30825
30826 * include/grub/i386/linuxbios/boot.h: Likewise.
30827 * include/grub/i386/linuxbios/console.h: Likewise.
30828 * include/grub/i386/linuxbios/init.h: Likewise.
30829 * include/grub/i386/linuxbios/kernel.h: Likewise.
30830 * include/grub/i386/linuxbios/loader.h: Likewise.
30831 * include/grub/i386/linuxbios/memory.h: Likewise.
30832 * include/grub/i386/linuxbios/serial.h: Likewise.
30833 * include/grub/i386/linuxbios/time.h: Likewise.
30834
30835 * kern/i386/linuxbios/init.c: Likewise.
30836 * kern/i386/linuxbios/startup.S: Likewise.
30837 * kern/i386/linuxbios/table.c: Likewise.
30838
e911ecc1 308392007-10-31 Marco Gerards <marco@gnu.org>
30840
30841 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
30842 (ata_mod_SOURCES): New variable.
30843 (ata_mod_CFLAGS): Likewise.
30844 (ata_mod_LDFLAGS): Likewise.
30845
30846 * disk/ata.c: New file.
30847
30848 * include/grub/disk.h (grub_disk_dev_id): Add
30849 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 30850
7f66d0e0 308512007-10-31 Robert Millan <rmh@aybabtu.com>
30852
30853 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
30854 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
30855
30856 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
30857 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
30858
30859 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
30860 `<grub/types.h>'.
30861
30862 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
30863
5cd7dd46 308642007-10-27 Robert Millan <rmh@aybabtu.com>
30865
3236ca65 30866 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 30867
2ebfc90f 308682007-10-22 Robert Millan <rmh@aybabtu.com>
30869
30870 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
30871 `"../realmode.S"'.
30872 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
30873
73fcb0f3 308742007-10-22 Robert Millan <rmh@aybabtu.com>
30875
30876 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
30877 (pkgdata_MODULES): Add `biosdisk.mod'.
30878 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
30879 variables.
30880
30881 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
30882 (grub_biosdisk_init): Replace with ...
30883 (GRUB_MOD_INIT(biosdisk)): ... this.
30884 (grub_biosdisk_fini): Replace with ...
30885 (GRUB_MOD_FINI(biosdisk)): ... this.
30886
30887 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
30888 (grub_machine_init): Remove call to grub_biosdisk_init().
30889 (grub_machine_fini): Remove call to grub_machine_fini().
30890
30891 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
30892
3381d274 308932007-10-22 Robert Millan <rmh@aybabtu.com>
30894
30895 * include/grub/time.h: New file.
30896 * include/grub/i386/time.h: Likewise.
30897 * include/grub/powerpc/time.h: Likewise.
30898 * include/grub/sparc64/time.h: Likewise.
30899
30900 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
30901 instances to ...
30902 (KERNEL_MACHINE_TIME_HEADER): ... this.
30903 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30904 instances to ...
30905 (KERNEL_MACHINE_TIME_HEADER): ... this.
30906 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30907 instances to ...
30908 (KERNEL_MACHINE_TIME_HEADER): ... this.
30909
30910 * kern/i386/efi/init.c: Include `<grub/time.h>'.
30911 (grub_millisleep): New function.
30912 * kern/i386/pc/init.c: Include `<grub/time.h>'.
30913 (grub_millisleep): New function.
30914 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
30915 Remove `grub/machine/time.h' include.
30916 (grub_millisleep): New function.
30917 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
30918 Remove `grub/machine/time.h' include.
30919 (grub_millisleep): New function.
30920
30921 * include/grub/misc.h (grub_div_roundup): New function.
30922
30923 * kern/misc.c: Include `<grub/time.h>'.
30924 (grub_millisleep_generic): New function.
30925
30926 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
30927 Add `time.h'.
30928 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
30929 Add `time.h'.
30930 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
30931 `machine/time.h'. Add `time.h'.
30932 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30933
a39a0312 309342007-10-21 Robert Millan <rmh@aybabtu.com>
30935
30936 * include/grub/misc.h (grub_max): New function.
30937
2aad70e2 309382007-10-21 Robert Millan <rmh@aybabtu.com>
30939
30940 * util/misc.c (grub_util_info): Call fflush() before returning.
30941
54b71c4b 309422007-10-20 Robert Millan <rmh@aybabtu.com>
30943
30944 * genmk.rb (Image): Copy `extra_flags' from here ...
30945 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
30946
30947 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
30948 to `argc' and `args' arguments.
30949
a979f513 309502007-10-17 Robert Millan <rmh@aybabtu.com>
30951
30952 * kern/i386/loader.S: New file.
30953
30954 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
30955 * kern/i386/loader.S (grub_linux_prot_size)... to here.
30956 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
30957 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
30958 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
30959 * kern/i386/loader.S (grub_linux_real_addr)... to here.
30960 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
30961 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
30962 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
30963 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
30964 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
30965 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
30966 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
30967 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
30968
30969 * kern/i386/realmode.S: New file.
30970
30971 * kern/i386/pc/startup.S (protstack): Moved from here ...
30972 * kern/i386/realmode.S (protstack)... to here.
30973 * kern/i386/pc/startup.S (gdt): Moved from here ...
30974 * kern/i386/realmode.S (gdt)... to here.
30975 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
30976 * kern/i386/realmode.S (prot_to_real)... to here.
30977
30978 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
30979 `kern/i386/realmode.S'.
30980
825fc8fd 309812007-10-17 Robert Millan <rmh@aybabtu.com>
30982
30983 * include/grub/i386/loader.h: New file.
30984
30985 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
30986 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
30987 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
30988 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
30989 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
30990 * include/grub/i386/loader.h (grub_linux_prot_size)
30991 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
30992 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
30993 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
30994 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
30995
30996 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
30997
e179b2f4 309982007-10-15 Robert Millan <rmh@aybabtu.com>
30999
31000 * normal/misc.c (grub_normal_print_device_info): Do not probe for
31001 filesystem when dev->disk is unset.
31002 Do probe for filesystem even when dev->disk->has_partitions is set.
31003 In case a filesystem is found, always report it.
31004 In case it isn't, if dev->disk->has_partitions is set, report that
31005 a partition table was found instead of reporting that no filesystem
31006 could be identified.
31007
5db82af6 310082007-10-12 Robert Millan <rmh@aybabtu.com>
31009
31010 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
31011 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
31012
68f6ac74 31013 * include/grub/types.h (grub_host_to_target16): New macro.
31014 (grub_host_to_target32): Likewise.
31015 (grub_host_to_target64): Likewise.
31016 (grub_target_to_host16): Likewise.
31017 (grub_target_to_host32): Likewise.
31018 (grub_target_to_host64): Likewise.
5db82af6 31019
31020 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31021 Renamed from to ...
31022 (GRUB_MOD_ALIGN): ...this. Update all users.
31023
68f6ac74 31024 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
31025 grub_host_to_target32.
31026 Replace grub_be_to_cpu32 with grub_target_to_host32.
31027 (load_modules): Likewise.
31028 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
31029 Replace grub_be_to_cpu32 with grub_target_to_host32.
31030 Replace grub_cpu_to_be16 with grub_host_to_target16.
31031 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 31032
3cf497cc 310332007-10-12 Robert Millan <rmh@aybabtu.com>
31034
31035 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
31036 * util/elf/grub-mkimage.c: ... here.
31037
31038 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
31039 `util/powerpc/ieee1275/grub-mkimage.c'.
31040
c8cc3692 310412007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 31042
c8cc3692 31043 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
31044 and make it easier to figure out.
31045 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
31046 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
31047 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
31048 leave us with less than HEAP_MIN_SIZE total heap.
31049 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 31050
5c58b791 310512007-10-03 Robert Millan <rmh@aybabtu.com>
31052
31053 * include/grub/i386/io.h: New file.
31054 * commands/i386/pc/play.c (inb): Removed.
31055 (outb): Removed.
31056 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31057 with grub_outb().
afcd2ef8 31058 * term/i386/pc/serial.c (inb): Removed.
31059 (outb): Removed.
31060 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31061 with grub_outb().
31062 * term/i386/pc/vga.c (inb): Removed.
31063 (outb): Removed.
31064 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31065 with grub_outb().
5c58b791 31066
1a477ed6 310672007-10-02 Robert Millan <rmh@aybabtu.com>
31068
31069 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
31070 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31071 Reported by Marcin Kurek.
31072
6b5d80fa 310732007-09-07 Robert Millan <rmh@aybabtu.com>
31074
31075 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
31076 SmartFirmware version updates (as released by Sven Luther), and avoid
31077 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
31078 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
31079 known broken.
31080
5618afbf 310812007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31082
31083 From Hitoshi Ozeki:
31084 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
31085 when merging two regions.
31086
6139dcd9 310872007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31088
508e39ee 31089 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
31090 * normal/completion.c (grub_normal_do_completion): Likewise.
31091 Reported by Hitoshi Ozeki.
31092
310932007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31094
6139dcd9 31095 Do not use devices at boot in chainloading.
f19dbdb7 31096
6139dcd9 31097 * loader/i386/pc/chainloader.c (boot_drive): New variable.
31098 (boot_part_addr): Likewise.
31099 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
31100 with BOOT_DRIVE and BOOT_PART_ADDR.
31101 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
31102 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
31103
38da6516 311042007-08-29 Robert Millan <rmh@aybabtu.com>
31105
31106 Patch from Simon Peter <dn.tlp@gmx.net>:
31107 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
31108 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
31109 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
31110 util/i386/pc/grub-setup.c_DEPENDENCIES.
31111 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
31112 util/grub-probe.c_DEPENDENCIES.
31113 * conf/powerpc-ieee1275.rmk: Likewise.
31114
29d0928c 311152007-08-28 Robert Millan <rmh@aybabtu.com>
31116
31117 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
31118 to tell grub-mkdevicemap how to name devices.
31119 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
31120 feature).
31121
31122 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
31123 util/i386/get_disk_name.c.
31124 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
31125 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
31126 util/ieee1275/get_disk_name.c.
31127
31128 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
31129
31130 * DISTLIST: Add util/i386/get_disk_name.c and
31131 util/ieee1275/get_disk_name.c.
31132
31133 * util/grub-mkdevicemap.c: Replace device naming logic with
31134 grub_util_get_disk_name() calls.
31135
5a0d3cca 311362007-08-20 Robert Millan <rmh@aybabtu.com>
31137
31138 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
31139 (so that it works for both plural and singular quantities).
31140
8b72db2f 311412007-08-05 Robert Millan <rmh@aybabtu.com>
31142
31143 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
31144 so that [xz] isn't taken into account when determining order.
31145
352466bf 311462007-08-02 Marco Gerards <marco@gnu.org>
31147
31148 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
31149 `include/multiboot2.h', `include/grub/elfload.h',
31150 `include/multiboot.h', `include/grub/multiboot.h',
31151 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
31152 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
31153 `kern/elf.c', `loader/multiboot_loader.c',
31154 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
31155 `loader/i386/pc/multiboot2.c',
31156 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
31157 `util/i386/pc/grub-mkrescue.in'. Remove
31158 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
31159 `include/grub/i386/pc/util/biosdisk.h' and
31160 `include/grub/powerpc/ieee1275/multiboot.h'.
31161
8f096014 311622007-08-02 Bean <bean123ch@gmail.com>
31163
31164 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
31165 (ntfs_mod_SOURCES): New variable.
31166 (ntfs_mod_CFLAGS): Likewise.
31167 (ntfs_mod_LDFLAGS): Likewise.
31168
31169 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
31170 (grub_probe_SOURCES): Likewise.
31171 (grub_emu_SOURCES): Likewise.
31172
31173 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31174 (grub_emu_SOURCES): Likewise.
31175
31176 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31177 (grub_emu_SOURCES): Likewise.
f19dbdb7 31178
8f096014 31179 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
31180
31181 * fs/ntfs.c: New file.
31182
9959f7db 311832007-08-02 Bean <bean123ch@gmail.com>
31184
31185 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
31186
31187 * file.h (grub_file): Likewise.
31188
31189 * fshelp.h (grub_fshelp_read_file): Likewise.
31190
31191 * util/i386/pc/grub-setup.c (setup): Likewise.
31192 (save_first_sector): Likewise.
31193 (save_blocklists): Likewise.
f19dbdb7 31194
9959f7db 31195 * fs/affs.c (grub_affs_read_file): Likewise.
31196
31197 * fs/ext2.c (grub_ext2_read_file): Likewise.
31198
31199 * fs/fat.c (grub_fat_read_data): Likewise.
31200
31201 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
31202
31203 * fs/hfs.c (grub_hfs_read_file): Likewise.
31204
31205 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31206
31207 * fs/jfs.c (grub_jfs_read_file): Likewise.
31208
31209 * fs/minix.c (grub_minix_read_file): Likewise.
31210
31211 * fs/sfs.c (grub_sfs_read_file): Likewise.
31212
31213 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 31214
9959f7db 31215 * fs/xfs.c (grub_xfs_read_file): Likewise.
31216
31217 * command/blocklist.c (read_blocklist): Likewise.
31218 (print_blocklist): Likewise.
31219
0a203f83 312202007-08-02 Marco Gerards <marco@gnu.org>
31221
31222 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
31223 `util/hostfs.c'.
31224
31225 * disk/host.c: New file.
31226
31227 * util/hostfs.c: Likewise.
31228
31229 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
31230 return `GRUB_ERR_BAD_FS'.
31231 * fs/sfs.c (grub_sfs_mount): Likewise.
31232 * fs/xfs.c (grub_xfs_mount): Likewise.
31233
31234 * include/grub/disk.h (enum grub_disk_dev_id): Add
31235 `GRUB_DISK_DEVICE_HOST_ID'.
31236
31237 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
31238
e5dfe777 312392007-07-24 Jerone Young <jerone@gmail.com>
31240
f19dbdb7 31241 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 31242 modules for compilation.
31243 * conf/powerpc-ieee1275.rmk: Likewise.
31244
31245 * include/multiboot.h: Move multiboot definitions to one file. Rename
31246 many definitions to not get grub specific.
31247 * include/multiboot2.h: Create header with multiboot 2 definitions.
31248 * include/grub/multiboot.h: Header for grub specific function
31249 prototypes and definitions.
31250 * include/grub/multiboot2.h: Likewise.
31251 * include/grub/multiboot_loader.h: Likewise.
31252 * include/grub/i386/pc/multiboot.h: Removed.
31253 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
31254
31255 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
31256 and 2 to allow for one multiboot and module commands.
31257 * loader/multiboot2.c: Add multiboot2 functionality.
31258 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
31259 and definition names.
31260 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
31261 2 functions.
31262 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
31263 ieee1275 specific multiboot2 code.
31264
31265 * kern/i386/pc/startup.S: Change headers and definition names for
31266 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
31267
daf0f0ba 312682007-07-22 Robert Millan <rmh@aybabtu.com>
31269
31270 * geninitheader.sh: Process file specified in first parameter rather
31271 than hardcoding grub_modules_init.lst.
fe6b695a 31272 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 31273 than hardcoding grub_modules_init.h.
31274
31275 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
31276 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
31277 grub_probe_init.[ch] and grub_setup_init.[ch].
31278
31279 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
31280 grub_modules_init.h with grub_emu_init.h.
31281 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
31282 grub_probe_init.[ch] files.
31283 * conf/i386-efi.rmk: Likewise.
31284 * conf/i386-pc.rmk: Likewise.
31285 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
31286 grub_setup_init.[ch] files.
31287
31288 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
31289 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
31290 to initialize modules rather than a list of hardcoded functions.
31291 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
31292 grub_init_all() to initialize modules rather than a list of hardcoded
31293 functions.
31294
54cdc1cc 312952007-07-22 Robert Millan <rmh@aybabtu.com>
31296
31297 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
31298 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
31299
ad0686cc 313002007-07-22 Robert Millan <rmh@aybabtu.com>
31301
31302 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31303 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
31304 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
31305 flag when running on SmartFirmware.
31306 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
31307 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
31308 was set.
31309
31310 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31311 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
31312 rather than decreasing it.
31313
31314 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
31315 there's not enough space to do it, fail in the same way as when it
31316 can't be done because there are no partitions.
31317
31318 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
31319 when nvsetenv failed.
31320
969c02ec 313212007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31322
31323 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
31324 because this rule is automatically generated.
31325 (grub-mkrescue): Removed for the same reason as above.
31326
5a79f472 313272007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31328
31329 Migrate to GNU General Public License Version 3.
f19dbdb7 31330
5a79f472 31331 * COPYING: Replaced with the plain text version of GPLv3.
31332
31333 * config.guess: Updated from gnulib.
31334 * config.sub: Likewise.
31335
31336 * geninit.sh: Output a GPLv3 copyright notice.
31337 * geninitheader.sh: Likewise.
31338 * genmodsrc.sh: Likewise.
31339 * gensymlist.sh.in: Likewise.
31340
31341 * boot/i386/pc/boot.S: Upgraded to GPLv3.
31342 * boot/i386/pc/diskboot.S: Likewise.
31343 * boot/i386/pc/pxeboot.S: Likewise.
31344 * commands/blocklist.c: Likewise.
31345 * commands/boot.c: Likewise.
31346 * commands/cat.c: Likewise.
31347 * commands/cmp.c: Likewise.
31348 * commands/configfile.c: Likewise.
31349 * commands/echo.c: Likewise.
31350 * commands/help.c: Likewise.
31351 * commands/ls.c: Likewise.
31352 * commands/search.c: Likewise.
31353 * commands/terminal.c: Likewise.
31354 * commands/test.c: Likewise.
31355 * commands/videotest.c: Likewise.
31356 * commands/i386/cpuid.c: Likewise.
31357 * commands/i386/pc/halt.c: Likewise.
31358 * commands/i386/pc/play.c: Likewise.
31359 * commands/i386/pc/reboot.c: Likewise.
31360 * commands/i386/pc/vbeinfo.c: Likewise.
31361 * commands/i386/pc/vbetest.c: Likewise.
31362 * commands/ieee1275/halt.c: Likewise.
31363 * commands/ieee1275/reboot.c: Likewise.
31364 * commands/ieee1275/suspend.c: Likewise.
31365 * disk/loopback.c: Likewise.
31366 * disk/lvm.c: Likewise.
31367 * disk/raid.c: Likewise.
31368 * disk/efi/efidisk.c: Likewise.
31369 * disk/i386/pc/biosdisk.c: Likewise.
31370 * disk/ieee1275/ofdisk.c: Likewise.
31371 * font/manager.c: Likewise.
31372 * fs/affs.c: Likewise.
31373 * fs/ext2.c: Likewise.
31374 * fs/fat.c: Likewise.
31375 * fs/fshelp.c: Likewise.
31376 * fs/hfs.c: Likewise.
31377 * fs/hfsplus.c: Likewise.
31378 * fs/iso9660.c: Likewise.
31379 * fs/jfs.c: Likewise.
31380 * fs/minix.c: Likewise.
31381 * fs/sfs.c: Likewise.
31382 * fs/ufs.c: Likewise.
31383 * fs/xfs.c: Likewise.
31384 * hello/hello.c: Likewise.
31385 * include/grub/acorn_filecore.h: Likewise.
31386 * include/grub/arg.h: Likewise.
31387 * include/grub/bitmap.h: Likewise.
31388 * include/grub/boot.h: Likewise.
31389 * include/grub/cache.h: Likewise.
31390 * include/grub/device.h: Likewise.
31391 * include/grub/disk.h: Likewise.
31392 * include/grub/dl.h: Likewise.
31393 * include/grub/elfload.h: Likewise.
31394 * include/grub/env.h: Likewise.
31395 * include/grub/err.h: Likewise.
31396 * include/grub/file.h: Likewise.
31397 * include/grub/font.h: Likewise.
31398 * include/grub/fs.h: Likewise.
31399 * include/grub/fshelp.h: Likewise.
31400 * include/grub/gzio.h: Likewise.
31401 * include/grub/hfs.h: Likewise.
31402 * include/grub/kernel.h: Likewise.
31403 * include/grub/loader.h: Likewise.
31404 * include/grub/lvm.h: Likewise.
31405 * include/grub/misc.h: Likewise.
31406 * include/grub/mm.h: Likewise.
31407 * include/grub/net.h: Likewise.
31408 * include/grub/normal.h: Likewise.
31409 * include/grub/parser.h: Likewise.
31410 * include/grub/partition.h: Likewise.
31411 * include/grub/pc_partition.h: Likewise.
31412 * include/grub/raid.h: Likewise.
31413 * include/grub/rescue.h: Likewise.
31414 * include/grub/script.h: Likewise.
31415 * include/grub/setjmp.h: Likewise.
31416 * include/grub/symbol.h: Likewise.
31417 * include/grub/term.h: Likewise.
31418 * include/grub/terminfo.h: Likewise.
31419 * include/grub/tparm.h: Likewise.
31420 * include/grub/types.h: Likewise.
31421 * include/grub/video.h: Likewise.
31422 * include/grub/efi/api.h: Likewise.
31423 * include/grub/efi/chainloader.h: Likewise.
31424 * include/grub/efi/console.h: Likewise.
31425 * include/grub/efi/console_control.h: Likewise.
31426 * include/grub/efi/disk.h: Likewise.
31427 * include/grub/efi/efi.h: Likewise.
31428 * include/grub/efi/pe32.h: Likewise.
31429 * include/grub/efi/time.h: Likewise.
31430 * include/grub/i386/linux.h: Likewise.
31431 * include/grub/i386/setjmp.h: Likewise.
31432 * include/grub/i386/types.h: Likewise.
31433 * include/grub/i386/efi/kernel.h: Likewise.
31434 * include/grub/i386/efi/loader.h: Likewise.
31435 * include/grub/i386/efi/time.h: Likewise.
31436 * include/grub/i386/pc/biosdisk.h: Likewise.
31437 * include/grub/i386/pc/boot.h: Likewise.
31438 * include/grub/i386/pc/chainloader.h: Likewise.
31439 * include/grub/i386/pc/console.h: Likewise.
31440 * include/grub/i386/pc/init.h: Likewise.
31441 * include/grub/i386/pc/kernel.h: Likewise.
31442 * include/grub/i386/pc/loader.h: Likewise.
31443 * include/grub/i386/pc/memory.h: Likewise.
31444 * include/grub/i386/pc/multiboot.h: Likewise.
31445 * include/grub/i386/pc/serial.h: Likewise.
31446 * include/grub/i386/pc/time.h: Likewise.
31447 * include/grub/i386/pc/vbe.h: Likewise.
31448 * include/grub/i386/pc/vbeblit.h: Likewise.
31449 * include/grub/i386/pc/vbefill.h: Likewise.
31450 * include/grub/i386/pc/vbeutil.h: Likewise.
31451 * include/grub/i386/pc/vga.h: Likewise.
31452 * include/grub/ieee1275/ieee1275.h: Likewise.
31453 * include/grub/ieee1275/ofdisk.h: Likewise.
31454 * include/grub/powerpc/libgcc.h: Likewise.
31455 * include/grub/powerpc/setjmp.h: Likewise.
31456 * include/grub/powerpc/types.h: Likewise.
31457 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
31458 * include/grub/powerpc/ieee1275/console.h: Likewise.
31459 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
31460 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31461 * include/grub/powerpc/ieee1275/loader.h: Likewise.
31462 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
31463 * include/grub/powerpc/ieee1275/time.h: Likewise.
31464 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
31465 * include/grub/sparc64/libgcc.h: Likewise.
31466 * include/grub/sparc64/setjmp.h: Likewise.
31467 * include/grub/sparc64/types.h: Likewise.
31468 * include/grub/sparc64/ieee1275/console.h: Likewise.
31469 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31470 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31471 * include/grub/sparc64/ieee1275/time.h: Likewise.
31472 * include/grub/util/biosdisk.h: Likewise.
31473 * include/grub/util/getroot.h: Likewise.
31474 * include/grub/util/lvm.h: Likewise.
31475 * include/grub/util/misc.h: Likewise.
31476 * include/grub/util/raid.h: Likewise.
31477 * include/grub/util/resolve.h: Likewise.
31478 * io/gzio.c: Likewise.
31479 * kern/device.c: Likewise.
31480 * kern/disk.c: Likewise.
31481 * kern/dl.c: Likewise.
31482 * kern/elf.c: Likewise.
31483 * kern/env.c: Likewise.
31484 * kern/err.c: Likewise.
31485 * kern/file.c: Likewise.
31486 * kern/fs.c: Likewise.
31487 * kern/loader.c: Likewise.
31488 * kern/main.c: Likewise.
31489 * kern/misc.c: Likewise.
31490 * kern/mm.c: Likewise.
31491 * kern/parser.c: Likewise.
31492 * kern/partition.c: Likewise.
31493 * kern/rescue.c: Likewise.
31494 * kern/term.c: Likewise.
31495 * kern/efi/efi.c: Likewise.
31496 * kern/efi/init.c: Likewise.
31497 * kern/efi/mm.c: Likewise.
31498 * kern/i386/dl.c: Likewise.
31499 * kern/i386/efi/init.c: Likewise.
31500 * kern/i386/efi/startup.S: Likewise.
31501 * kern/i386/pc/init.c: Likewise.
31502 * kern/i386/pc/lzo1x.S: Likewise.
31503 * kern/i386/pc/startup.S: Likewise.
31504 * kern/ieee1275/ieee1275.c: Likewise.
31505 * kern/powerpc/cache.S: Likewise.
31506 * kern/powerpc/dl.c: Likewise.
31507 * kern/powerpc/ieee1275/cmain.c: Likewise.
31508 * kern/powerpc/ieee1275/crt0.S: Likewise.
31509 * kern/powerpc/ieee1275/init.c: Likewise.
31510 * kern/powerpc/ieee1275/openfw.c: Likewise.
31511 * kern/sparc64/cache.S: Likewise.
31512 * kern/sparc64/dl.c: Likewise.
31513 * kern/sparc64/ieee1275/init.c: Likewise.
31514 * kern/sparc64/ieee1275/openfw.c: Likewise.
31515 * loader/efi/chainloader.c: Likewise.
31516 * loader/efi/chainloader_normal.c: Likewise.
31517 * loader/i386/efi/linux.c: Likewise.
31518 * loader/i386/efi/linux_normal.c: Likewise.
31519 * loader/i386/pc/chainloader.c: Likewise.
31520 * loader/i386/pc/chainloader_normal.c: Likewise.
31521 * loader/i386/pc/linux.c: Likewise.
31522 * loader/i386/pc/linux_normal.c: Likewise.
31523 * loader/i386/pc/multiboot.c: Likewise.
31524 * loader/i386/pc/multiboot_normal.c: Likewise.
31525 * loader/powerpc/ieee1275/linux.c: Likewise.
31526 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31527 * normal/arg.c: Likewise.
31528 * normal/cmdline.c: Likewise.
31529 * normal/command.c: Likewise.
31530 * normal/completion.c: Likewise.
31531 * normal/execute.c: Likewise.
31532 * normal/function.c: Likewise.
31533 * normal/lexer.c: Likewise.
31534 * normal/main.c: Likewise.
31535 * normal/menu.c: Likewise.
31536 * normal/menu_entry.c: Likewise.
31537 * normal/misc.c: Likewise.
31538 * normal/parser.y: Likewise.
31539 * normal/script.c: Likewise.
31540 * normal/i386/setjmp.S: Likewise.
31541 * normal/powerpc/setjmp.S: Likewise.
31542 * normal/sparc64/setjmp.S: Likewise.
31543 * partmap/acorn.c: Likewise.
31544 * partmap/amiga.c: Likewise.
31545 * partmap/apple.c: Likewise.
31546 * partmap/gpt.c: Likewise.
31547 * partmap/pc.c: Likewise.
31548 * partmap/sun.c: Likewise.
31549 * term/gfxterm.c: Likewise.
31550 * term/terminfo.c: Likewise.
31551 * term/efi/console.c: Likewise.
31552 * term/i386/pc/console.c: Likewise.
31553 * term/i386/pc/serial.c: Likewise.
31554 * term/i386/pc/vesafb.c: Likewise.
31555 * term/i386/pc/vga.c: Likewise.
31556 * term/ieee1275/ofconsole.c: Likewise.
31557 * util/biosdisk.c: Likewise.
31558 * util/console.c: Likewise.
31559 * util/genmoddep.c: Likewise.
31560 * util/getroot.c: Likewise.
31561 * util/grub-emu.c: Likewise.
31562 * util/grub-mkdevicemap.c: Likewise.
31563 * util/grub-probe.c: Likewise.
31564 * util/lvm.c: Likewise.
31565 * util/misc.c: Likewise.
31566 * util/raid.c: Likewise.
31567 * util/resolve.c: Likewise.
31568 * util/update-grub.in: Likewise.
31569 * util/update-grub_lib.in: Likewise.
31570 * util/grub.d/00_header.in: Likewise.
31571 * util/grub.d/10_hurd.in: Likewise.
31572 * util/grub.d/10_linux.in: Likewise.
31573 * util/i386/efi/grub-install.in: Likewise.
31574 * util/i386/efi/grub-mkimage.c: Likewise.
31575 * util/i386/pc/grub-install.in: Likewise.
31576 * util/i386/pc/grub-mkimage.c: Likewise.
31577 * util/i386/pc/grub-mkrescue.in: Likewise.
31578 * util/i386/pc/grub-setup.c: Likewise.
31579 * util/i386/pc/misc.c: Likewise.
31580 * util/powerpc/ieee1275/grub-install.in: Likewise.
31581 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
31582 * util/powerpc/ieee1275/misc.c: Likewise.
31583 * video/bitmap.c: Likewise.
31584 * video/video.c: Likewise.
31585 * video/i386/pc/vbe.c: Likewise.
31586 * video/i386/pc/vbeblit.c: Likewise.
31587 * video/i386/pc/vbefill.c: Likewise.
31588 * video/i386/pc/vbeutil.c: Likewise.
31589 * video/readers/tga.c: Likewise.
31590
3572d015 315912007-07-02 Robert Millan <rmh@aybabtu.com>
31592
31593 * conf/i386-efi.rmk: Replace obsolete reference to
31594 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
31595 with util/getroot.c.
31596 * conf/powerpc-ieee1275.rmk: Likewise.
31597 * conf/sparc64-ieee1275.rmk: Likewise.
31598
31599 * util/grub-emu.c (main): Fix unchecked pointer handling.
31600
2c2a681b 316012007-07-02 Robert Millan <rmh@aybabtu.com>
31602
31603 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
31604 invocation to fail, in order to support partition-less media.
31605
31606 * util/i386/pc/grub-install.in: Likewise.
31607
31608 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
31609 which fs or partmap modules are needed (akin to its sister scripts).
31610
31611 Also use grub-probe to get rid of unportable /proc/mounts check.
31612
31613 Print the same informational message that the other scripts do, before
fe6b695a 31614 exiting.
2c2a681b 31615
6193defe 316162007-06-23 Robert Millan <rmh@aybabtu.com>
31617
fe6b695a 31618 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 31619 a font file can be found and, if so, echo the GRUB path to it.
31620
31621 * util/update-grub.in: Handle multiple terminals depending on user
31622 input, platform availability and font file presence. Propagate
31623 variables of our findings to /etc/grub.d/ children.
31624
31625 * util/grub.d/00_header.in: Handle multiple terminals, based on
31626 environment setup by update-grub.
31627
eface1dc 316282007-06-23 Robert Millan <rmh@aybabtu.com>
31629
ba50d28f 31630 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 31631
bf697e28 316322007-06-21 Robert Millan <rmh@aybabtu.com>
31633
31634 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
31635 indicate end of data section in kernel image.
31636 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
31637 GRUB_KERNEL_MACHINE_DATA_END.
31638
31639 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
31640 space for it.
31641 * kern/i386/efi/startup.S: Likewise.
31642
31643 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
31644 during image generation. Implement --prefix option to override this
31645 patch.
31646 * util/i386/efi/grub-mkimage.c: Likewise.
31647
31648 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
31649 code to make path relative to its root into a separate function.
31650
31651 * util/i386/pc/grub-install.in: Use newly provided
31652 make_system_path_relative_to_its_root() to convert ${grubdir}, then
31653 pass the result to grub-install --prefix.
31654
baa574b4 316552007-06-13 Robert Millan <rmh@aybabtu.com>
31656
31657 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
31658 DEFAULT_DEVICE_MAP.
31659 * util/grub-emu.c: Use above definitions from misc.h instead of
31660 defining them.
31661 * util/grub-mkdevicemap.c: Likewise.
31662 * util/i386/pc/grub-setup.c: Likewise.
31663 * util/grub-probe.c: Likewise.
31664 (probe): Abort with grub_util_error() when either
31665 grub_guess_root_device or grub_util_get_grub_dev fails.
31666
0215dcbf 316672007-06-12 Robert Millan <rmh@aybabtu.com>
31668
31669 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
31670 "pager" assignment.
31671 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
31672 "pcdata".
31673 * util/grub-probe.c (probe): Likewise for "drive_name".
31674
8af2ab7b 316752007-06-11 Robert Millan <rmh@aybabtu.com>
31676
31677 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
31678 not just the cdrom one.
31679
59d31694 316802007-06-11 Robert Millan <rmh@aybabtu.com>
31681
31682 * util/i386/pc/grub-mkrescue.in: Add "set -e".
31683 Add --pkglibdir=DIR option to override pkglibdir.
31684 Mention --image-type=TYPE in help output.
31685 Fix --grub-mkimage (it was a no-op).
fe6b695a 31686 Abort gracefully when no parameter is given.
59d31694 31687
7ee367e4 316882007-06-11 Robert Millan <rmh@aybabtu.com>
31689
31690 * util/i386/pc/grub-mkrescue.in: New file.
31691 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
31692 * Makefile.in: Handle bin_SCRIPTS.
31693
29b0ed46 316942007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
31695
31696 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
31697 list of video modes.
31698
c0f90770 316992007-06-06 Robert Millan <rmh@aybabtu.com>
31700
31701 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
31702 file doesn't exist, or if it is in a filesystem grub can't read.
31703
31704 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
31705 not abort if GRUB_DRIVE could not be defined. Rearrange generated
31706 header comment to fit in 80 columns when the variables are resolved.
31707
31708 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
31709 could be identified by update-grub. Remove redundant check for
fe6b695a 31710 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 31711 handles that).
31712
fb36dc26 317132007-06-04 Robert Millan <rmh@aybabtu.com>
31714
31715 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
31716
31717 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
31718
31719 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
31720
0c68c93e 317212007-06-04 Robert Millan <rmh@aybabtu.com>
31722
31723 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
31724
31725 * include/grub/partition.h: Declare grub_apple_partition_map_init and
31726 grub_apple_partition_map_fini.
31727
31728 * util/biosdisk.c
31729 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
31730 to access >2 TiB disks).
31731
31732 Print disk->total_sectors with %llu instead of %lu, since this
31733 variable is always 64-bit (prevents wrong disk size from being displayed
31734 on either >2 TiB disk or big-endian CPU).
31735
31736 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
31737 into a generic case that supports all (sane) partition maps.
31738
31739 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
31740 breaks big-endian.
31741
31742 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
31743 and grub_apple_partition_map_fini() after that.
31744
0f23eb74 317452007-06-01 Robert Millan <rmh@aybabtu.com>
31746
31747 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
31748
31749 * util/grub.d/00_header.in: Only enable gfxterm when
31750 convert_system_path_to_grub_path() succeeds.
31751
42c71976 317522007-05-20 Robert Millan <rmh@aybabtu.com>
31753
31754 * util/update-grub_lib.in: New file.
31755 * DISTLIST: Add update-grub_lib.in.
31756 * conf/common.rmk: Generate update-grub_lib and install it in
31757 $(lib_DATA).
31758 * Makefile.in: Add install routine for $(lib_DATA).
31759
31760 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
31761 function provided by update-grub_lib to support arbitrary paths of
31762 unifont.pff.
31763 * util/update-grub.in: Use convert_system_path_to_grub_path() to
31764 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
31765
5beb2291 317662007-05-19 Robert Millan <rmh@aybabtu.com>
31767
31768 * commands/i386/cpuid.c: New module.
31769 * DISTLIST: Add it.
31770 * conf/i386-efi.rmk: Enable cpuid.mod.
31771 * conf/i386-pc.rmk: Likewise.
31772
7262eca1 317732007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31774
31775 * kern/disk.c (grub_disk_read): Check return value of
31776 grub_realloc().
31777
260ba823 317782007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31779
31780 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
31781 arrays.
31782 * disk/raid.c (grub_raid_open): Likewise.
31783
1ecb6cf2 317842007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31785
31786 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
31787 stack instead of on the heap.
31788
31789 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
31790 before doing a read on it.
31791
31792 * configure.ac: Only use -fno-stack-protector for the target
31793 environment.
f19dbdb7 31794
21c8cbb1 317952007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31796
31797 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
31798 __attribute_ ((unused)) to mode_type argument.
31799
31800 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 31801
21c8cbb1 31802 * kern/misc.c (memcmp): Fix prototype.
31803
31804 * include/grub/partition.h [GRUB_UTIL]
31805 (grub_gpt_partition_map_init): Add prototype.
31806 (grub_gpt_partition_map_fini): Likewise.
31807
31808 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
31809 at the right place.
31810
31811 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
31812 (grub_fat_read_data): Likewise.
31813 (grub_fat_find_dir): Likewise.
31814
31815 * font/manager.c (find_glyph): Make table a const.
31816 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 31817
849d55d3 318182007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
31819
31820 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
31821 code, first search for device in /dev/mapper, then in /dev.
31822 (grub_util_get_grub_dev): New function.
31823 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
31824 prototype.
31825 * util/grub-probe.c (probe): Remove check for RAID, call
31826 grub_util_get_grub_dev() instead of
31827 grub_util_biosdisk_get_grub_dev().
31828 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
31829 grub_util_biosdisk_get_grub_dev().
31830 * util/i386/pc/grub-setup.c (main): Likewise.
31831
8fff7c2f 318322007-05-16 Robert Millan <rmh@aybabtu.com>
31833
31834 * DISTLIST: Update for the latest changes.
31835 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
31836 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
31837 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
31838 grub/util/biosdisk.h.
31839 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
31840 grub/util/biosdisk.h.
31841
48e12b52 318422007-05-16 Robert Millan <rmh@aybabtu.com>
31843
31844 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
31845
46b9d128 318462007-05-16 Robert Millan <rmh@aybabtu.com>
31847
31848 * util/i386/efi/grub-install.in: New.
31849 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
31850 newly added grub-install.
31851 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
31852 include.
31853 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
31854 grub/util/biosdisk.h.
31855 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
31856 grub/util/biosdisk.h.
31857
2d1a40a9 318582007-05-16 Robert Millan <rmh@aybabtu.com>
31859
31860 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
31861 * include/grub/util/biosdisk.h: ... here.
31862 * util/i386/pc/biosdisk.c: Moved to ...
31863 * util/biosdisk.c: ... here.
31864 * util/i386/pc/getroot.c: Moved to ...
31865 * util/getroot.c: ... here.
31866 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
31867 * util/grub-mkdevicemap.c: ... here.
31868 * util/i386/pc/grub-probe.c: Moved to ...
31869 * util/grub-probe.c: ... here.
31870
9e26e3bc 318712007-05-15 Robert Millan <rmh@aybabtu.com>
31872
31873 * util/update-grub.in: Remove duplicated line in grub.cfg header
31874 message.
31875
57f96397 318762007-05-13 Robert Millan <rmh@aybabtu.com>
31877
31878 * util/update-grub.in: Fix a few assumptions about the devices holding
31879 /, /boot and /boot/grub being the same.
31880 * util/grub.d/00_header.in: Likewise.
31881 * util/grub.d/10_hurd.in: Likewise.
31882 * util/grub.d/10_linux.in: Likewise.
31883
31884 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
31885 patterns. Use that to define the `.old' suffix as older than `'.
31886
31887 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
31888
31889 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
31890 the grub.cfg header message.
31891
2e610d62 318922007-05-11 Robert Millan <rmh@aybabtu.com>
31893
31894 * util/update-grub.in: Create device.map if it doesn't already exist,
31895 before attempting to run grub-probe.
31896 Check for grub-probe and grub-mkdevicemap with the same code
31897 grub-install is using.
31898 Remove test mode.
31899
3f6a10ef 319002007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
31901
31902 * Makefile.in: Add the datarootdir autoconf variable.
31903
02e7b75e 319042007-05-09 Robert Millan <rmh@aybabtu.com>
31905
31906 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 31907 fail gracefully if dev->disk->partition == NULL.
02e7b75e 31908
75f396cc 319092007-05-07 Robert Millan <rmh@aybabtu.com>
31910
31911 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
31912 determine partition map module.
31913 * util/i386/pc/grub-install.in: Use this feature to decide which
31914 partition module to load, instead of hardcoding pc and gpt.
31915
da65cb36 319162007-05-07 Robert Millan <rmh@aybabtu.com>
31917
31918 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
31919 source directory differs from build directory.
31920
b57d6a91 319212007-05-05 Robert Millan <rmh@aybabtu.com>
31922
31923 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
31924 initialisation.
31925
509d00f1 319262007-05-05 Robert Millan <rmh@aybabtu.com>
31927
31928 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
31929
c48f23ef 319302007-05-05 Robert Millan <rmh@aybabtu.com>
31931
31932 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
31933 command-line arguments via ${GRUB_CMDLINE_LINUX}.
31934
20b97658 319352007-05-05 Robert Millan <rmh@aybabtu.com>
31936
31937 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
31938 (grub_probe_SOURCES): Likewise.
31939 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
31940 GPT and initialize dos_part and bsd_part accordingly.
31941 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
31942 install_bsd_part.
31943 (main): Activate gpt module for use during partition identification,
31944 and deactivate it afterwards.
31945 * util/i386/pc/grub-install.in: Add gpt module to core.img.
31946 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
31947 partition identification, and deactivate it afterwards.
31948
99123174 319492007-05-05 Robert Millan <rmh@aybabtu.com>
31950
31951 * term/i386/pc/console.c (grub_console_fini): Call
31952 grub_term_set_current() before grub_term_unregister().
31953
ebd97f6e 319542007-05-04 Robert Millan <rmh@aybabtu.com>
31955
31956 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
31957 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
31958 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
31959 and update-grub_DATA.
31960 * conf/common.rmk: Build and install update-grub components.
31961 * conf/common.mk: Regenerate.
31962 * util/update-grub.in: New. Core of update-grub.
31963 * util/grub.d/00_header.in: New. Generates grub.cfg header.
31964 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
31965 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
31966 * util/grub.d/README: New. Document grub.d directory layout.
31967
b06a264d 319682007-05-01 Robert Millan <rmh@aybabtu.com>
31969
31970 * util/grub-emu.c: Move initialization functions
31971 grub_util_biosdisk_init() and grub_init_all() before
31972 grub_util_biosdisk_get_grub_dev(), which relies on them.
31973
41f0050e 319742007-04-19 Robert Millan <rmh@aybabtu.com>
31975
31976 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
31977 it is used later.
31978
04582bb3 319792007-04-18 Jerone Young <jerone@gmail.com>
31980
f19dbdb7 31981 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 31982 stanza.
31983
08db4632 319842007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 31985
08db4632 31986 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
31987 continue on and look for device node with real device name.
31988
801b76be 319892007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 31990
fe6b695a 31991 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 31992 ability.
31993 * Makefile.in: Add autoconf package transformation code.
31994 * util/i386/pc/grub-install.in: Likewise.
31995 * util/powerpc/ieee1275/grub-install.in: Likewise.
31996
6795c4e1 319972007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31998
31999 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
32000 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
32001 (EXT2_REVISION): Likewise.
32002 (EXT2_INODE_SIZE): Likewise.
32003 (struct grub_ext2_block_group): Added a missing member
32004 "used_dirs".
32005 (grub_ext2_read_inode): Divide by the inode size in a superblock
32006 instead of 128 to obtain INODES_PER_BLOCK.
32007 Use the macro EXT2_INODE_SIZE instead of directly using
32008 SBLOCK->INODE_SIZE.
32009
d70af616 320102007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32011
32012 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
32013 superblock instead of the structure size to compute an
32014 offset. This fixes the problem that GRUB could not read a
32015 filesystem when inode size is different from 128-byte.
32016
3b801603 320172007-03-05 Marco Gerards <marco@gnu.org>
32018
32019 * normal/main.c (read_config_file): When "menu" is not set, create
32020 an initial context.
32021
4785bfe4 320222007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32023
32024 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
32025 (HEAP_LIMIT): New macro.
32026 (grub_claim_heap): Claim memory up to `heaplimit'.
32027
a0cbb023 320282007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32029
32030 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
32031 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
32032 (_start): Likewise.
32033 (grub_arch_modules_addr): Return address after `_end'.
32034 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
32035 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
32036 (add_segments): Calculate `_end' from phdr size and location.
32037 (ALIGN_UP): Moved to ...
32038 * include/grub/misc.h: here.
32039 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32040 New macro.
32041 (GRUB_IEEE1275_MODULE_BASE): Removed.
32042
fd7d8eba 320432007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32044
32045 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
32046 loop boundary.
32047
9b09e6fc 320482007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32049
32050 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
32051 All users updated.
32052 (grub_elf64_load_hook_t): Likewise.
32053 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
32054 debug output.
32055
3ce27299 320562007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32057
32058 * kern/mm.c: Update copyright.
32059 (grub_mm_debug): Correct syntax error.
32060 (grub_mm_dump_free): New function.
32061 (grub_debug_free): Call `grub_free'.
32062 * include/grub/mm.h: Update copyright.
32063 (grub_mm_dump_free): Add declaration.
32064
077d5fee 320652007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32066
32067 * include/grub/ieee1275/ieee1275.h: Update copyright.
32068 * kern/powerpc/ieee1275/init.c: Likewise.
32069 * kern/powerpc/ieee1275/openfw.c: Likewise.
32070
32071 * loader/powerpc/ieee1275/linux.c: Likewise.
32072 * include/grub/elfload.h: Likewise.
32073 * kern/elf.c: Likewise.
32074 (grub_elf32_load): Pass `base' and `size' parameters. Update all
32075 callers.
32076 (grub_elf64_load): Likewise.
32077 (grub_elf32_load_segment): Move to a nested function.
32078 (grub_elf64_load_segment): Likewise.
32079
dc946850 320802007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32081
32082 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
32083 prototype.
32084 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
32085 (grub_heap_len): Likewise.
32086 (HEAP_SIZE): New macro.
32087 (grub_claim_heap): New function.
32088 (grub_machine_init): Don't claim heap directly. Call
32089 `grub_claim_heap'.
32090 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
32091 (grub_available_iterate): New function.
32092
baa2a121 320932007-02-03 Thomas Schwinge <tschwinge@gnu.org>
32094
32095 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
32096 * configure.ac: Use it for testing the HOST and TARGET compilers.
32097
4fe9862e 320982006-12-13 Thomas Schwinge <tschwinge@gnu.org>
32099
32100 * Makefile.in (enable_grub_emu): New variable.
32101 * configure.ac (--enable-grub-emu): New option.
32102 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
32103 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
32104 * conf/i386-pc.rmk: Likewise.
32105 * conf/powerpc-ieee1275.rmk: Likewise.
32106 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
32107
a8aa5762 321082006-12-12 Marco Gerards <marco@gnu.org>
32109
32110 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
32111
32112 * kern/env.c (grub_env_unset): Don't free the member `value' when
32113 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
32114 pointer.
32115
32116 * normal/main.c (current_menu): Removed.
32117 (free_menu): Unset the `menu' environment variable.
32118 (grub_normal_menu_addentry): Make use of the environment variable
32119 `menu', instead of using the global `current_menu'. Allocate
32120 memory for the sourcecode of this entry.
32121 (read_config_file): New argument `nested', changed all callers.
32122 Only in the case of a new context, initialize a new menu. Set the
32123 `menu' environment variable.
32124 (grub_normal_execute): Don't set and unset the environment
32125 variable `menu' here anymore. Only free the menu when leaving the
32126 context.
32127
32128 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
32129 leak.
32130
957b3a3e 321312006-12-11 Marco Gerards <marco@gnu.org>
32132
32133 * normal/menu_entry.c (run): Fix off by one bug so the last line
32134 is executed. Move the loader check to outside the loop.
32135
ef875714 321362006-12-08 Hollis Blanchard <hollis@penguinppc.org>
32137
32138 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
32139
4e739985 321402006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
32141
32142 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
32143 the number of sectors. Reported by Andrey Shuvikov
32144 <mr_hyro@yahoo.com>.
f19dbdb7 32145
790707f2 321462006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
32147
32148 * kern/disk.c (grub_disk_read): When there is a read error, always
32149 try to read only the necessary data.
f19dbdb7 32150
790707f2 32151 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
32152 disk/raid.c.
32153 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
32154 prototype.
32155 [GRUB_UTIL] (grub_raid_fini): Likewise.
32156 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 32157 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 32158 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
32159 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
32160 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
32161 and grub_raid_fini().
f19dbdb7 32162
03e58196 321632006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32164
32165 * include/grub/types.h (__unused): Rename to UNUSED.
32166 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
32167 (grub_elf64_size): Likewise.
f19dbdb7 32168
ae4f23bf 321692006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32170
32171 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
32172 grub_error_push and grub_error_pop in the error-handling path.
32173 (grub_elf32_load_segment): Only call grub_file_read with non-zero
32174 length.
32175
2166cc83 321762006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32177
32178 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
32179 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32181 (kernel_elf_SOURCES): Likewise.
32182 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
32183 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
32184 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32185 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32186 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
32187 (elf_mod_SOURCES): New variable.
32188 (elf_mod_CFLAGS): Likewise.
32189 (elf_mod_LDFLAGS): Likewise.
32190 * include/grub/types.h (__unused): New macro.
32191 * include/grub/elfload.h: New file.
32192 * kern/elf.c: Likewise.
32193 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
32194 (ELF32_LOADMASK): New macro.
32195 (ELF64_LOADMASK): Likewise.
32196 (vmlinux): Removed.
32197 (grub_linux_load32): New function.
32198 (grub_linux_load64): Likewise.
32199 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
32200 Use grub_elf_t instead of grub_file_t.
32201
a09d5aa5 322022006-11-02 Hollis Blanchard <hollis@penguinppc.org>
32203
32204 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
32205 `catch_result' to struct set_color_args.
32206
d976fc51 322072006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32208
32209 * normal/menu.c: Include grub/script.h.
32210 * normal/menu_entry.c: Likewise.
32211 * include/grub/normal.h: Do not include grub/script.h.
32212
67507549 322132006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32214
32215 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
32216
69203a99 322172006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32218
32219 * kern/disk.c (grub_disk_open): Print debug messages when opening a
32220 disk.
32221 (grub_disk_close): Print debug messages when closing a disk.
32222 (grub_disk_read): Print debug messages when disk read fails.
32223 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
32224 filesystem type.
32225 * kern/partition.c: Include misc.h.
32226 (grub_partition_iterate): Print debug messages when detecting
32227 partition type.
32228
e2b8278c 322292006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32230
32231 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
32232 is negative.
32233 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
32234
97b2f2ff 322352006-10-26 Hollis Blanchard <hollis@penguinppc.org>
32236
32237 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32238 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
32239
6555d655 322402006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
32241
32242 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
32243 instead of sizeof(lv). Patch by Michael Guntsche.
32244
4d42b77f 322452006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
32246
32247 * disk/lvm.c: Rename VGS to VG_LIST.
32248 (grub_lvm_iterate): Change VGS->LV to VG-LV.
32249 (grub_lvm_open): Likewise.
32250 Thanks to Michael Guntsche for finding this bug.
32251
5d74d927 322522006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32253
32254 * configure.ac (AC_INIT): Bumped to 1.95.
32255
a1bb27e4 322562006-10-14 Robert Millan <rmh@aybabtu.com>
32257
32258 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
32259 with "/dev/.static/dev/md".
32260
e0994b8b 322612006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32262
32263 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
32264 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
32265 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
32266 DRIVE_NAME are always freed.
32267
32268 * util/i386/pc/biosdisk.c (make_device_name): Add one into
32269 DOS_PART, as a DOS partition is counted from one instead of zero
32270 now. Reported by Robert Millan.
32271
ddd5cee9 322722006-10-14 Robert Millan <rmh@aybabtu.com>
32273
32274 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
32275 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
32276 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
32277 string returned by grub_guess_root_device.
32278 * util/i386/pc/grub-setup.c: Likewise.
32279 * util/i386/pc/grub-probefs.c: Likewise.
32280
32281 * util/i386/pc/grub-probefs.c: Rename to ...
32282 * util/i386/pc/grub-probe.c: ... this.
32283 * DISTLIST: Remove grub-probefs, add grub-probe.
32284 * conf/i386-efi.rmk: Likewise.
32285 * conf/i386-pc.rmk: Likewise.
32286 * util/i386/pc/grub-install.in: Likewise.
32287
32288 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
32289 choose which information we want to print.
32290
2b002173 322912006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32292
32293 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
32294 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
32295 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
32296 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
32297 video/readers/tga.c and video/i386/pc/vbeutil.c.
32298
322992006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
32300
32301 Added support for RAID and LVM.
f19dbdb7 32302
2b002173 32303 * disk/lvm.c: New file.
32304 * disk/raid.c: Likewise.
32305 * include/grub/lvm.h: Likewise.
f19dbdb7 32306 * include/grub/raid.h: Likewise.
2b002173 32307 * include/grub/util/lvm.h: Likewise.
32308 * include/grub/util/raid.h: Likewise.
32309 * util/lvm.c: Likewise.
32310 * util/raid.c: Likewise.
32311
32312 * include/grub/disk.h (grub_disk_dev_id): Add
32313 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
32314 (grub_disk_get_size): New prototype.
32315 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
32316 returns a partition.
32317 (grub_disk_get_size): New function.
f19dbdb7 32318
2b002173 32319 * kern/i386/pc/init.c (make_install_device): Copy the prefix
32320 verbatim if grub_install_dos_part is -2.
32321
32322 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
32323 and LVM devices.
32324
32325 * util/i386/pc/grub-setup.c (setup): New argument
32326 MUST_EMBED. Force embedding of GRUB when the argument is
32327 true. Close FILE before returning.
32328 (main): Add support for RAID and LVM.
f19dbdb7 32329
2b002173 32330 * conf/common.rmk: Add RAID and LVM modules.
32331 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
32332 util/lvm.c.
32333 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
32334
32335 * kern/misc.c (grub_strstr): New function.
32336 * include/grub/misc.h (grub_strstr): New prototype.
32337
050548d0 323382006-10-10 Tristan Gingold <tristan.gingold@bull.net>
32339
32340 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
32341
da849d2d 323422006-10-05 Tristan Gingold <tristan.gingold@bull.net>
32343
32344 * kern/misc.c (grub_strtoull): Guess the base only if not
32345 specified.
32346
97b2f2ff 323472006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 32348
32349 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
32350 PowerMac support.
32351
97b2f2ff 323522006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 32353
32354 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
32355
32356 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
32357 Remove `flags' argument. All callers changed.
32358 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
32359 (IEEE1275_IHANDLE_INVALID): New variable.
32360 (IEEE1275_CELL_INVALID): New variable.
32361 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32362 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
32363 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
32364 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
32365 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
32366 codes from Open Firmware. All callers updated.
32367 (grub_ieee1275_next_property): Directly return Open Firmware return
32368 code.
32369 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32370 Standardize error checking from `grub_ieee1275_get_property'.
32371 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
32372 `devalias' to `aliases'. Correct comments. Consolidate error paths.
32373
97b2f2ff 323742006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 32375
32376 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
32377 `instance_to_package_args' to `instance_to_path_args'.
32378
32379 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
32380 `grub_ieee1275_chosen'.
32381
32382 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
32383 `grub_ieee1275_interpret'.
32384
97b2f2ff 323852006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 32386
32387 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
32388
97b2f2ff 323892006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 32390
32391 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
32392 (__cmpdi): Likewise.
32393
32394 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
32395 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
32396 `grub_ssize_t'.
32397
02bb8acc 32398 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 32399
32400 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
32401 to type `grub_ssize_t'.
32402 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
32403
7f9a8531 324042006-09-22 Marco Gerards <marco@gnu.org>
32405
32406 * normal/script.c (grub_script_create_cmdmenu): Skip leading
32407 newlines.
32408
b5ef1102 324092006-09-22 Marco Gerards <marco@gnu.org>
32410
32411 * commands/echo.c: New file.
32412
32413 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
32414
32415 * conf/common.rmk (echo_mod_SOURCES): New variable.
32416 (echo_mod_CFLAGS): Likewise.
32417 (echo_mod_LDFLAGS): Likewise.
32418
2cff3677 324192006-09-22 Marco Gerards <marco@gnu.org>
32420
32421 * normal/main.c (get_line): Malloc memory instead of using
32422 preallocated memory. Removed the arguments `cmdline' and
32423 `max_len'. Updated all callers.
32424
6ba4688b 324252006-09-22 Marco Gerards <marco@gnu.org>
32426
32427 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
32428 (normal_mod_DEPENDENCIES): Likewise.
32429
32430 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
32431 (normal_mod_DEPENDENCIES): Likewise.
32432
32433 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
32434
e02ac02c 324352006-09-22 Johan Rydberg <jrydberg@gnu.org>
32436
32437 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
32438 programs.
32439 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
32440 (normal_mod_DEPENDENCIES): Likewise.
32441 * conf/i386-pc.mk: Regenerate.
32442 * conf/i386-efi.mk: Likewise
32443 * conf/common.mk: Likewise.
32444 * conf/powerpc-ieee1275.mk: Likewise.
32445 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32446
8d252e44 324472006-09-22 Robert Millan <rmh@aybabtu.com>
32448
32449 Sync with i386 version.
32450 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
32451 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
32452
209bf7ac 324532006-09-21 Robert Millan <rmh@aybabtu.com>
32454
32455 Import from GRUB Legacy (lib/device.c):
32456 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
32457 (init_device_map) [__linux__]: Add support for I2O devices.
32458
6b146090 324592006-09-14 Marco Gerards <marco@gnu.org>
32460
32461 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
32462 `-melf_i386'.
32463
e38600a8 324642006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 32465
32466 * util/i386/pc/grub-install.in: Skip menu.lst when removing
32467 /boot/grub/*.lst.
78fa1790 32468
2952da5d 32469 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 32470
2952da5d 32471 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
32472 before adding it to device.map.
32473
01b82a64 324742006-08-15 Johan Rydberg <jrydberg@gnu.org>
32475
fe6b695a 32476 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 32477 compiles a file; using the -MD option.
32478 * conf/common.mk: Regenerate.
32479 * conf/i386-pc.mk: Likewise.
32480 * conf/i386-efi.mk: Likewise.
32481 * conf/powerpc-ieee1275.mk: Likewise.
32482 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32483
1064790d 324842006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
32485
32486 Move the prototypes of grub_setjmp and grub_longjmp to
32487 cpu/setjmp.h, so that each architecture may specify different
32488 attributes.
f19dbdb7 32489
1064790d 32490 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
32491 (grub_longjmp): Likewise.
32492 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
32493 (grub_longjmp): Likewise.
32494 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
32495 (grub_longjmp): Likewise.
32496
32497 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
32498 [!GRUB_UTIL] (grub_longjmp): Removed.
32499
29dda3ed 325002006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
32501
32502 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
32503 "color!" method does not return any value.
32504
ad2a06ed 325052006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32506
32507 * include/grub/bitmap.h: New file.
32508
32509 * include/grub/i386/pc/vbeutil.h: Likewise.
32510
32511 * video/bitmap.c: Likewise.
32512
32513 * video/readers/tga.c: Likewise.
32514
32515 * video/i386/pc/vbeutil.c: Likewise.
32516
32517 * commands/videotest.c: Code cleanup and updated to reflect to new
32518 video API.
32519
32520 * term/gfxterm.c: Likewise.
32521
32522 * video/video.c: Likewise.
32523
32524 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
32525 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
32526 (bitmap_mod_SOURCES): New entry.
32527 (bitmap_mod_CFLAGS): Likewise.
32528 (bitmap_mod_LDFLAGS): Likewise.
32529 (tga_mod_SOURCES): Likewise.
32530 (tga_mod_CFLAGS): Likewise.
32531 (tga_mod_LDFLAGS): Likewise.
32532
32533 * include/grub/video.h (grub_video_blit_operators): New enum type.
32534 (grub_video_render_target): Changed as forward declaration and moved
32535 actual definition to be video driver specific.
32536 (grub_video_adapter.blit_bitmap): Added blitting operator.
32537 (grub_video_adapter.blit_render_target): Likewise.
32538 (grub_video_blit_bitmap): Likewise.
32539 (grub_video_blit_render_target): Likewise.
32540
32541 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
32542 driver specific render target definition.
32543 (grub_video_vbe_map_rgba): Added driver internal helper.
32544 (grub_video_vbe_unmap_color): Updated to use
32545 grub_video_i386_vbeblit_info.
32546 (grub_video_vbe_get_video_ptr): Likewise.
32547
32548 * include/grub/i386/pc/vbeblit.h
32549 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
32550 grub_video_i386_vbeblit_info.
32551 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32552 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32553 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32554 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32555 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32556 (grub_video_i386_vbeblit_index_index): Likewise.
32557 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
32558 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32559 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32560 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
32561 operator.
32562 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
32563 operator.
32564
32565 * video/i386/pc/vbeblit.c: Updated to reflect changes on
32566 include/grub/i386/pc/vbeblit.h.
32567
32568 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
32569 Updated to use grub_video_i386_vbeblit_info.
32570 (grub_video_i386_vbefill_R8G8B8): Likewise.
32571 (grub_video_i386_vbefill_index): Likewise.
32572 (grub_video_i386_vbefill): Added generic filler.
32573
32574 * video/i386/pc/vbefill.c: Updated to reflect changes on
32575 include/grub/i386/pc/vbefill.h.
32576
32577 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
32578 grub_video_i386_vbeblit_info.
32579 (grub_video_vbe_unmap_color): Likewise.
32580 (grub_video_vbe_blit_glyph): Likewise.
32581 (grub_video_vbe_scroll): Likewise.
32582 (grub_video_vbe_draw_pixel): Removed function.
32583 (grub_video_vbe_get_pixel): Likewise.
32584 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
32585 updated code to use it.
32586 (common_blitter): Added common blitter for render target and bitmap.
32587 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
32588 (grub_video_vbe_blit_render_target): Likewise.
32589
bc8c036d 325902006-07-30 Johan Rydberg <jrydberg@gnu.org>
32591
32592 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
32593 is in text mode if there is no console control protocol instance
32594 available.
32595
684a8eff 325962006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32597
32598 * include/grub/video.h: Code cleanup.
32599
32600 * include/grub/i386/pc/vbe.h: Likewise.
32601
32602 * video/i386/pc/vbe.c: Likewise.
32603
32604 * video/i386/pc/vbeblit.c: Likewise.
32605
32606 * video/i386/pc/vbefill.c: Likewise.
32607
32608 * video/video.c: Likewise. Also added more comments.
32609
5915059b 326102006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32611
32612 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
32613 (struct grub_biosdisk_dap): Likewise.
32614
32615 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
32616 linkage settings for all functions.
32617
90ce5d56 326182006-07-12 Marco Gerards <marco@gnu.org>
32619
32620 * configure.ac (--enable-mm-debug): Fix typo.
32621
32622 * genkernsyms.sh.in: Use proper quoting for `CC'.
32623
43e7f879 326242006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
32625
32626 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
32627 (normal_mod_ASFLAGS): Remove "-m32".
32628
4889bdec 326292006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
32630
32631 * util/misc.c: Include config.h.
32632 [!HAVE_MEMALIGN]: Do not include malloc.h.
32633 (grub_memalign): Use posix_memalign, if present. Then, use
32634 memalign, if present. Otherwise, emit an error.
32635
32636 * util/grub-emu.c: Do not include malloc.h.
32637
32638 * include/grub/util/misc.h: Include unistd.h. This is required for
32639 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
32640 D. Eades III <hde@foobar-qux.org>.
32641
32642 * configure.ac (AC_GNU_SOURCE): Added.
32643 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
32644 type.
32645
fd39d4da 326462006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
32647
32648 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
32649 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
32650
b786f3b5 326512006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
32652
32653 * include/grub/types.h (grub_host_addr_t): Rename to
32654 grub_target_addr_t.
32655 (grub_host_off_t): Rename to grub_target_off_t.
32656 (grub_host_size_t): Rename to grub_target_size_t.
32657 (grub_host_ssize_t): Rename to grub_target_ssize_t.
32658 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
32659
32660 * include/grub/kernel.h (struct grub_module_header): Change type
32661 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
32662 (grub_module_info): Likewise.
f19dbdb7 32663
051988bb 326642006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32665
32666 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
32667 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
32668 Velazquez <jesus.velazquez@gmail.com>.
32669
deae281b 326702006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32671
32672 Count partitions from 1 instead of 0 in the string representation
32673 of partitions. Still use 0-based internally.
f19dbdb7 32674
deae281b 32675 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
32676 (sun_partition_map_iterate): Use grub_partition_t instead of
32677 struct grub_partition *. Cast DESC->START_CYLINDER to
32678 grub_uint64_t after converting the endian.
32679 (sun_partition_map_probe): Subtract 1 for PARTNUM.
32680 (sun_partition_map_get_name): Add 1 to P->INDEX.
32681
32682 * partmap/pc.c (grub_partition_parse): Subtract 1 for
32683 PCDATA->DOS_PART.
32684 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
32685
32686 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
32687 zero instead of one.
32688 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
32689 (gpt_partition_map_get_name): Add 1 into P->INDEX.
32690
32691 * partmap/apple.c (apple_partition_map_iterate): Change the type
32692 of POS to unsigned.
32693 (apple_partition_map_probe): Subtract 1 for PARTNUM.
32694 (apple_partition_map_get_name): Add 1 into P->INDEX.
32695
32696 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
32697 of POS to unsigned.
32698 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
32699 calculate the offset of a partition.
32700 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
32701 (amiga_partition_map_get_name): Add 1 into P->INDEX.
32702
32703 * partmap/acorn.c (acorn_partition_map_find): Change the type of
32704 SECTOR to grub_disk_addr_t.
32705 (acorn_partition_map_iterate): Likewise.
32706 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
32707 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
32708 top.
32709 (acorn_partition_map_get_name): Add 1 into P->INDEX.
32710
32711 * kern/i386/pc/init.c (make_install_device): Add 1 into
32712 GRUB_INSTALL_DOS_PART.
32713
32714 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
32715 conditional.
32716
524a1e6a 327172006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32718
32719 Clean up the code to support 64-bit addressing in disks and
32720 files. This change is not enough for filesystems yet.
f19dbdb7 32721
524a1e6a 32722 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
32723 type of "start" to grub_uint64_t.
32724 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
32725 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
32726 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
32727 convert addresses.
32728
32729 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
32730 to grub_disk_addr_t.
32731
32732 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
32733 string.
32734
32735 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32736
32737 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
32738 to char *.
32739
32740 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
32741
32742 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
32743
32744 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
32745
32746 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
32747 to grub_off_t, to detect an error from grub_file_seek.
32748 (grub_multiboot_load_elf32): Likewise.
32749
32750 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
32751 maximum unsigned long value when an overflow is detected.
32752 (grub_strtoull): New function.
32753 (grub_divmod64): Likewise.
32754 (grub_lltoa): use grub_divmod64.
32755
32756 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
32757 grub_disk_addr_t.
32758 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
32759 the pointer to next character. Use grub_strtoull instead of
32760 grub_strtoul.
32761 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
32762 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
32763 respectively.
32764
fe6b695a 32765 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 32766 return value is signed.
32767 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
32768 test if OFFSET is less than zero, as OFFSET is unsigned now.
32769
32770 * kern/disk.c (struct grub_disk_cache): Change the type of
32771 "sector" to grub_disk_addr_t.
32772 (grub_disk_cache_get_index): Change the type of SECTOR to
32773 grub_disk_addr_t. Calculate the hash with SECTOR casted to
32774 unsigned after shifting.
32775 (grub_disk_cache_invalidate): Change the type of SECTOR to
32776 grub_disk_addr_t.
32777 (grub_disk_cache_unlock): Likewise.
32778 (grub_disk_cache_store): Likewise.
32779 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
32780 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
32781 grub_disk_addr_t and grub_uint64_t, respectively.
32782 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
32783 body, as the value of OFFSET is tweaked by
32784 grub_disk_check_range. Change the types of START_SECTOR, LEN and
32785 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
32786 respectively.
32787 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
32788 body, as the value of OFFSET is tweaked by
32789 grub_disk_check_range. Change the types of LEN and N to
32790 grub_size_t.
32791
32792 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
32793 and "saved_offset" to grub_off_t.
32794 (test_header): Cast BUF to char *.
32795 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
32796 to char *.
32797 (grub_gzio_read): Change the types of OFFSET and SIZE to
32798 grub_off_t and grub_size_t, respectively.
32799
32800 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
32801 Removed.
32802 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
32803 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
32804 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
32805 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
32806 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
32807
32808 * include/grub/types.h (grub_off_t): Unconditionally set to
32809 grub_uint64_t.
32810 (grub_disk_addr_t): Changed to grub_uint64_t.
32811
32812 * include/grub/partition.h (struct grub_partition): Change the
32813 types of "start", "len" and "offset" to grub_disk_addr_t,
32814 grub_uint64_t and grub_disk_addr_t, respectively.
32815 (grub_partition_get_start): Return grub_disk_addr_t.
32816 (grub_partition_get_len): Return grub_uint64_t.
32817
32818 * include/grub/misc.h (grub_strtoull): New prototype.
32819 (grub_divmod64): Likewise.
32820
32821 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
32822 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
32823 grub_off_t, respectively.
32824 All callers and references changed.
32825
32826 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
32827 grub_size_t in "read".
32828 All callers and references changed.
32829
32830 * include/grub/file.h (struct grub_file): Change the types of
32831 "offset" and "size" to grub_off_t and grub_off_t,
32832 respectively. Change the type of SECTOR to grub_disk_addr_t in
32833 "read_hook".
32834 (grub_file_read): Change the type of LEN to grub_size_t.
32835 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
32836 grub_off_t.
32837 (grub_file_size): Return grub_off_t.
32838 (grub_file_tell): Likewise.
32839 All callers and references changed.
32840
32841 * include/grub/disk.h (struct grub_disk_dev): Change the types of
32842 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
32843 "write".
32844 (struct grub_disk): Change the type of "total_sectors" to
32845 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 32846 "read_hook".
524a1e6a 32847 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
32848 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
32849 (grub_disk_write): Likewise.
32850 All callers and references changed.
32851
32852 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
32853 char * for grub_strncmp to silence gcc.
32854 (grub_iso9660_mount): Likewise.
32855 (grub_iso9660_mount): Likewise.
32856 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
32857 return statement.
32858 (grub_iso9660_iterate_dir): Likewise.
32859 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
32860
32861 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
32862 LEN to grub_disk_addr_t and grub_size_t, respectively.
32863
32864 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32865
32866 * fs/jfs.c (grub_jfs_read_file): Likewise.
32867
32868 * fs/minix.c (grub_jfs_read_file): Likewise.
32869
32870 * fs/sfs.c (grub_jfs_read_file): Likewise.
32871
32872 * fs/ufs.c (grub_jfs_read_file): Likewise.
32873
32874 * fs/xfs.c (grub_jfs_read_file): Likewise.
32875
32876 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
32877 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
32878 respectively.
32879
32880 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
32881 BLKNR to -1 instead of returning GRUB_ERRNO.
32882 (grub_ext2_read_file): Change the types of SECTOR and
32883 LEN to grub_disk_addr_t and grub_size_t, respectively.
32884
32885 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
32886 LEN to grub_disk_addr_t and grub_size_t, respectively.
32887
32888 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
32889 grub_file_read.
32890
32891 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
32892 string. Do not cast SECTOR explicitly.
32893
32894 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
32895 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
32896 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
32897 grub_disk_addr_t and grub_size_t, respectively. If the sector is
32898 over 2TB and LBA mode is not supported, raise an error.
32899 (get_safe_sectors): New function.
32900 (grub_biosdisk_read): Use get_safe_sectors.
32901 (grub_biosdisk_write): Likewise.
32902
32903 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
32904 (grub_efidisk_write): Likewise.
32905
32906 * disk/loopback.c (delete_loopback): Cosmetic changes.
32907 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
32908 correctly.
32909 (grub_loopback_open): Likewise.
32910 (grub_loopback_read): Likewise. Also, change the type of POS to
32911 grub_off_t, and fix the usage of grub_memset.
32912
32913 * commands/i386/pc/play.c: Include grub/machine/time.h.
32914
32915 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
32916 print FILE->SIZE.
32917
32918 * commands/configfile.c: Include grub/env.h.
32919
32920 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
32921 GRUB_ERRNO directly instead. Change the type of POS to
32922 grub_off_t. Follow the coding standard.
32923
32924 * commands/blocklist.c: Include grub/partition.h.
32925 (grub_cmd_blocklist): Return an error if the underlying device is
32926 not a disk. Take the starting sector of a partition into account,
32927 if a partition is used.
32928
32929 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
32930 a length field.
32931 (lba_mode): Support 64-bit addresses.
32932 (chs_mode): Likewise.
32933 (copy_buffer): Adapted to the new offsets of a length field and a
32934 segment field.
32935 (blocklist_default_start): Allocate 64-bit space.
32936
32937 * boot/i386/pc/boot.S (force_lba): Removed.
32938 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 32939 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 32940 space.
32941 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
32942 is useless.
32943 (lba_mode): Refactored to support a 64-bit address. More size
32944 optimization.
32945 (setup_sectors): Likewise.
32946
53af98ad 329472006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32948
32949 * DISTLIST: Added include/grub/i386/linux.h. Removed
32950 include/grub/i386/pc/linux.h
32951
32952 * configure.ac (AC_INIT): Bumped to 1.94.
32953
32954 * config.guess: Updated from gnulib.
32955 * config.sub: Likewise.
32956 * install-sh: Likewise.
32957 * mkinstalldirs: Likewise.
32958
b4c1940a 329592006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32960
32961 * conf/common.rmk (grub_modules_init.lst): Depended on
32962 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
32963 MODSRCFILES.
32964
32965 * genmk.rb (PModule::rule): Reverted the previous change.
32966
cfca1cfd 329672006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32968
32969 * conf/common.rmk (grub_modules_init.lst): Depends on
32970 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
32971 that the target does not exist before producing.
32972 (grub_modules_init.h): Remove the target before generating.
32973 (grub_emu_init.c): Likewise.
32974
32975 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
32976
aa6d7826 329772006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
32978
32979 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
32980 for the target-specific tests. Make sure that we also have the
32981 up-to-date target variables for those tests.
32982
26c607b9 329832006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
32984
32985 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
32986 (PModule::rule): Likewise.
32987
0162321a 329882006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
32989
32990 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
32991 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
32992 target-specific flags should be prefixed.
32993 (PModule::rule): Likewise.
32994
6c826348 329952006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
32996
32997 * configure.ac (CMP): Check if cmp is available explicitly.
32998
b977bf01 329992006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
33000
33001 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
33002 (target_cpu): New variable.
33003 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 33004
b977bf01 33005 * util/i386/pc/grub-install.in (host_cpu): Removed.
33006 (target_cpu): New variable.
33007 (pkglibdir): Use target_cpu instead of host_cpu.
33008
33009 * util/genmoddep.c: Removed.
f19dbdb7 33010
b977bf01 33011 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
33012 instead of GRUB_HOST_SIZEOF_VOID_P.
33013 * kern/dl.c: Likewise.
33014
33015 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
33016 ...
33017 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33018 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33019 (GRUB_TARGET_SIZEOF_LONG): ... this.
33020 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33021 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33022 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33023 to ...
33024 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33025 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33026 (GRUB_TARGET_SIZEOF_LONG): ... this.
33027 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33028 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33029 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33030 to ...
33031 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33032 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33033 (GRUB_TARGET_SIZEOF_LONG): ... this.
33034 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33035 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33036
33037 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
33038 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
33039 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
33040 instead of GRUB_HOST_SIZEOF_LONG.
33041 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
33042 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
33043 GRUB_CPU_WORDS_BIGENDIAN.
33044 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
33045 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
33046 grub_host_ssize_t.
33047
33048 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
33049 (genmoddep_SOURCES): Likewise.
33050 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
33051 (genmoddep_SOURCES): Likewise.
33052 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
33053 (genmoddep_SOURCES): Likewise.
33054 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
33055 Likewise.
33056 (genmoddep_SOURCES): Likewise.
33057
33058 * genmoddep.awk: New file.
33059
33060 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
33061 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
33062 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
33063 (PModule::rule): Likewise.
33064 (Program::rule): Likewise.
33065 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
33066 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
33067 respectively.
33068
33069 * configure.ac: Rewritten intensively to use host and target
33070 instead of build and host, respectively.
33071
33072 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
33073 (host_cpu): Removed.
33074 (target_cpu): New variable.
33075 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
33076 (BUILD_CC): Removed.
33077 (BUILD_CFLAGS): Likewise.
33078 (BUILD_CPPFLAGS): Likewise.
33079 (TARGET_CC): New variable.
33080 (TARGET_CFLAGS): Likewise.
33081 (TARGET_CPPFLAGS): Likewise.
33082 (TARGET_LDFLAGS): Likewise.
33083 (AWK): Likewise.
33084 (include): Use target_cpu instead of host_cpu.
33085 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 33086
b977bf01 33087 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
33088
f09771a1 330892006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
33090
33091 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
33092 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
33093 field 'false' to 'exec_on_false'.
33094 (grub_script_create_cmdif): Renamed argument names to reflect above
33095 changes.
33096
33097 * normal/execute.c (grub_script_execute_cmdif): Likewise.
33098
33099 * normal/script.c (grub_script_create_cmdif): Likewise.
33100
118f4fb3 331012006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
33102
33103 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
33104 top.
33105 (grub_hfsplus_btree_recptr): Likewise.
33106 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
33107 FILEBLOCK both to pass a block number and store next block
33108 number.
33109 (grub_hfsplus_read_block): Rewritten heavily to support an extent
33110 overflow file correctly. Specify errors appropriately, because
33111 fshelp expects that GRUB_ERRNO is set when fails. Reuse
33112 grub_hfsplus_btree_recptr to get the pointer to a found key.
33113 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
33114 is found.
33115
33116 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
33117 linux.mod.
33118 (_linux_mod_SOURCES): New variable.
33119 (_linux_mod_CFLAGS): Likewise.
33120 (_linux_mod_LDFLAGS): Likewise.
33121 (linux_mod_SOURCES): Likewise.
33122 (linux_mod_CFLAGS): Likewise.
33123 (linux_mod_LDFLAGS): Likewise.
33124
33125 * DISTLIST: Added loader/i386/efi/linux.c,
33126 loader/i386/efi/linux_normal.c and
33127 include/grub/i386/efi/loader.h.
33128
33129 * loader/i386/efi/linux.c: New file.
33130 * loader/i386/efi/linux_normal.c: Likewise.
33131 * include/grub/i386/efi/loader.h: Likewise.
33132
89a7d726 331332006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
33134
33135 * commands/blocklist.c: New file.
33136
33137 * DISTLIST: Added commands/blocklist.c.
33138
33139 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 33140 color for the background, and a darker color for the foreground.
89a7d726 33141 (grub_console_checkkey): Return READ_KEY.
33142 (grub_console_cls): Set the background to
33143 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
33144
33145 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
33146
33147 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
33148 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
33149
33150 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
33151 prototype.
33152
33153 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
33154 BG. The spec is wrong again.
33155
33156 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
33157 prototype.
33158 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
33159
33160 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33161 commands/blocklist.c.
33162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 33163
89a7d726 33164 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
33165 (blocklist_mod_SOURCES): New variable.
33166 (blocklist_mod_CFLAGS): Likewise.
33167 (blocklist_mod_LDFLAGS): Likewise.
33168
75c8f258 331692006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
33170
33171 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
33172 duplication.
33173 (lba_mode): Use %eax more intensively to reduce the code size.
33174
da2eb181 331752006-05-20 Marco Gerards <marco@gnu.org>
33176
33177 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
33178
33179 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
33180 for `menuentry'.
33181 (script): Accept leading newlines.
33182 (newlines): New rule to describe 0 or more newlines.
33183 (commands): Accept `command' with trailing newline. Fixed the
33184 order in which arguments were passed to `grub_script_add_cmd'.
33185 Accept commands separated by newlines.
33186 (function): Changed to accept newlines.
33187 (menuentry) Rewritten.
33188
33189 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
33190 front of the list, instead of to the end.
33191
577b4050 331922006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
33193
33194 * util/i386/pc/grub-install.in (bindir): New variable.
33195 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
33196 Shaver <lbgwjl@gmail.com>.
33197
0d6e1189 331982006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
33199
33200 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
33201 grub/machine/linux.h
33202 * loader/i386/pc/linux.c: Likewise.
33203
33204 * include/grub/i386/pc/linux.h: Moved to ...
33205 * include/grub/i386/linux.h: ... here.
33206
33207 * include/grub/i386/linux.h (struct linux_kernel_params): New
33208 struct.
f19dbdb7 33209
31b86e9f 332102006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
33211
33212 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
33213 checking.
33214 (grub_video_vbe_blit_glyph): Likewise.
33215 (grub_video_vbe_blit_bitmap): Likewise.
33216 (grub_video_vbe_blit_render_target): Likewise.
33217
83b984de 332182006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
33219
33220 * configure.ac (--with-platform): Properly quote the square
33221 brackets.
33222
5f0413bd 332232006-05-08 Marco Gerards <marco@gnu.org>
33224
33225 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
33226 this...
33227 (kernel_elf_HEADERS): ...to this. Updated all users.
33228 (grubof_symlist.c): Renamed from this...
33229 (kernel_elf_symlist.c): ...to this. Updated all users.
33230 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33231 (grubof_SOURCES): Renamed from this...
33232 (kernel_elf_SOURCES): ...to this.
33233 (grubof_HEADERS): Renamed from this...
33234 (kernel_elf_HEADERS): ...to this.
33235 (grubof_CFLAGS): Renamed from this...
33236 (kernel_elf_CFLAGS): ...to this.
33237 (grubof_ASFLAGS): Renamed from this...
33238 (kernel_elf_ASFLAGS): ...to this.
33239 (grubof_LDFLAGS): Renamed from this...
33240 (kernel_elf_LDFLAGS): ...to this.
33241
33242 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
33243 this...
33244 (kernel_elf_HEADERS): ...to this. Updated all users.
33245 (grubof_symlist.c): Renamed from this...
33246 (kernel_elf_symlist.c): ...to this. Updated all users.
33247 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33248 (grubof_SOURCES): Renamed from this...
33249 (kernel_elf_SOURCES): ...to this.
33250 (grubof_HEADERS): Renamed from this...
33251 (kernel_elf_HEADERS): ...to this.
33252 (grubof_CFLAGS): Renamed from this...
33253 (kernel_elf_CFLAGS): ...to this.
33254 (grubof_ASFLAGS): Renamed from this...
33255 (kernel_elf_ASFLAGS): ...to this.
33256 (grubof_LDFLAGS): Renamed from this...
33257 (kernel_elf_LDFLAGS): ...to this.
33258
33259 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
33260 `kernel.elf' instead of `grubof'.
33261
05568c2e 332622006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
33263
33264 Add --with-platform to configure. Use pkglibdir instead of
33265 pkgdatadir. This is reported by Roger Leigh.
33266
33267 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
33268 (host_vendor): Likewise.
33269 (host_os): Likewise.
33270 (pkgdatadir): Likewise.
33271 (platform): New variable.
33272 (pkglibdir): Likewise.
33273 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 33274
05568c2e 33275 * util/i386/pc/grub-install.in (datadir): Removed.
33276 (host_vendor): Likewise.
33277 (host_os): Likewise.
33278 (pkgdatadir): Likewise.
33279 (platform): New variable.
33280 (pkglibdir): Likewise.
33281 Use PKGLIBDIR instead of PKGDATADIR.
33282
33283 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
33284 instead of GRUB_DATADIR.
33285 (main): Likewise.
33286 * util/i386/pc/grub-mkimage.c (usage): Likewise.
33287 (main): Likewise.
33288 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33289 (main): Likewise.
33290
33291 * configure.ac (--with-platform): New option.
33292 Use PLATFORM instead of HOST_VENDOR to specify a platform.
33293
33294 * Makefile.in: Include a makefile based on PLATFORM instead of
33295 HOST_VENDOR.
33296 (pkgdatadir): Not appended by the machine type.
33297 (pkglibdir): Appended by the machine type.
33298 (host_vendor): Removed.
33299 (platform): New variable.
33300 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
33301 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
33302 (uninstall): Likewise.
33303
4e93851c 333042006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
33305
33306 Use the environment context in the menu. Remove the commands
33307 "default" and "timeout", and use variables instead.
f19dbdb7 33308
4e93851c 33309 * normal/menu.c: Include grub/env.h.
33310 (print_entry): Cast TITLE to silence gcc.
33311 (get_timeout): New function.
33312 (set_timeout): Likewise.
33313 (get_entry_number): Likewise.
33314 (run_menu): Use a default entry, a fallback entry and a timeout
33315 in the environment variables "default", "fallback" and
33316 "timeout". Also, tweak the default entry if it is not within the
33317 current menu entries.
33318 (grub_menu_run): Use a fallback entry in the environment variable
33319 "fallback".
33320
33321 * normal/main.c (read_config_file): Do not initialize
33322 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
33323 NEWMENU->TIMEOUT.
33324 (grub_normal_execute): Use a data slot to store the menu.
33325
33326 * include/grub/normal.h (struct grub_menu): Removed default_entry,
33327 fallback_entry and timeout.
33328 (struct grub_menu_list): Removed.
33329 (grub_menu_list_t): Likewise.
33330 (struct grub_context): Likewise.
33331 (grub_context_t): Likewise.
33332 (grub_context_get): Likewise.
33333 (grub_context_get_current_menu): Likewise.
33334 (grub_context_push_menu): Likewise.
33335 (grub_context_pop_menu): Likewise.
33336 (grub_default_init): Likewise.
33337 (grub_default_fini): Likewise.
33338 (grub_timeout_init): Likewise.
33339 (grub_timeout_fini): Likewise.
33340
33341 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
33342 and timeout.mod.
33343 (normal_mod_SOURCES): Removed normal/context.c.
33344
33345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
33346 commands/default.c, commands/timeout.c and normal/context.c.
33347 (normal_mod_SOURCES): Removed normal/context.c.
33348
33349 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
33350 commands/timeout.c and normal/context.c.
33351 (normal_mod_SOURCES): Removed normal/context.c.
33352
33353 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
33354 commands/default.c, commands/timeout.c and normal/context.c.
33355 (normal_mod_SOURCES): Removed normal/context.c.
33356
33357 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
33358 timeout.mod.
33359 (default_mod_SOURCES): Removed.
33360 (default_mod_CFLAGS): Likewise.
33361 (default_mod_LDFLAGS): Likewise.
33362 (timeout_mod_SOURCES): Removed.
33363 (timeout_mod_CFLAGS): Likewise.
33364 (timeout_mod_LDFLAGS): Likewise.
33365
33366 * DISTLIST: Removed commands/default.c, commands/timeout.c and
33367 normal/context.c.
33368
33369 * commands/default.c: Removed.
33370 * commands/timeout.c: Likewise.
33371 * normal/context.c: Likewise.
33372
1eb9cc1d 333732006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
33374
33375 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
33376
385bd9c1 333772006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
33378
33379 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
33380 "next" to "prev" for readability.
33381 (struct grub_env_sorted_var): New struct.
33382 (grub_env_context): Renamed to ...
33383 (initial_context): ... this.
33384 (grub_env_var_context): Renamed to ...
33385 (current_context): ... this.
33386 (grub_env_find): Look only at CURRENT_CONTEXT.
33387 (grub_env_context_open): Rewritten to copy exported variables from
33388 previous context.
33389 (grub_env_context_close): Rewritten according to the new
33390 scheme. Also, add an assertion to prevent the initial context from
33391 removed.
33392 (grub_env_insert): Removed the code for the sorted list.
33393 (grub_env_remove): Likewise.
33394 (grub_env_export): Simply mark the variable with
33395 GRUB_ENV_VAR_GLOBAL.
33396 (grub_env_set): A cosmetic change for naming consistency.
33397 (grub_env_get): Likewise.
33398 (grub_env_unset): Likewise.
33399 (grub_env_iterate): Rewritten to sort variables within this
33400 function.
33401 (grub_register_variable_hook): Fixed for naming consistency. Call
33402 grub_env_find again, only if NAME is not found at the first time.
33403 (mangle_data_slot_name): New function.
33404 (grub_env_set_data_slot): Likewise.
33405 (grub_env_get_data_slot): Likewise.
33406 (grub_env_unset_data_slot): Likewise.
33407
33408 * include/grub/env.h (grub_env_var_type): New enum.
33409 (GRUB_ENV_VAR_LOCAL): New constant.
33410 (GRUB_ENV_VAR_GLOBAL): Likewise.
33411 (GRUB_ENV_VAR_DATA): Likewise.
33412 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
33413 "type".
33414 (grub_env_set): Replace VAR with NAME for consistency.
33415 (grub_register_variable_hook): Likewise.
33416 (grub_env_export): Specify the name of the argument.
33417 (grub_env_set_data_slot): New prototype.
33418 (grub_env_get_data_slot): Likewise.
33419 (grub_env_unset_data_slot): Likewise.
33420
7f362539 334212006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33422
33423 Extend the loader so that GRUB can accept a loader which comes
33424 back to GRUB when a loaded image exits. Also, this change adds
33425 support for a chainloader on EFI.
f19dbdb7 33426
7f362539 33427 * term/efi/console.c: Include grub/misc.h.
33428 (grub_console_checkkey): Display a scan code on the top for
33429 debugging. This will be removed once the EFI port gets stable.
33430 Correct the scan code mapping.
33431
33432 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
33433 allocate memory from larger regions, in order to reduce the number
33434 of allocated regions. Otherwise, the MacOSX loader panics.
33435 (filter_memory_map): Avoid less than 1MB for compatibility with
33436 other loaders.
33437 (add_memory_regions): Allocate from the tail of a region, if
33438 possible, to avoid allocating a region near to 1MB, for the MacOSX
33439 loader.
33440
33441 * kern/efi/init.c (grub_efi_set_prefix): Specify
33442 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
33443
33444 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
33445 argument IMAGE_HANDLE and specify it to get a loaded image.
33446 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
33447 grub_efi_get_loaded_image.
fe6b695a 33448 (grub_efi_get_filename): Divide the length by the size of
7f362539 33449 grub_efi_char16_t.
33450 (grub_efi_get_device_path): New function.
33451 (grub_efi_print_device_path): Print End Device Path nodes. Divide
33452 the length by the size of grub_efi_char16_t for a file path device
33453 path node.
33454
33455 * kern/loader.c (grub_loader_noreturn): New variable.
33456 (grub_loader_set): Accept a new argument NORETURN. Set
33457 GRUB_LOADER_NORETURN to NORETURN.
33458 All callers changed.
33459 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
33460 grub_machine_fini.
33461
33462 * include/grub/efi/efi.h (grub_efi_get_device_path): New
33463 prototype.
33464 (grub_efi_get_loaded_image): Take an argument to specify an image
33465 handle.
33466
33467 * include/grub/loader.h (grub_loader_set): Added one more argument
33468 NORETURN.
33469
33470 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
33471 instead of grub_efi_open_protocol.
33472 (grub_efidisk_get_device_name): Likewise.
33473 (grub_efidisk_close): Print a newline.
33474 (grub_efidisk_get_device_handle): Fixed to use
33475 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
33476 GRUB_EFI_DEVICE_PATH_TYPE.
33477
33478 * disk/efi/efidisk.c (device_path_guid): Moved to ...
33479 * kern/efi/efi.c (device_path_guid): ... here.
33480
33481 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
33482 chain.mod.
33483 (kernel_mod_HEADERS): Added efi/disk.h.
33484 (_chain_mod_SOURCES): New variable.
33485 (_chain_mod_CFLAGS): Likewise.
33486 (_chain_mod_LDFLAGS): Likewise.
33487 (chain_mod_SOURCES): Likewise.
33488 (chain_mod_CFLAGS): Likewise.
33489 (chain_mod_LDFLAGS): Likewise.
33490
33491 * DISTLIST: Added include/grub/efi/chainloader.h,
33492 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
33493
33494 * include/grub/efi/chainloader.h: New file.
33495 * loader/efi/chainloader.c: Likewise.
33496 * loader/efi/chainloader_normal.c: Likewise.
33497
c0111d6e 334982006-04-30 Marco Gerards <marco@gnu.org>
33499
33500 * commands/configfile.c (grub_cmd_source): New function.
33501 (GRUB_MOD_INIT): Register the commands `source' and `.'.
33502 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
33503
df5341da 335042006-04-30 Marco Gerards <marco@gnu.org>
33505
33506 * normal/execute.c (grub_script_execute_cmd): Change the return
33507 type to `grub_err_t'. Correctly return the error.
33508 (grub_script_execute_cmdline): In case a command line is not a
33509 command or a function, try to interpret it as an assignment.
33510
f85934bd 335112006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33512
33513 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
33514 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
33515 skip a node whose name is obviously invalid as UTF-16,
33516 i.e. contains a NUL character. Stop the iteration when the last
33517 directory entry is found. Instead of using the return value of
33518 grub_hfsplus_btree_iterate_node, store the value in RET and use
33519 it, because the iterator can be stopped by the last directory
33520 entry.
33521
8f8a2cf8 335222006-04-30 Marco Gerards <marco@gnu.org>
33523
33524 * include/grub/env.h (grub_env_export): New prototype. Reported
33525 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
33526
a27e84ce 335272006-04-30 Marco Gerards <marco@gnu.org>
33528
33529 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
33530 size of the extents in a catalog file record.
33531
eaef0553 335322006-04-29 Marco Gerards <marco@gnu.org>
33533
33534 * commands/configfile.c (grub_cmd_configfile): Execute the
33535 configfile within its own context.
33536
33537 * include/grub/env.h (grub_env_context_open): New prototype.
33538 (grub_env_context_close): Likewise.
33539
33540 * kern/env.c (grub_env): Removed.
33541 (grub_env_sorted): Likewise.
33542 (grub_env_context): New variable.
33543 (grub_env_var_context): Likewise.
33544 (grub_env_find): Search both the active context and the global
33545 context.
33546 (grub_env_context_open): New function.
33547 (grub_env_context_close): Likewise.
33548 (grub_env_insert): Likewise.
33549 (grub_env_remove): Likewise.
33550 (grub_env_export): Likewise.
33551 (grub_env_set): Changed to use helper functions to avoid code
33552 duplication.
33553 (grub_env_iterate): Rewritten so both the current context and the
33554 global context are being used.
33555
33556 * normal/command.c (export_command): New function.
33557 (grub_command_init): Register the `export' function.
33558
7b455f4d 335592006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
33560
33561 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
33562 explicitly to suppress gcc's warnings.
33563 * fs/fat.c (grub_fat_find_dir): Likewise.
33564 (grub_fat_label): Likewise.
33565 * fs/xfs.c (grub_xfs_read_inode): Likewise.
33566 (grub_xfs_mount): Likewise.
33567 (grub_xfs_label): Likewise.
33568 * fs/affs.c (grub_affs_mount): Likewise.
33569 (grub_affs_label): Likewise.
33570 (grub_affs_iterate_dir): Likewise.
33571 * fs/sfs.c (grub_sfs_mount): Likewise.
33572 (grub_sfs_iterate_dir): Likewise.
33573 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
33574 * fs/hfs.c (grub_hfs_mount): Likewise.
33575 (grub_hfs_cmp_catkeys): Likewise.
33576 (grub_hfs_find_dir): Likewise.
33577 (grub_hfs_dir): Likewise.
33578 (grub_hfs_label): Likewise.
33579 * fs/jfs.c (grub_jfs_mount): Likewise.
33580 (grub_jfs_opendir): Likewise.
33581 (grub_jfs_getent): Likewise.
33582 (grub_jfs_lookup_symlink): Likewise.
33583 (grub_jfs_label): Likewise.
33584 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
33585 (grub_hfsplus_iterate_dir): Likewise.
33586 (grub_hfsplus_btree_iterate_node): Made static.
33587
33588 * util/grub-emu.c (prefix): New variable.
33589 (grub_machine_set_prefix): New function.
33590 (main): Do not set the environment variable "prefix" here. Only
33591 set PREFIX, which is used later by grub_machine_set_prefix.
33592
33593 * include/grub/video.h: Do not include grub/symbol.h.
33594 (grub_video_register): Not exported. This symbol is not defined in
33595 the kernel.
33596 (grub_video_unregister): Likewise.
33597 (grub_video_iterate): Likewise.
33598 (grub_video_setup): Likewise.
33599 (grub_video_restore): Likewise.
33600 (grub_video_get_info): Likewise.
33601 (grub_video_get_blit_format): Likewise.
33602 (grub_video_set_palette): Likewise.
33603 (grub_video_get_palette): Likewise.
33604 (grub_video_set_viewport): Likewise.
33605 (grub_video_get_viewport): Likewise.
33606 (grub_video_map_color): Likewise.
33607 (grub_video_map_rgb): Likewise.
33608 (grub_video_map_rgba): Likewise.
33609 (grub_video_fill_rect): Likewise.
33610 (grub_video_blit_glyph): Likewise.
33611 (grub_video_blit_bitmap): Likewise.
33612 (grub_video_blit_render_target): Likewise.
33613 (grub_video_scroll): Likewise.
33614 (grub_video_swap_buffers): Likewise.
33615 (grub_video_create_render_target): Likewise.
33616 (grub_video_delete_render_target): Likewise.
33617 (grub_video_set_active_render_target): Likewise.
33618
33619 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
33620 Undefined.
33621 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
33622
33623 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
33624 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33625 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33626 instead of $(srcdir)/genkernsyms.sh.
33627
33628 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
33629 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33630 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33631 instead of $(srcdir)/genkernsyms.sh.
33632
33633 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
33634 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33635 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33636 instead of $(srcdir)/genkernsyms.sh.
33637
33638 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
33639 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33640 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33641 instead of $(srcdir)/genkernsyms.sh.
33642
33643 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
33644 genkernsyms.sh.
33645
33646 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
33647 genkernsyms.sh.
33648 (gensymlist.sh): New target.
33649 (genkernsyms.sh): Likewise.
33650
33651 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
33652 genkernsyms.sh.in and gensymlist.sh.in.
33653
33654 * genkernsyms.sh: Removed.
33655 * gensymlist.sh: Likewise.
f19dbdb7 33656
7b455f4d 33657 * genkernsyms.sh.in: New file.
33658 * gensymlist.sh.in: Likewise.
33659
1885bb27 336602006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33661
33662 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
33663 clobber "prefix", since we may have already set it manually.
33664
71538dff 336652006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33666
33667 * kern/misc.c (abort): New alias for grub_abort.
33668
2965c7cc 336692006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
33670
33671 A new machine-specific function "grub_machine_set_prefix" is
33672 defined. This is called after loading modules, so that a prefix
33673 initialization can use modules. Also, this change adds an
33674 intensive debugging feature for the memory manager via the
33675 configure option "--enable-mm-debug".
f19dbdb7 33676
2965c7cc 33677 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
33678 PART.LEN.
33679
33680 * kern/sparc64/ieee1275/init.c (abort): Removed.
33681 (grub_stop): Likewise.
33682 (grub_exit): New function.
33683 (grub_set_prefix): Renamed to ...
33684 (grub_machine_set_prefix): ... this.
33685 (grub_machine_init): Do not call grub_set_prefix.
33686
33687 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
33688 (grub_machine_set_prefix): ... this.
33689 (grub_machine_init): Do not call grub_set_prefix.
33690
33691 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
33692 (grub_machine_init): Do not set the prefix here.
33693
33694 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
33695
33696 * kern/efi/init.c: Include grub/mm.h.
33697 (grub_efi_set_prefix): New function.
33698
33699 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
33700 (grub_efi_get_filename): New function.
33701 (grub_print_device_path): Renamed to ...
33702 (grub_efi_print_device_path): ... this.
33703
33704 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
33705 [MM_DEBUG] (grub_realloc): Likewise.
33706 [MM_DEBUG] (grub_free): Likewise.
33707 [MM_DEBUG] (grub_memalign): Likewise.
33708 [MM_DEBUG] (grub_mm_debug): New variable.
33709 [MM_DEBUG] (grub_debug_malloc): New function.
33710 [MM_DEBUG] (grub_debug_free): New function.
33711 [MM_DEBUG] (grub_debug_realloc): New function.
33712 [MM_DEBUG] (grub_debug_memalign): New function.
33713
33714 * kern/misc.c (grub_abort): Print a newline to distinguish
33715 the message.
33716
33717 * kern/main.c (grub_main): Call grub_machine_set_prefix and
33718 grub_set_root_dev after loading modules. This is necessary when
33719 setting a prefix depends on modules.
33720
33721 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
33722 (grub_efi_print_device_path): ... this.
33723 (grub_efi_get_filename): New prototype.
33724 (grub_efi_set_prefix): Likewise.
33725
33726 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
33727 and grub/disk.h.
33728 (grub_efidisk_get_device_handle): New prototype.
33729 (grub_efidisk_get_device_name): Likewise.
33730
33731 * include/grub/mm.h: Include config.h.
33732 (MM_DEBUG): Removed.
33733 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
33734 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
33735 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
33736 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
33737 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
33738 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
33739 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
33740 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
33741 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
33742
33743 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
33744
33745 * disk/efi/efidisk.c: Include grub/partition.h.
33746 (iterate_child_devices): New function.
33747 (add_device): First, compare only last device path nodes, so that
33748 devices are sorted by the types.
33749 (grub_efidisk_get_device_handle): New function.
33750 (grub_efidisk_get_device_name): Likewise.
33751
33752 * configure.ac (--enable-mm-debug): New option to enable the
33753 memory manager debugging feature. This makes the binary much
33754 bigger, so is disabled by default.
33755
9cacaa17 337562006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
33757
33758 Use grub_abort instead of grub_stop, and grub_exit must be
33759 define in each architecture now. Also, this change adds support
33760 for EFI disks.
f19dbdb7 33761
9cacaa17 33762 * util/i386/pc/grub-probefs.c: Include grub/term.h.
33763 (grub_getkey): New function.
33764 (grub_term_get_current): Likewise.
33765
33766 * util/i386/pc/grub-setup.c: Include grub/term.h.
33767 (grub_getkey): New function.
33768 (grub_term_get_current): Likewise.
33769
33770 * util/misc.c (grub_stop): Renamed to ...
33771 (grub_exit): ... this.
33772
33773 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
33774 (grub_exit): ... this.
33775 (grub_machine_init): Use grub_abort instead of abort.
33776 (grub_stop): Removed.
33777
33778 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
33779 abort.
33780
33781 * kern/i386/pc/startup.S (grub_exit): New function.
33782 (cold_reboot): New label.
33783
33784 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
33785 (grub_efi_init): Call grub_efidisk_init.
33786 (grub_efi_fini): Call grub_efidisk_fini.
33787
33788 * kern/efi/efi.c: Include grub/mm.h.
33789 (grub_efi_console_control_guid): Renamed to ...
33790 (console_control_guid): ... this.
33791 (grub_efi_loaded_image_guid): Renamed to ...
33792 (loaded_image_guid): ... this.
33793 (grub_efi_locate_handle): New function.
33794 (grub_efi_open_protocol): Likewise.
33795 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
33796 GRUB_EFI_CONSOLE_CONTROL_GUID.
33797 (grub_efi_exit): Removed.
33798 (grub_stop): Likewise.
33799 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
33800 (grub_exit): New function.
33801 (grub_print_device_path): Likewise.
33802
33803 * kern/rescue.c (grub_rescue_cmd_exit): New function.
33804 (grub_enter_rescue_mode): Register "exit".
33805
33806 * kern/misc.c (grub_real_dprintf): A cosmetic change.
33807 (grub_abort): New function.
33808
33809 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
33810
33811 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
33812
33813 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
33814
33815 * include/grub/efi/efi.h (grub_efi_exit): Removed.
33816 (grub_print_device_path): New prototype.
33817 (grub_efi_locate_handle): Likewise.
33818 (grub_efi_open_protocol): Likewise.
33819
33820 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
33821 * disk/efi/efidisk.c: Likewise.
33822
33823 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
33824
33825 * include/grub/efi/console_control.h
33826 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
33827
33828 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
33829 last 8 bytes as an array.
33830 (GRUB_EFI_DISK_IO_GUID): New macro.
33831 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
33832 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
33833 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
33834 grub_uint8_t.
33835 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
33836 (struct grub_efi_device_path): Rename the member "sub_type" to
33837 "subtype".
33838 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
33839 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
33840 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
33841 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
33842 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
33843 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
33844 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
33845 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
33846 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
33847 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
33848 (struct grub_efi_pci_device_path): New structure.
33849 (grub_efi_pci_device_path_t): New type.
33850 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
33851 (struct grub_efi_pccard_device_path): New structure.
33852 (grub_efi_pccard_device_path_t): New type.
33853 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
33854 (struct grub_efi_memory_mapped_device_path): New structure.
33855 (grub_efi_memory_mapped_device_path_t): New type.
33856 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
33857 (struct grub_efi_vendor_device_path): New structure.
33858 (grub_efi_vendor_device_path_t): New type.
33859 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
33860 (struct grub_efi_controller_device_path): New structure.
33861 (grub_efi_controller_device_path_t): New type.
33862 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
33863 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
33864 (struct grub_efi_acpi_device_path): New structure.
33865 (grub_efi_acpi_device_path_t): New type.
33866 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
33867 (struct grub_efi_expanded_acpi_device_path): New structure.
33868 (grub_efi_expanded_acpi_device_path_t): New type.
33869 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
33870 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
33871 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
33872 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
33873 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
33874 (struct grub_efi_atapi_device_path): New structure.
33875 (grub_efi_atapi_device_path_t): New type.
33876 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
33877 (struct grub_efi_fibre_channel_device_path): New structure.
33878 (grub_efi_fibre_channel_device_path_t): New type.
33879 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
33880 (struct grub_efi_1394_device_path): New structure.
33881 (grub_efi_1394_device_path_t): New type.
33882 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
33883 (struct grub_efi_usb_device_path): New structure.
33884 (grub_efi_usb_device_path_t): New type.
33885 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
33886 (struct grub_efi_usb_class_device_path): New structure.
33887 (grub_efi_usb_class_device_path_t): New type.
33888 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
33889 (struct grub_efi_i2o_device_path): New structure.
33890 (grub_efi_i2o_device_path_t): New type.
33891 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
33892 (struct grub_efi_mac_address_device_path): New structure.
33893 (grub_efi_mac_address_device_path_t): New type.
33894 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
33895 (struct grub_efi_ipv4_device_path): New structure.
33896 (grub_efi_ipv4_device_path_t): New type.
33897 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
33898 (struct grub_efi_ipv6_device_path): New structure.
33899 (grub_efi_ipv6_device_path_t): New type.
33900 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
33901 (struct grub_efi_infiniband_device_path): New structure.
33902 (grub_efi_infiniband_device_path_t): New type.
33903 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
33904 (struct grub_efi_uart_device_path): New structure.
33905 (grub_efi_uart_device_path_t): New type.
33906 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
33907 (struct grub_efi_vendor_messaging_device_path): New structure.
33908 (grub_efi_vendor_messaging_device_path_t): New type.
33909 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
33910 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
33911 (struct grub_efi_hard_drive_device_path): New structure.
33912 (grub_efi_hard_drive_device_path_t): New type.
33913 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
33914 (struct grub_efi_cdrom_device_path): New structure.
33915 (grub_efi_cdrom_device_path_t): New type.
33916 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
33917 (struct grub_efi_vendor_media_device_path): New structure.
33918 (grub_efi_vendor_media_device_path_t): New type.
33919 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
33920 (struct grub_efi_file_path_device_path): New structure.
33921 (grub_efi_file_path_device_path_t): New type.
33922 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
33923 (struct grub_efi_protocol_device_path): New structure.
33924 (grub_efi_protocol_device_path_t): New type.
33925 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
33926 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
33927 (struct grub_efi_bios_device_path): New structure.
33928 (grub_efi_bios_device_path_t): New type.
33929 (struct grub_efi_disk_io): New structure.
33930 (grub_efi_disk_io_t): New type.
33931 (struct grub_efi_block_io_media): New structure.
33932 (grub_efi_block_io_media_t): New type.
33933 (struct grub_efi_block_io): New structure.
33934 (grub_efi_block_io_t): New type.
33935
33936 * include/grub/misc.h (grub_stop): Removed.
33937 (grub_exit): New prototype.
33938 (grub_abort): Likewise.
33939
33940 * include/grub/disk.h (enum grub_disk_dev_id): Added
33941 GRUB_DISK_DEVICE_EFIDISK_ID.
33942
33943 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
33944 disk/efi/efidisk.c.
33945 (kernel_syms.lst): Remove the target if an error occurs.
33946
49986a9f 339472006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
33948
33949 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
33950 as it was simply too buggy.
33951
970d3b8a 339522006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
33953
33954 * kern/misc.c (grub_lltoa): New function.
33955 (grub_vsprintf): Added support for the long long suffix,
33956 i.e. "ll".
33957
ff04ec24 339582006-04-20 Hollis Blanchard <hollis@penguinppc.org>
33959
33960 * Makefile.in (LDFLAGS): Add variable.
33961 (LD): Remove variable.
33962 * configure.ac: Add -m32 to LDFLAGS.
33963 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
33964 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
33965 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
33966 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
33967 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
33968 variables.
33969 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
33970 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
33971 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
33972
37e5e1a4 339732006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
33974
33975 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
33976 length for unknown glyph.
33977
c352d8dd 339782006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
33979
2eab1c0d 33980 Add support for pre-loaded modules into the EFI port.
f19dbdb7 33981
2eab1c0d 33982 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
33983 completely. Accept one more argument DIR. The caller has changed.
33984
33985 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
33986
33987 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
33988 (grub_efi_loaded_image_guid): New variable.
33989 (grub_efi_get_loaded_image): New function.
33990 (grub_arch_modules_addr): Likewise.
33991
33992 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
33993 prototype.
33994
33995 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
33996 (struct grub_efi_loaded_image): New structure.
33997 (grub_efi_loaded_image_t): New type.
33998
339992006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34000
c352d8dd 34001 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
34002 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
34003 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
34004
6d01d6b4 340052006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
34006
34007 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
34008
976a4ea0 340092006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
34010
34011 * DISTLIST: Added include/grub/efi/console.h,
34012 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
34013 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34014
34015 * include/grub/efi/console.h: New file.
34016 * include/grub/efi/time.h: Likewise.
34017 * include/grub/i386/efi/kernel.h: Likewise.
34018 * kern/efi/init.c: Likewise.
34019 * kern/efi/mm.c: Likewise.
34020 * term/efi/console.c: Likewise.
f19dbdb7 34021
976a4ea0 34022 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
34023 (grub_stop): Removed.
34024 (grub_get_rtc): Likewise.
34025 (grub_machine_init): Simply call grub_efi_init.
34026 (grub_machine_fini): Call grub_efi_fini.
34027
34028 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
34029 (grub_efi_output_string): Removed.
34030 (grub_efi_stall): New function.
34031 (grub_stop): Likewise.
34032 (grub_get_rtc): Likewise.
34033
34034 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
34035 (grub_efi_stall): New prototype.
34036 (grub_efi_allocate_pages): Likewise.
34037 (grub_efi_free_pages): Likewise.
34038 (grub_efi_get_memory_map): Likewise.
34039 (grub_efi_mm_init): Likewise.
34040 (grub_efi_mm_fini): Likewise.
34041 (grub_efi_init): Likewise.
34042 (grub_efi_fini): Likewise.
34043
34044 * include/grub/i386/efi/time.h: Do not include
34045 grub/symbol.h. Include grub/efi/time.h.
34046 (GRUB_TICKS_PER_SECOND): Removed.
34047 (grub_get_rtc): Likewise.
34048
34049 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
34050 Added padding. The EFI spec is buggy.
34051 (GRUB_EFI_BLACK): New macro.
34052 (GRUB_EFI_BLUE): Likewise.
34053 (GRUB_EFI_GREEN): Likewise.
34054 (GRUB_EFI_CYAN): Likewise.
34055 (GRUB_EFI_RED): Likewise.
34056 (GRUB_EFI_MAGENTA): Likewise.
34057 (GRUB_EFI_BROWN): Likewise.
34058 (GRUB_EFI_LIGHTGRAY): Likewise.
34059 (GRUB_EFI_BRIGHT): Likewise.
34060 (GRUB_EFI_DARKGRAY): Likewise.
34061 (GRUB_EFI_LIGHTBLUE): Likewise.
34062 (GRUB_EFI_LIGHTGREEN): Likewise.
34063 (GRUB_EFI_LIGHTCYAN): Likewise.
34064 (GRUB_EFI_LIGHTRED): Likewise.
34065 (GRUB_EFI_LIGHTMAGENTA): Likewise.
34066 (GRUB_EFI_YELLOW): Likewise.
34067 (GRUB_EFI_WHITE): Likewise.
34068 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
34069 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
34070 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
34071 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
34072 (GRUB_EFI_BACKGROUND_RED): Likewise.
34073 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
34074 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
34075 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
34076 (GRUB_EFI_TEXT_ATTR): Likewise.
34077
34078 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
34079 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34080 (kernel_mod_HEADERS): Added efi/time.h.
34081
83709125 340822006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
34083
34084 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
34085 include/grub/efi/api.h, include/grub/efi/console_control.h,
34086 include/grub/efi/efi.h, include/grub/efi/pe32.h,
34087 include/grub/i386/efi/time.h, kern/efi/efi.c,
34088 kern/i386/efi/init.c, kern/i386/efi/startup.S,
34089 and util/i386/efi/grub-mkimage.c.
34090
34091 * Makefile.in (RMKFILES): Added i386-efi.rmk.
34092
34093 * genmk.rb (PModule#rule): Do not export symbols if
34094 #{prefix}_EXPORTS is set to "no".
34095
34096 * conf/i386-efi.mk: New file.
34097 * conf/i386-efi.rmk: Likewise.
34098 * include/grub/efi/api.h: Likewise.
34099 * include/grub/efi/console_control.h: Likewise.
34100 * include/grub/efi/efi.h: Likewise.
34101 * include/grub/efi/pe32.h: Likewise.
34102 * include/grub/i386/efi/time.h: Likewise.
34103 * kern/efi/efi.c: Likewise.
34104 * kern/i386/efi/init.c: Likewise.
34105 * kern/i386/efi/startup.S: Likewise.
34106 * util/i386/efi/grub-mkimage.c: Likewise.
34107
341082006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 34109
34110 * include/grub/script.h: Include <grub/parser.h> and
34111 "grub_script.tab.h".
34112 (struct grub_lexer_param): New struct.
34113 (struct grub_parser_param): Likewise.
34114 (grub_script_create_arglist): Pass the state in an argument.
34115 (grub_script_add_arglist): Likewise.
34116 (grub_script_create_cmdline): Likewise.
34117 (grub_script_create_cmdblock): Likewise.
34118 (grub_script_create_cmdif): Likewise.
34119 (grub_script_create_cmdmenu): Likewise.
34120 (grub_script_add_cmd): Likewise.
34121 (grub_script_arg_add): Likewise.
34122 (grub_script_lexer_ref): Likewise.
34123 (grub_script_lexer_deref): Likewise.
34124 (grub_script_lexer_record_start): Likewise.
34125 (grub_script_lexer_record_stop): Likewise.
34126 (grub_script_mem_record): Likewise.
34127 (grub_script_mem_record_stop): Likewise.
34128 (grub_script_malloc): Likewise.
34129 (grub_script_yylex): Likewise.
34130 (grub_script_yyparse): Likewise.
34131 (grub_script_yyerror): Likewise.
34132 (grub_script_yylex): Likewise.
34133 (grub_script_lexer_init): Return the state.
34134
34135 * normal/lexer.c (grub_script_lexer_state): Removed variable.
34136 (grub_script_lexer_done): Likewise.
34137 (grub_script_lexer_getline): Likewise.
34138 (grub_script_lexer_refs): Likewise.
34139 (script): Likewise.
34140 (newscript): Likewise.
34141 (record): Likewise.
34142 (recording): Likewise.
34143 (recordpos): Likewise.
34144 (recordlen): Likewise.
34145 (grub_script_lexer_init): Return the state instead of setting
34146 global variables.
34147 (grub_script_lexer_ref): Use the newly added argument for state
34148 instead of globals.
34149 (grub_script_lexer_deref): Likewise.
34150 (grub_script_lexer_record_start): Likewise.
34151 (grub_script_lexer_record_stop): Likewise.
34152 (recordchar): Likewise.
34153 (nextchar): Likewise.
34154 (grub_script_yylex2): Likewise.
34155 (grub_script_yylex): Likewise.
34156 (grub_script_yyerror): Likewise.
34157
34158 * normal/parser.y (func_mem): Removed variable.
34159 (menu_entry): Likewise.
34160 (err): Likewise.
34161 (%lex-param): New parser option.
34162 (%parse-param): Likewise.
34163 (script): Always return the AST.
34164 (argument): Pass the state around.
34165 (arguments): Likewise.
34166 (grubcmd): Likewise.
34167 (commands): Likewise.
34168 (function): Likewise.
34169 (menuentry): Likewise.
34170 (if_statement): Likewise.
34171 (if): Likewise.
34172
34173 * normal/script.c (grub_script_memused): Removed variable.
34174 (grub_script_parsed): Likewise.
34175 (grub_script_malloc): Added a state argument. Use that instead of
34176 global variables.
34177 (grub_script_mem_record): Likewise.
34178 (grub_script_mem_record_stop): Likewise.
34179 (grub_script_arg_add): Likewise.
34180 (grub_script_add_arglist): Likewise.
34181 (grub_script_create_cmdline): Likewise.
34182 (grub_script_create_cmdif): Likewise.
34183 (grub_script_create_cmdmenu): Likewise.
34184 (grub_script_add_cmd): Likewise.
34185 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 34186
e2a8c904 341872006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 34188
34189 * normal/command.c (grub_command_init): Remove the title command.
34190
34191 * normal/lexer.c (grub_script_yylex): Renamed from this...
34192 (grub_script_yylex2): ... to this.
34193 (grub_script_yylex): New function. Temporary
34194 introduced to filter some tokens.
34195 (grub_script_yyerror): Print a newline.
34196
34197 * normal/main.c (read_config_file): Output information about the
34198 lines that contain errors. Wait for a key after all lines have
34199 been processed. Don't return an empty menu.
34200
34201 * normal/parser.y (func_mem): Don't initialize.
34202 (menu_entry): Likewise.
34203 (err): New variable.
34204 (script): Don't return anything when an error was encountered.
34205 (ws, returns): Removed rules.
34206 (argument): Disabled concatenated variable support.
34207 (arguments): Remove explicit separators.
34208 (grubcmd): Likewise.
34209 (function): Likewise.
34210 (menuentry): Likewise.
34211 (if): Likewise.
34212 (commands): Likewise. Add error handling.
34213
34214 * normal/script.c (grub_script_create_cmdline): If
34215 `grub_script_parsed' is 0, assume the parser encountered an error.
34216
c9a86192 342172006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
34218
34219 * configure.ac: Add support for EFI. Fix the typo
34220 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
34221
70f3b243 342222006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34223
34224 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
34225 foreign multibyte characters should be shown correctly.
34226
65f201ad 342272006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34228
34229 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
34230 calculation.
34231 (read_config_file): Made it to close file before returning.
34232
b4b93674 342332006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
34234
34235 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
34236 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
34237 video/i386/pc/vbefill.c.
34238
34239 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
34240 video/i386/pc/vbefill.c.
34241
34242 * include/grub/video.h (grub_video_blit_format): New enum.
34243 (grub_video_mode_info): Added new member blit_format.
34244 (grub_video_get_blit_format): New function prototype.
34245
34246 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
34247 function prototype.
34248 (grub_video_vbe_map_rgb): Likewise.
34249 (grub_video_vbe_unmap_color): Likewise.
34250
34251 * include/grub/i386/pc/vbeblit.h: New file.
34252
34253 * include/grub/i386/pc/vbefill.h: New file.
34254
34255 * video/video.c (grub_video_get_blit_format): New function.
34256 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
34257 (grub_video_vbe_map_rgb): Likewise.
34258 (grub_video_vbe_unmap_color): Likewise.
34259
34260 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
34261 optimized fills.
34262 (grub_video_vbe_blit_render_target): Changed to use more optimized
34263 blits.
34264 (grub_video_vbe_setup): Added detection for optimized settings.
34265 (grub_video_vbe_create_render_target): Likewise.
34266
34267 * video/i386/pc/vbeblit.c: New file.
34268
34269 * video/i386/pc/vbefill.c: New file.
34270
c2379b9c 342712006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
34272
34273 * font/manager.c (grub_font_get_glyph): Removed font fixup from
34274 here...
34275
34276 * util/unifont2pff.rb: ... and moved it to here. Improved argument
34277 parsing to support both hex and dec ranges. If filename was missing
34278 show usage information.
34279
bd0d7896 342802006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
34281
34282 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
34283 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
34284
34285 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
34286 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
34287 (video_mod_SOURCES): Added.
34288 (video_mod_CFLAGS): Likewise.
34289 (video_mod_LDFLAGS): Likewise.
34290 (gfxterm_mod_SOURCES): Likewise.
34291 (gfxterm_mod_CFLAGS): Likewise.
34292 (gfxterm_mod_LDFLAGS): Likewise.
34293 (videotest_mod_SOURCES): Likewise.
34294 (videotest_mod_CFLAGS): Likewise.
34295 (videotest_mod_LDFLAGS): Likewise.
34296 (vesafb_mod_SOURCES): Removed.
34297 (vesafb_mod_CFLAGS): Likewise.
34298 (vesafb_mod_LDFLAGS): Likewise.
34299 (vga_mod_SOURCES): Likewise.
34300 (vga_mod_CFLAGS): Likewise.
34301 (vga_mod_LDFLAGS): Likewise.
34302
34303 * commands/videotest.c: New file.
34304
34305 * font/manager.c (fill_with_default_glyph): Modified to use
34306 grub_font_glyph.
34307 (grub_font_get_glyph): Likewise.
34308 (fontmanager): Renamed from this...
34309 (font_manager): ... to this.
34310
34311 * include/grub/font.h (grub_font_glyph): Added new structure.
34312 (grub_font_get_glyph): Modified to use grub_font_glyph.
34313
34314 * include/grub/misc.h (grub_abs): Added as inline function.
34315
34316 * include/grub/video.h: New file.
34317
34318 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
34319 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
34320 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
34321 (grub_vbe_get_controller_info): Renamed from this...
34322 (grub_vbe_bios_get_controller_info): ... to this.
34323 (grub_vbe_get_mode_info): Renamed from this...
34324 (grub_vbe_bios_get_mode_info): ... to this.
34325 (grub_vbe_set_mode): Renamed from this...
34326 (grub_vbe_bios_set_mode): ... to this.
34327 (grub_vbe_get_mode): Renamed from this...
34328 (grub_vbe_bios_get_mode): ... to this.
34329 (grub_vbe_set_memory_window): Renamed from this...
34330 (grub_vbe_bios_set_memory_window): ... to this.
34331 (grub_vbe_get_memory_window): Renamed from this...
34332 (grub_vbe_bios_get_memory_window): ... to this.
34333 (grub_vbe_set_scanline_length): Renamed from this...
34334 (grub_vbe_set_scanline_length): ... to this.
34335 (grub_vbe_get_scanline_length): Renamed from this...
34336 (grub_vbe_bios_get_scanline_length): ... to this.
34337 (grub_vbe_set_display_start): Renamed from this...
34338 (grub_vbe_bios_set_display_start): ... to this.
34339 (grub_vbe_get_display_start): Renamed from this...
34340 (grub_vbe_bios_get_display_start): ... to this.
34341 (grub_vbe_set_palette_data): Renamed from this...
34342 (grub_vbe_bios_set_palette_data): ... to this.
34343 (grub_vbe_set_pixel_rgb): Removed.
34344 (grub_vbe_set_pixel_index): Likewise.
34345
34346 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
34347 from this...
34348 (grub_vbe_bios_get_controller_info): ... to this.
34349 (grub_vbe_get_mode_info): Renamed from this...
34350 (grub_vbe_bios_get_mode_info): ... to this.
34351 (grub_vbe_set_mode): Renamed from this...
34352 (grub_vbe_bios_set_mode): ... to this.
34353 (grub_vbe_get_mode): Renamed from this...
34354 (grub_vbe_bios_get_mode): ... to this.
34355 (grub_vbe_set_memory_window): Renamed from this...
34356 (grub_vbe_bios_set_memory_window): ... to this.
34357 (grub_vbe_get_memory_window): Renamed from this...
34358 (grub_vbe_bios_get_memory_window): ... to this.
34359 (grub_vbe_set_scanline_length): Renamed from this...
34360 (grub_vbe_set_scanline_length): ... to this.
34361 (grub_vbe_get_scanline_length): Renamed from this...
34362 (grub_vbe_bios_get_scanline_length): ... to this.
34363 (grub_vbe_set_display_start): Renamed from this...
34364 (grub_vbe_bios_set_display_start): ... to this.
34365 (grub_vbe_get_display_start): Renamed from this...
34366 (grub_vbe_bios_get_display_start): ... to this.
34367 (grub_vbe_set_palette_data): Renamed from this...
34368 (grub_vbe_bios_set_palette_data): ... to this.
34369 (grub_vbe_bios_get_controller_info): Fixed problem with registers
34370 getting corrupted after calling it. Added more pushes and pops.
34371 (grub_vbe_bios_set_mode): Likewise.
34372 (grub_vbe_bios_get_mode): Likewise.
34373 (grub_vbe_bios_get_memory_window): Likewise.
34374 (grub_vbe_bios_set_scanline_length): Likewise.
34375 (grub_vbe_bios_get_scanline_length): Likewise.
34376 (grub_vbe_bios_get_display_start): Likewise.
34377 (grub_vbe_bios_set_palette_data): Likewise.
34378
34379 * normal/cmdline.c (cl_set_pos): Refresh the screen.
34380 (cl_insert): Likewise.
34381 (cl_delete): Likewise.
34382
34383 * term/gfxterm.c: New file.
34384
34385 * term/i386/pc/vesafb.c: Removed file.
34386
34387 * video/video.c: New file.
34388
34389 * video/i386/pc/vbe.c (real2pm): Added new function.
34390 (grub_video_vbe_draw_pixel): Likewise.
34391 (grub_video_vbe_get_video_ptr): Likewise.
34392 (grub_video_vbe_get_pixel): Likewise
34393 (grub_video_vbe_init): Likewise.
34394 (grub_video_vbe_fini): Likewise.
34395 (grub_video_vbe_setup): Likewise.
34396 (grub_video_vbe_get_info): Likewise.
34397 (grub_video_vbe_set_palette): Likewise.
34398 (grub_video_vbe_get_palette): Likewise.
34399 (grub_video_vbe_set_viewport): Likewise.
34400 (grub_video_vbe_get_viewport): Likewise.
34401 (grub_video_vbe_map_color): Likewise.
34402 (grub_video_vbe_map_rgb): Likewise.
34403 (grub_video_vbe_map_rgba): Likewise.
34404 (grub_video_vbe_unmap_color): Likewise.
34405 (grub_video_vbe_fill_rect): Likewise.
34406 (grub_video_vbe_blit_glyph): Likewise.
34407 (grub_video_vbe_blit_bitmap): Likewise.
34408 (grub_video_vbe_blit_render_target): Likewise.
34409 (grub_video_vbe_scroll): Likewise.
34410 (grub_video_vbe_swap_buffers): Likewise.
34411 (grub_video_vbe_create_render_target): Likewise.
34412 (grub_video_vbe_delete_render_target): Likewise.
34413 (grub_video_vbe_set_active_render_target): Likewise.
34414 (grub_vbe_set_pixel_rgb): Remove function.
34415 (grub_vbe_set_pixel_index): Likewise.
34416 (index_color_mode): Remove static variable.
34417 (active_mode): Likewise.
34418 (framebuffer): Likewise.
34419 (bytes_per_scan_line): Likewise.
34420 (grub_video_vbe_adapter): Added new static variable.
34421 (framebuffer): Likewise.
34422 (render_target): Likewise.
34423 (initial_mode): Likewise.
34424 (mode_in_use): Likewise.
34425 (mode_list): Likewise.
34426
5f97350b 344272006-03-10 Marco Gerards <marco@gnu.org>
34428
34429 * configure.ac (AC_INIT): Bumped to 1.93.
34430
34431 * DISTLIST: Added `include/grub/hfs.h'.
34432
a3c5c6f8 344332006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
34434
34435 * boot/i386/pc/boot.S (general_error): Before looping, try INT
34436 18H, which might help the BIOS falling back to next boot media.
34437
6de53d26 344382006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
34439
34440 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
34441 Poe Chen <poe.poechen@gmail.com>.
34442
77c4a393 344432006-01-17 Marco Gerards <marco@gnu.org>
34444
34445 * include/grub/normal.h: Include <grub/script.h>.
34446 (grub_command_list): Removed struct.
34447 (grub_command_list_t): Removed type.
34448 (grub_menu_entry): Remove members `num' and `command_list'. Add
34449 members `commands' and `sourcecode'.
34450 * include/grub/script.h: Add inclusion guards.
34451 (grub_script_cmd_menuentry): New struct.
34452 (grub_script_execute_menuentry): New prototype.
34453 (grub_script_lexer_record_start): Likewise.
34454 (grub_script_lexer_record_stop): Likewise.
34455 * normal/execute.c (grub_script_execute_menuentry): New function.
34456 * normal/lexer.c (record, recording, recordpos, recordlen): New
34457 variables.
34458 (grub_script_lexer_record_start): New function.
34459 (grub_script_lexer_record_stop): Likewise.
34460 (recordchar): Likewise.
34461 (nextchar): Likewise.
34462 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
34463 2048 as the buffer size. Add the tokens `menuentry' and `@'.
34464 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
34465 (current_menu): New variable.
34466 (free_menu): Mainly rewritten.
34467 (grub_normal_menu_addentry): New function.
34468 (read_config_file): Rewritten.
34469 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 34470 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 34471 the menu entry.
34472 (run): Mainly rewritten.
34473 * normal/parser.y (menu_entry): New variable.
34474 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
34475 (menuentry): New rule.
34476 (command): Add `menuentry'.
34477 (if_statement): Allow additional returns before `fi'.
34478 * normal/script.c (grub_script_create_cmdmenu): New function.
34479
144f1f98 344802006-01-03 Marco Gerards <marco@gnu.org>
34481
34482 * INSTALL: GNU Bison is required.
34483 * configure.ac: Rewritten the test to detect Bison.
34484 * Makefile.in (YACC): New variable. Reported by Xun Sun
34485 <xun.sun.cn@gmail.com>.
34486
af4b2d89 344872006-01-03 Marco Gerards <marco@gnu.org>
34488
34489 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
34490 the HFS+ filesystem to filesystem blocks.
34491 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
34492 GCC warning is silenced.
34493
15643b71 344942006-01-03 Marco Gerards <marco@gnu.org>
34495
34496 * partmap/apple.c (apple_partition_map_iterate): Convert the data
34497 read from disk from big endian to host byte order.
34498
00905879 344992006-01-03 Hollis Blanchard <hollis@penguinppc.org>
34500
34501 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
34502 documentation.
34503 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
34504 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
34505 embedded HFS+ filesystem.
34506 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
34507 (grub_hfs_sblock): Move from here...
34508 * include/grub/hfs.h: To here... New file.
34509 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
34510 documentation.
34511 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
34512 New macros.
34513 (grub_hfsplus_volheader): Change type of member `magic' to
34514 `grub_uint16_t'.
34515 (grub_hfsplus_data): Add new member `embedded_offset'.
34516 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
34517 returned block.
34518 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
34519 Calculate the offset.
34520
8899bc3e 345212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34522
34523 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
34524 Removed.
34525 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
34526
ae8c0277 345272005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34528
34529 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
34530 ENV->NAME is NULL after allocating ENV->VALUE.
34531
07084456 345322005-12-25 Marco Gerards <marco@gnu.org>
34533
34534 * kern/env.c (grub_env_set): Rewritten the error handling code.
34535
4750f5f1 345362005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34537
34538 * geninit.sh: Made more robust, and more portable.
34539
50214199 345402005-12-25 Marco Gerards <marco@gnu.org>
34541
34542 Add support for Apple HFS+ filesystems.
f19dbdb7 34543
50214199 34544 * fs/hfsplus.c: New file.
34545
34546 * DISTLIST: Added `fs/hfsplus.c'.
34547
34548 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
34549 (hfsplus_mod_SOURCES): New variable.
34550 (hfsplus_mod_CFLAGS): Likewise.
34551 (hfsplus_mod_LDFLAGS): Likewise.
34552 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
34553 (grub_setup_SOURCES): Likewise.
34554 (grub_mkdevicemap_SOURCES): Likewise.
34555 (grub_emu_SOURCES): Likewise.
34556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34557
34558 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
34559
34560 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
34561
befaed6c 345622005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34563
34564 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
34565 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
34566 include/grub/parser.h, include/grub/script.h, kern/parser.c,
34567 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
34568 normal/lexer.c, normal/parser.y, normal/script.c, and
34569 partmap/gpt.c.
34570 Removed kern/sparc64/cache.c.
34571
34572 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
34573 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
34574 grub_emu_init.c.
34575
34576 * configure.ac (AC_INIT): Bumped to 1.92.
34577
6a124103 345782005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
34579
34580 * kern/err.c (grub_error_push): Added new function to support error
34581 stacks.
34582 (grub_error_pop): Likewise.
34583 (grub_error_stack_items): New local variable to support error stacks.
34584 (grub_error_stack_pos): Likewise.
34585 (grub_error_stack_assert): Likewise.
34586 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
34587 stack depth.
34588 (grub_print_error): Added support to print errors from error stack.
34589
34590 * include/grub/err.h (grub_error_push): Added function prototype.
34591 (grub_error_pop): Likewise.
34592
be973c1b 345932005-12-09 Hollis Blanchard <hollis@penguinppc.org>
34594
34595 * configure.ac: Accept `powerpc64' as host_cpu.
34596 (amd64): Rename to `biarch32'.
34597
34598 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
34599 non-cacheline-aligned addresses.
34600
34601 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
34602 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
34603 if `size' is non-zero.
34604
b04216ab 346052005-12-03 Marco Gerards <mgerards@xs4all.nl>
34606
34607 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
34608 and `cd' to make sure the filename is not prefixed with a
34609 directory name.
34610 (pkgdata_MODULES): Add `gpt.mod'.
34611 (gpt_mod_SOURCES): New variable.
34612 (gpt_mod_CFLAGS): Likewise.
34613 (gpt_mod_LDFLAGS): Likewise.
34614
34615 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
34616
34617 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
34618 New macro.
34619
34620 * partmap/gpt.c: New file.
34621
34622 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
34623 GPT partition map is detected.
34624
41730ed9 346252005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
34626
34627 * commands/i386/pc/play.c: New file.
34628 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
34629 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
34630 macros.
f19dbdb7 34631
95dc3643 346322005-11-27 Marco Gerards <mgerards@xs4all.nl>
34633
34634 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
34635 ((unused))' to silence gcc warning.
34636
1569ec51 346372005-11-26 Hollis Blanchard <hollis@penguinppc.org>
34638
34639 * configure.ac: Correct `AC_PROG_YACC' test.
34640
9abde152 346412005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34642
34643 * util/powerpc/ieee1275/grub-install.in: Run the mount point
34644 check before installing files.
34645
44b83271 346462005-11-22 Mike Small <smallm@panix.com>
34647
34648 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
34649 number regex so multidigit numbers are recognized correctly.
34650
346512005-11-22 Mike Small <smallm@panix.com>
34652
34653 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
34654 debugging message before attempting to claim memory.
34655 (grub_rescue_cmd_initrd): Add a claim debugging message and try
34656 multiple addresses in case of failure.
34657
9c12956b 346582005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34659
34660 * term/tparm.c (get_space): Remove empty `if' statement.
34661
34662 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
34663
34664 * kern/parser.c (check_varstate): Rename `state' to 's'.
34665
aeaf81d9 346662005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34667
34668 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
34669 variable definitions to the beginning of each function. Sort stack
34670 variables by size.
34671 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
34672 `buf' argument to `char *'.
34673
79bbb63f 346742005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34675
34676 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
34677 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34678 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 34679 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34680 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34681 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34682 configfile.mod, search.mod, gzio.mod and test.mod.
34683 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34684 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34685 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34686 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34687 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34688 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34689 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34690 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34691 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34692 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34693 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34694 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34695 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34696 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34697 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34698 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34699 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34700 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34701 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34702 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34703 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34704 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34705 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
34706
34707 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
34708 `grep --include'.
34709 (pkgdata_MODULES): Add test.mod.
34710
233b1628 347112005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34712
34713 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
34714 appending to variables with "+=".
34715 (PModule): Use full pathname to generate *.lst filenames.
34716
34717 * Makefile.in: Fixed list rules moved from genmk.rb.
34718 (.DELETE_ON_ERROR): New special target.
34719 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
34720
34721 * conf/i386-pc.rmk: Include conf/common.mk.
34722 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34723 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 34724 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34725 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34726 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34727 configfile.mod, search.mod, gzio.mod and test.mod.
34728 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34729 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34730 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34731 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34732 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34733 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34734 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34735 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34736 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34737 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34738 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34739 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34740 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34741 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34742 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34743 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34744 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34745 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34746 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34747 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34748 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34749 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34750 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
34751 here...
34752 * conf/common.rmk: ... to here. New file.
34753
34754 * conf/common.mk: New file.
34755
16f820c8 347562005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
34757
34758 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
34759 (grub_script.tab.c): ... here.
34760
34761 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
34762 (grub_script.tab.c): ... here.
34763
34764 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
34765 (grub_script.tab.c): ... here.
34766
34767 * normal/command.c (grub_command_find): Fixed a memory leak of
34768 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
34769
63ba1554 347702005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34771
34772 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
34773 "@" which marks the start of a comment on ARM.
34774 (VARIABLE): Likewise.
34775
7f67dc13 347762005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34777
79bbb63f 34778 Add support for Linux/ADFS partition tables.
7f67dc13 34779
34780 * partmap/acorn.c: New file.
34781
34782 * include/grub/acorn_filecore.h: Likewise.
34783
34784 * DISTLIST: Added `partmap/acorn.c' and
34785 `include/grub/acorn_filecore.h'.
f19dbdb7 34786
7f67dc13 34787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34788 `partmap/acorn.c'.
34789 (pkgdata_MODULES): Add `acorn.mod'.
34790 (acorn_mod_SOURCES): New variable.
34791 (acorn_mod_CFLAGS): Likewise.
34792
34793 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34794 `partmap/acorn.c'.
34795 (pkgdata_MODULES): Add `acorn.mod'.
34796 (acorn_mod_SOURCES): New variable.
34797 (acorn_mod_CFLAGS): Likewise.
34798
34799 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
34800 (pkgdata_MODULES): Add `acorn.mod'.
34801 (acorn_mod_SOURCES): New variable.
34802 (acorn_mod_CFLAGS): Likewise.
34803 (acorn_mod_LDFLAGS): Likewise.
34804
34805 * include/types.h (grub_disk_addr_t): New typedef.
34806
6d099807 348072005-11-13 Marco Gerards <mgerards@xs4all.nl>
34808
34809 * geninit.sh: New file.
34810
34811 * geninitheader.sh: Likewise.
34812
34813 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
34814 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
34815 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
34816 * commands/configfile.c (grub_configfile_init)
34817 (grub_configfile_fini): Likewise.
34818 * commands/default.c (grub_default_init, grub_default_fini):
34819 Likewise.
34820 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
34821 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
34822 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
34823 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
34824 Likewise.
34825 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
34826 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
34827 Likewise.
34828 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 34829 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 34830 Likewise.
34831 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
34832 Likewise.
fe6b695a 34833 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 34834 Likewise.
34835 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
34836 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
34837 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
34838 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
34839 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
34840 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
34841 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
34842 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
34843 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
34844 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
34845 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
34846 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
34847 * partmap/amiga.c (grub_amiga_partition_map_init)
34848 (grub_amiga_partition_map_fini): Likewise.
34849 * partmap/apple.c (grub_apple_partition_map_init)
34850 (grub_apple_partition_map_fini): Likewise.
34851 * partmap/pc.c (grub_pc_partition_map_init)
34852 (grub_pc_partition_map_fini): Likewise.
34853 * partmap/sun.c (grub_sun_partition_map_init,
34854 grub_sun_partition_map_fini): Likewise.
34855 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
34856 Likewise.
34857
34858 * util/grub-emu.c: Include <grub_modules_init.h>.
34859 (main): Don't initialize and de-initialize any modules directly,
34860 use `grub_init_all' and `grub_fini_all' instead.
34861
34862 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
34863 `grub_vesafb_mod_init'.
34864 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
34865 all users.
34866 * term/i386/pc/vga.c (grub_vga_init): Renamed to
34867 `grub_vga_mod_init'. Updated all users.
34868 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 34869
6d099807 34870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
34871 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
34872 rules.
34873
34874 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
34875 Generate a function to initialize the module in utilities.
34876 Updated all callers.
34877 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
34878 initialize the module in utilities. Updated all callers.
34879
9046bcf0 348802005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34881
34882 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
34883 escape sequence and a literal ^L to clear the screen.
34884
34885 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
34886 when returning from Open Firmware.
34887
d13ea639 348882005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34889
34890 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
34891 (grub_ofconsole_height): Likewise.
34892 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
34893 manually insert a '\n'.
34894 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
34895 `grub_ofconsole_height'. Return early if these are already set.
34896
a8fcf206 348972005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
34898
34899 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34900 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
34901 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
34902 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
34903 and `normal/script.c'.
34904 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34905 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34906 (test_mod_SOURCES): New variable.
34907 (test_mod_CFLAGS): Likewise.
34908 (test_mod_LDFLAGS): Likewise.
34909 (pkgdata_MODULES): Add `test.mod'.
34910 (grub_script.tab.c): New rule.
34911 (grub_script.tab.h): Likewise.
34912
b6b32745 349132005-11-07 Marco Gerards <mgerards@xs4all.nl>
34914
34915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34916 `commands/test.c', `normal/execute.c', `normal/lexer.c',
34917 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34918 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34919 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34920 (test_mod_SOURCES): New variable.
34921 (test_mod_CFLAGS): Likewise.
34922 (pkgdata_MODULES): Add `test.mod'.
34923 (grub_script.tab.c): New rule.
34924 (grub_script.tab.h): Likewise.
34925
daac212a 349262005-11-06 Marco Gerards <mgerards@xs4all.nl>
34927
34928 Add initial scripting support.
34929
34930 * commands/test.c: New file.
34931 * include/grub/script.h: Likewise.
34932 * normal/execute.c: Likewise.
34933 * normal/function.c: Likewise.
34934 * normal/lexer.c: Likewise.
34935 * normal/parser.y: Likewise.
34936 * normal/script.c: Likewise.
34937
34938 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 34939
daac212a 34940 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
34941 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
34942 `normal/function.c' and `normal/script.c'.
34943 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34944 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 34945 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
34946 variables.
daac212a 34947 (pkgdata_MODULES): Add `test.mod'.
34948 (grub_script.tab.c): New rule.
34949 (grub_script.tab.h): Likewise.
34950
34951 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
34952
34953 * include/grub/normal.h (grub_test_init): New prototype.
34954 (grub_test_fini): Likewise.
f19dbdb7 34955
daac212a 34956 * normal/command.c: Include <grub/script.h>.
34957 (grub_command_execute): Rewritten.
f19dbdb7 34958
daac212a 34959 * util/grub-emu.c (main): Call `grub_test_init' and
34960 `grub_test_fini'.
34961
77500b2b 349622005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34963
34964 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
34965 to 0.
34966 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
34967 there are no pending characters.
34968
e45deb9e 349692005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34970
34971 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
34972 `grub_strndup' to drop device arguments. Replace unnecessary
34973 `grub_strndup' with `grub_strdup'.
34974
4ce32619 349752005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34976
34977 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
34978 `debug' environment variable has been set.
34979
349802005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 34981
4ce32619 34982 * Makefile.in (install-local): Use $(DATA).
34983 (uninstall): Likewise.
34984 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
34985 (sbin_UTILITIES): ... to here.
34986 (sbin_SCRIPTS): New variable.
34987 (grub_install_SOURCES): New variable.
34988 * util/powerpc/ieee1275/grub-install.in: New file.
34989 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
34990 variable.
34991 (add_segments): Call `grub_util_get_path'.
34992
25fe6f03 349932005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34994
34995 From Timothy Baldwin:
34996 * commands/ls.c (grub_ls_list_files): Close FILE with
34997 grub_file_close.
34998 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
34999
04ccf3ec 350002005-10-24 Marco Gerards <mgerards@xs4all.nl>
35001
35002 * include/grub/parser.h: New file.
35003
35004 * kern/parser.c: Likewise.
35005
35006 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
35007 (grub_setup_SOURCES): Likewise.
35008 (grub_probefs_SOURCES): Likewise.
35009 (grub_emu_SOURCES): Likewise.
35010 (kernel_img_HEADERS): Add `parser.h'.
35011
35012 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35013 (grub_emu_SOURCES): Add `kern/parser.c'.
35014 (grubof_SOURCES): Likewise.
35015
35016 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35017 (grubof_SOURCES): Add `kern/parser.c'.
35018
35019 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
35020
35021 * kern/misc.c (grub_split_cmdline): Removed function.
35022
35023 * kern/rescue.c: Include <grub/parser.h>.
35024 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
35025 of `grub_split_cmdline'.
35026
35027 * normal/command.c: Include <grub/parser.h>.
35028 (grub_command_execute): Use `grub_parser_split_cmdline' instead
35029 of `grub_split_cmdline'.
35030
35031 * normal/completion.c: Include <grub/parser.h>.
35032 (cmdline_state): New variable.
35033 (iterate_dir): End the filename with a quote depending on the
35034 command line state.
35035 (get_state): new function.
35036 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
35037 split the arguments and determine the current argument. When the
35038 argument string is not quoted, escape all spaces.
35039
6d8f4b0e 350402005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35041
35042 * normal/sparc64/setjmp.S: New file.
35043
15cf03ed 350442005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35045
35046 * include/grub/sparc64/libgcc.h: New file.
35047 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
35048 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
35049 normal/sparc64/setjmp.c.
35050
03e8661a 350512005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35052
35053 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
35054 * kern/sparc64/cache.S: New file.
35055 * kern/sparc64/cache.c: Removed.
35056 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
35057 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
35058 -mtune=ultrasparc.
35059 (COMMON_LDFLAGS): Add -melf64_sparc.
35060 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
35061 (grubof_SOURCES): Use cache.S instead of cache.c.
35062 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
35063 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
35064 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
35065 commented though.
35066 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
35067 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
35068 (linux_mod_CFLAGS): Commented out.
35069 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
35070 out because module isn't built.
35071 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
35072 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
35073 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
35074 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
35075 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
35076 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35077 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35078 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
35079 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
35080 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
35081 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35082 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35083 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
35084 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
35085
34eeec8a 350862005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
35087
35088 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
35089 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
35090 longer, because HFS should not be used on PC.
35091
708367a3 350922005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35093
35094 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
35095 consistently within the loop.
35096
6fa1251a 350972005-10-15 Marco Gerards <mgerards@xs4all.nl>
35098
35099 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
35100 directory can not be read.
35101
4801580b 351022005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35103
35104 * configure.ac (AC_INIT): Increase the version number to 1.91.
35105
35106 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
35107 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
35108 term/i386/pc/serial.c.
35109
219ad426 351102005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35111
35112 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
35113 file size must be permitted.
35114
35115 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
35116 between %ah and %al.
35117
688e5699 351182005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35119
35120 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
35121 grub_uint64_t.
35122 Call the hook with a NUL-terminated filename.
35123 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
35124 grub_cpu_to_be32.
35125
35126 * kern/term.c (cursor_state): New variable.
35127 (grub_term_set_current): Reset the cursor state on a new
35128 terminal.
35129 (grub_setcursor): Rewritten to use CURSOR_STATE.
35130 (grub_getcursor): New function.
35131
35132 * include/grub/term.h (grub_getcursor): New prototype.
35133
35134 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
35135 integers on ARM. Reported by Timothy Baldwin
35136 <T.E.Baldwin99@members.leeds.ac.uk>.
35137
bb34586c 351382005-10-11 Marco Gerards <mgerards@xs4all.nl>
35139
35140 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
35141 allocated.
35142 (grub_sfs_dir): Likewise.
35143
9a909877 351442005-10-09 Marco Gerards <mgerards@xs4all.nl>
35145
35146 Add support for the SFS filesystem.
35147
35148 * fs/sfs.c: New file.
35149
35150 * DISTLIST: Added `fs/sfs.c'.
35151
35152 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
35153 (grub_probefs_SOURCES): Likewise.
35154 (grub_emu_SOURCES): Likewise.
35155 (pkgdata_MODULES): Add `sfs.mod'.
35156 (sfs_mod_SOURCES): New variable.
35157 (sfs_mod_CFLAGS): Likewise.
35158 (sfs_mod_LDFLAGS): Likewise.
35159
35160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
35161 (pkgdata_MODULES): Add `sfs.mod'.
35162 (sfs_mod_SOURCES): New variable.
35163 (sfs_mod_CFLAGS): Likewise.
35164
35165 * util/grub-emu.c (main): Call `grub_sfs_init' and
35166 `grub_sfs_fini'.
35167
35168 * include/grub/fs.h (grub_sfs_init): New prototype.
35169 (grub_sfs_fini): Likewise.
35170
57bdbde3 351712005-10-07 Marco Gerards <mgerards@xs4all.nl>
35172
35173 Add support for the AFFS filesystem.
35174
35175 * fs/affs.c: New file.
35176
35177 * DISTLIST: Added `fs/affs.c'.
35178
35179 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
35180 (grub_probefs_SOURCES): Likewise.
35181 (grub_emu_SOURCES): Likewise.
35182 (pkgdata_MODULES): Add `affs.mod'.
35183 (affs_mod_SOURCES): New variable.
35184 (affs_mod_CFLAGS): Likewise.
35185 (affs_mod_LDFLAGS): Likewise.
35186
35187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
35188 (pkgdata_MODULES): Add `affs.mod'.
35189 (affs_mod_SOURCES): New variable.
35190 (affs_mod_CFLAGS): Likewise.
35191
35192 * util/grub-emu.c (main): Call `grub_affs_init' and
35193 `grub_affs_fini'.
35194
35195 * include/grub/fs.h (grub_affs_init): New prototype.
35196 (grub_affs_fini): Likewise.
35197
047b67e0 351982005-10-01 Marco Gerards <mgerards@xs4all.nl>
35199
35200 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
35201
59b8208a 352022005-10-01 Marco Gerards <mgerards@xs4all.nl>
35203
35204 * configure.ac: Accept `x86_64' as host_cpu. In that case add
35205 `-m32' to CFLAGS.
35206
35207 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
35208 linking.
f19dbdb7 35209
59b8208a 35210 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
35211 (COMMON_LDFLAGS): New variable.
35212 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
35213 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
35214 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
35215 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
35216 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
35217 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
35218 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
35219 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
35220 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
35221 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
35222 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35223 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35224 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
35225 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
35226 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
35227 variables.
35228 (normal_mod_ASFLAGS): Add `-m32'.
35229
35230 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
35231 (grub_host_size_t, grub_host_ssize_t): New types.
35232 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 35233 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 35234 `GRUB_HOST_SIZEOF_VOID_P'.
35235
35236 * include/grub/kernel.h (struct grub_module_header): Type of
35237 member offset changed to `grub_host_off_t'. Type of member size
35238 changed to `grub_host_size_t'.
35239 (struct grub_module_info): Type of member offset changed to
35240 `grub_host_off_t'. Type of member size changed to
35241 `grub_host_size_t'.
35242
b4093103 352432005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
35244
35245 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 35246
b4093103 35247 * kern/i386/pc/startup.S (multiboot_header): New label.
35248 (multiboot_entry): Likewise.
35249 (multiboot_trampoline): Likewise.
35250
35251 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35252 Increased to 0x4A0.
35253
35254 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
35255 put parentheses after a question mark.
35256 [!GRUB_UTIL] (my_mod): New variable.
35257
35258 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
35259
b2499b29 352602005-09-28 Marco Gerards <mgerards@xs4all.nl>
35261
35262 Adds support for the XFS filesystem. Btrees are not supported
35263 yet.
35264
35265 * fs/xfs.c: New file.
35266
35267 * DISTLIST: Added `fs/xfs.c'.
35268
35269 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
35270 (grub_probefs_SOURCES): Likewise.
35271 (grub_emu_SOURCES): Likewise.
35272 (pkgdata_MODULES): Add `xfs.mod'.
35273 (xfs_mod_SOURCES): New variable.
35274 (xfs_mod_CFLAGS): Likewise.
35275
35276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
35277 (pkgdata_MODULES): Add `xfs.mod'.
35278 (xfs_mod_SOURCES): New variable.
35279 (xfs_mod_CFLAGS): Likewise.
35280
35281 * util/grub-emu.c (main): Call `grub_xfs_init' and
35282 `grub_xfs_fini'.
35283
35284 * include/grub/fs.h (grub_xfs_init): New prototype.
35285 (grub_xfs_fini): Likewise.
35286
f19dbdb7 35287
83d37a62 352882005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
35289
35290 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
35291 color modes, allow greater than 16 colors to be configured as
35292 a default palette.
35293
47d2d65e 352942005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35295
35296 * normal/completion.c (complete_arguments): Add the qualifier
35297 const into OPTIONS.
35298
35299 From Omniflux <omniflux+lists@omniflux.com>:
35300 * include/grub/terminfo.h: New file.
35301 * include/grub/tparm.h: Likewise.
35302 * include/grub/i386/pc/serial.h: Likewise.
35303 * term/terminfo.c: Likewise.
35304 * term/tparm.c: Likewise.
35305 * term/i386/pc/serial.c: Likewise.
35306 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
35307 serial.mod.
35308 (terminfo_mod_SOURCES): New variable.
35309 (terminfo_mod_CFLAGS): Likewise.
35310 (serial_mod_SOURCES): Likewise.
35311 (serial_mod_CFLAGS): Likewise.
35312
48b671ff 353132005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
35314
35315 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
35316 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
35317 and kern/powerpc/ieee1275/cmain.c, respectively.
35318
35319 * boot/powerpc/ieee1275/crt0.S: Moved to ...
35320 * kern/powerpc/ieee1275/crt0.S: ... here.
35321
35322 * boot/powerpc/ieee1275/cmain.c: Moved to ...
35323 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 35324
48b671ff 35325 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
35326 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
35327 instead of boot/powerpc/ieee1275/crt0.S and
35328 boot/powerpc/ieee1275/cmain.c, respectively.
35329
35330 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
35331 sectors. It was not used anyway.
35332
09fc77a7 353332005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35334
35335 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
35336 `unused parameter' warning.
35337
003789c7 353382005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35339
35340 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
35341 function.
35342 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
35343 getcharwidth.
35344
67f44c86 353452005-08-28 Marco Gerards <metgerards@student.han.nl>
35346
35347 * include/grub/normal.h (enum grub_completion_type): Added
35348 `GRUB_COMPLETION_TYPE_ARGUMENT'.
35349
35350 * normal/cmdline.c (print_completion): Handle
35351 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
35352 * normal/menu_entry.c (store_completion): Likewise.
35353
35354 * normal/completion.c (complete_arguments): New function.
35355 (grub_normal_do_completion): Call `complete_arguments' when the
35356 current words start with a dash.
35357
0b5abe02 353582005-08-27 Marco Gerards <metgerards@student.han.nl>
35359
35360 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
35361 `gzio.mod' instead of `io.mod').
35362
d9864ee1 353632005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
35364
35365 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
35366 (DISTDIRS): Added io and video.
35367 Rewrite the search routine to make an output consistently.
35368
35369 * DISTLIST: Added conf/sparc64-ieee1275.mk,
35370 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
35371 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
35372 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
35373 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
35374 util/powerpc/ieee1275/misc.c.
f19dbdb7 35375
d9864ee1 35376 * include/grub/gzio.h: New file.
35377 * io/gzio.c: Likewise.
f19dbdb7 35378
d9864ee1 35379 * kern/file.c (grub_file_close): Call grub_device_close only if
35380 FILE->DEVICE is not NULL.
35381
35382 * include/grub/mm.h [!NULL] (NULL): New macro.
35383
35384 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
35385
35386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
35387 (pkgdata_MODULES): Added gzio.mod.
35388 (gzio_mod_SOURCES): New variable.
35389 (gzio_mod_CFLAGS): Likewise.
35390
35391 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
35392 (pkgdata_MODULES): Added gzio.mod.
35393 (gzio_mod_SOURCES): New variable.
35394 (gzio_mod_CFLAGS): Likewise.
35395
35396 * commands/cat.c: Include grub/gzio.h.
35397 (grub_cmd_cat): Use grub_gzfile_open instead of
35398 grub_file_open.
f19dbdb7 35399
d9864ee1 35400 * commands/cmp.c: Include grub/gzio.h.
35401 (grub_cmd_cmp): Use grub_gzfile_open instead of
35402 grub_file_open.
35403
35404 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
35405 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
35406 grub_file_open.
35407 (grub_rescue_cmd_module): Likewise.
35408
fa46f4b5 354092005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35410
35411 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
35412 kern/sparc64/ieee1275/init.c because it contains _start.
35413 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
35414
e9211b5d 354152005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35416
35417 * configure.ac: Add support for sparc64 host with ieee1275
35418 firmware.
35419 * configure: Generated from configure.ac.
35420 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
35421 instead of int.
35422 (grub_ofdisk_read): Likewise.
35423 (grub_ofdisk_open): Use %p to print pointer values, and cast the
35424 pointers as (void *) to remove a warning.
35425 (grub_ofdisk_close): Likewise.
35426 (grub_ofdisk_read): Likewise.
35427 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
35428 returns, so make it return void to remove a warning.
35429 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
35430 Corresponding prototype change.
35431 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
35432 values, and cast the pointers as (void *) to remove a warning.
35433 (grub_mm_dump): Likewise.
35434 * conf/sparc64-ieee1275.mk: New file.
35435 * conf/sparc64-ieee1275.rmk: Likewise.
35436 * include/grub/sparc64/setjmp.h: Likewise.
35437 * include/grub/sparc64/types.h: Likewise.
35438 * include/grub/sparc64/ieee1275/console.h: Likewise.
35439 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35440 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35441 * include/grub/sparc64/ieee1275/time.h: Likewise.
35442 * kern/sparc64/cache.c: Likewise.
35443 * kern/sparc64/dl.c: Likewise.
35444 * kern/sparc64/ieee1275/init.c: Likewise.
35445 * kern/sparc64/ieee1275/openfw.c: Likewise.
35446
385c6a92 354472005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35448
35449 * util/console.c (grub_ncurses_putchar): If C is greater than
35450 0x7f, set C to a question mark.
35451 (grub_ncurses_getcharwidth): New function.
35452 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
35453 getcharwidth.
35454
35455 * normal/menu.c (print_entry): Made aware of Unicode. First,
35456 convert TITLE to UCS-4, and predict the cursor position by
35457 grub_getcharwidth.
35458
35459 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
35460 const to SRC.
35461 * kern/misc.c (grub_utf16_to_utf8): Likewise.
35462
16ccb8b1 354632005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35464
35465 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
35466 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35467 grub_strcat.
35468
35469 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
35470 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35471 grub_strcpy and grub_strlen. Take it into account that a space
35472 character is inserted as a delimiter.
35473
6a85ce79 354742005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35475
35476 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 35477 invalid magic in the error.
6a85ce79 35478
35479 * commands/search.c: New file.
f19dbdb7 35480
6a85ce79 35481 * util/grub-emu.c (main): Call grub_search_init and
35482 grub_search_fini.
35483
35484 * kern/rescue.c (grub_rescue_print_disks): Removed.
35485 (grub_rescue_print_devices): New function.
35486 (grub_rescue_cmd_ls): Use grub_device_iterate with
35487 grub_rescue_print_devices instead of grub_disk_dev_iterate with
35488 grub_rescue_print_disks.
35489
35490 * kern/partition.c (grub_partition_iterate): Return the result of
35491 PARTMAP->ITERATE instead of GRUB_ERRNO.
35492
35493 * kern/device.c: Include grub/partition.h.
35494 (grub_device_iterate): New function.
35495
35496 * include/grub/partition.h (grub_partition_iterate): Return int
35497 instead of grub_err_t.
35498
35499 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
35500 prototype.
35501 [GRUB_UTIL] (grub_search_fini): Likewise.
35502
35503 * include/grub/device.h (grub_device_iterate): New prototype.
35504
35505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35506 commands/search.c.
35507 (pkgdata_MODULES): Added search.mod.
35508 (search_mod_SOURCES): New variable.
35509 (search_mod_CFLAGS): Likewise.
35510
35511 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
35512 (pkgdata_MODULES): Added search.mod.
35513 (search_mod_SOURCES): New variable.
35514 (search_mod_CFLAGS): Likewise.
35515
35516 * commands/ls.c (grub_ls_list_disks): Renamed to ...
35517 (grub_ls_list_devices): ... this, and use grub_device_iterate.
35518 All callers changed.
35519
35520 * DISTLIST: Added commands/search.c.
35521
ef095434 355222005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35523
35524 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
35525 conversion.
35526 (grub_getcharwidth): New function.
35527
35528 * kern/misc.c (grub_utf8_to_ucs4): New function.
35529
35530 * include/grub/term.h (struct grub_term): Added a new member
35531 "getcharwidth".
35532 (grub_getcharwidth): New prototype.
35533
35534 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
35535
35536 * term/i386/pc/console.c (map_char): New function. Segregated from
35537 grub_console_putchar.
35538 (grub_console_putchar): Use map_char.
35539 (grub_console_getcharwidth): New function.
35540 (grub_console_term): Specified grub_console_getcharwidth as
35541 getcharwidth.
35542
35543 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
35544 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
35545
35546 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
35547 GRUB_ERRNO.
35548 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
35549 on grub_strtoul completely.
35550 (write_char): Declare local variables in the beginning of the
35551 function.
35552 (grub_vesafb_getcharwidth): New function.
35553 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
35554 getcharwidth.
35555
1f0a95e4 355562005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
35557
35558 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
35559 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
35560 commands/i386/pc/vbetest.c.
35561
35562 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
35563 call grub_vbe_get_controller_info again, because the returned
35564 information is volatile.
35565 (grub_vbe_set_video_mode): Mostly rewritten.
35566 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
35567 grub_vbe_status_t correctly.
35568 (grub_vbe_get_video_mode_info): Likewise.
35569 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
35570 several if statements.
35571
35572 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
35573 * commands/i386/pc/vbeinfo.c: ... this.
35574
35575 * commands/i386/pc/vbe_test.c: Renamed to ...
35576 * commands/i386/pc/vbetest.c: ... this.
35577
35578 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
35579 ...
35580 (grub_cmd_vbeinfo): ... this. Save video modes before
35581 iterating. Skip a video mode, if it is not available, not enough
35582 information is given or it is monochrome. Show the memory
35583 model. Leave the interpretation of MODEVAR to grub_strtoul
35584 completely.
35585 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
35586 (GRUB_MOD_FINI): Likewise.
35587
35588 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
35589 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
35590 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
35591 duplicated grub_env_get. Leave the interpretation of MODEVAR to
35592 grub_strtoul completely.
35593 (real2pm): Removed.
35594 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
35595 (GRUB_MOD_FINI): Likewise.
35596
35597 * normal/misc.c: Include grub/mm.h.
35598
35599 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
35600 vbe_list_modes with vbetest.mod and vbeinfo.mod.
35601 (vbe_list_modes_mod_SOURCES): Removed.
35602 (vbe_list_modes_mod_CFLAGS): Likewise.
35603 (vbe_test_mod_SOURCES): Likewise.
35604 (vbe_test_mod_CFLAGS): Likewise.
35605 (vbeinfo_mod_SOURCES): New variable.
35606 (vbeinfo_mod_CFLAGS): Likewise.
35607 (vbetest_mod_SOURCES): Likewise.
35608 (vbetest_mod_CFLAGS): Likewise.
35609
992ffbbe 356102005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
35611
35612 * normal/misc.c: New file.
35613
35614 * DISTLIST: Added normal/misc.c.
f19dbdb7 35615
992ffbbe 35616 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
35617 DISK to HOOK. Call HOOK with DISK.
35618 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35619 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35620 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35621
35622 * normal/menu_entry.c (struct screen): Added a new member
35623 "completion_shown".
35624 (completion_buffer): New global variable.
35625 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
35626 (store_completion): New function.
35627 (complete): Likewise.
35628 (clear_completions): Likewise.
35629 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
35630 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
35631 a tab, call complete.
35632
35633 * normal/completion.c (disk_dev): Removed.
35634 (print_simple_completion): Likewise.
35635 (print_partition_completion): Likewise.
35636 (print_func): New global variable.
35637 (add_completion): Do not take the arguments WHAT or PRINT any
35638 longer. Added a new argument TYPE. Instead of printing directly,
35639 call PRINT_FUNC if not NULL.
35640 All callers changed.
35641 (complete_device): Use a local variable DEV instead of
35642 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
35643 (grub_normal_do_completion): Take a new argument HOOK. Do not
35644 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
35645 empty string, return NULL instead.
35646 All callers changed.
35647
35648 * normal/cmdline.c (print_completion): New function.
35649
35650 * kern/partition.c (grub_partition_iterate): Add an argument DISK
35651 to HOOK.
35652 All callers changed.
35653
35654 * kern/disk.c (grub_print_partinfo): Removed.
35655
35656 * include/grub/partition.h (struct grub_partition_map): Add a new
35657 argument DISK into HOOK of ITERATE.
35658 (grub_partition_iterate): Add a new argument DISK to HOOK.
35659
35660 * include/grub/normal.h (enum grub_completion_type): New enum.
35661 (grub_completion_type_t): New type.
35662 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
35663 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
35664 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
35665 (GRUB_COMPLETION_TYPE_FILE): Likewise.
35666 (grub_normal_do_completion): Added a new argument HOOK.
35667 (grub_normal_print_device_info): New prototype.
35668
35669 * include/grub/disk.h (grub_print_partinfo): Removed.
35670
35671 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
35672 (normal_mod_SOURCES): Likewise.
35673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35674 (normal_mod_SOURCES): Likewise.
35675
35676 * commands/ls.c (grub_ls_list_disks): Use
35677 grub_normal_print_device_info instead of grub_print_partinfo. Free
35678 PNAME.
35679 (grub_ls_list_files): Use grub_normal_print_device_info instead of
35680 duplicating the code.
35681
0bd41162 356822005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35683
35684 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 35685 follow GCS more precisely.
35686 * commands/i386/pc/vbe_test.c: Likewise.
35687 * include/grub/i386/pc/vbe.h: Likewise.
35688 * term/i386/pc/vesafb.c: Likewise.
35689 * video/i386/pc/vbe.c: Likewise.
0bd41162 35690
6323696a 356912005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35692
35693 * DISTLIST: Added term/i386/pc/vesafb.c
35694 DISTLIST: Added video/i386/pc/vbe.c
35695 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
35696 DISTLIST: Added commands/i386/pc/vbe_test.c.
35697 * commands/i386/pc/vbe_list_modes.c: New file.
35698 * commands/i386/pc/vbe_test.c: Likewise.
35699 * term/i386/pc/vesafb.c: Likewise.
35700 * video/i386/pc/vbe.c: Likewise.
35701 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
35702 (grub_vbe_probe) Added prototype.
35703 (grub_vbe_set_video_mode) Likewise.
35704 (grub_vbe_get_video_mode) Likewise.
35705 (grub_vbe_get_video_mode_info) Likewise.
35706 (grub_vbe_set_pixel_rgb) Likewise.
35707 (grub_vbe_set_pixel_index) Likewise.
35708 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
35709 (pkgdata_MODULES): Added vesafb.mod.
35710 (pkgdata_MODULES): Added vbe_list_modes.mod.
35711 (pkgdata_MODULES): Added vbe_test.mod.
35712 (vbe_mod_SOURCES): Added.
35713 (vbe_mod_CFLAGS): Likewise.
35714 (vesafb_mod_SOURCES): Likewise.
35715 (vesafb_mod_CFLAGS): Likewise.
35716 (vbe_list_modes_mod_SOURCES): Likewise.
35717 (vbe_list_modes_mod_CFLAGS): Likewise.
35718 (vbe_test_mod_SOURCES): Likewise.
35719 (vbe_test_mod_CFLAGS): Likewise.
35720
0a74e62f 357212005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
35722
0a74e62f 35723 * normal/command.c (grub_command_execute): If INTERACTIVE is
35724 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
35725 CMDLINE. Disable the pager if INTERACTIVE is true.
35726 All callers are changed.
35727
35728 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
35729 before reading a config file.
35730 * normal/main.c (read_config_file): Even if a command is not
35731 found, register it if it is within an entry.
35732
35733 * util/grub-emu.c: Include sys/types.h and unistd.h.
35734 (options): Added --hold.
35735 (struct arguments): Added a new member "hold".
35736 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
35737 missing.
35738 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
35739 cleared by a debugger, if it is not zero.
35740
35741 * include/grub/normal.h (grub_command_execute): Add an argument
35742 INTERACTIVE.
35743
e51f85ae 357442005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
35745
35746 * DISTLIST: Added include/grub/i386/pc/vbe.h.
35747
e9c6f39b 357482005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
35749
35750 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
35751 program with another one, because the old one didn't detect a bug
35752 in gcc-3.4. Always use regparm 2, because the new test is still
35753 not enough for gcc-4.0. Someone must investigate a simple test
35754 case which detects a bug in gcc-4.0.
35755
8de3495c 357562005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
35757
35758 * DISTLIST: Added normal/completion.c.
35759
35760 * normal/completion.c: New file.
f19dbdb7 35761
8de3495c 35762 * term/i386/pc/console.c (grub_console_getwh): New function.
35763 (grub_console_term): Assign grub_console_getwh to getwh.
35764
35765 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
35766 function is defined in normal/completion.c as
35767 grub_normal_do_completion.
35768 (grub_cmdline_get): Use grub_normal_do_completion instead of
35769 grub_tab_complete.
35770
35771 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
35772 returns non-zero, otherwise return 0.
35773 (grub_partition_iterate): First, probe the partition map. Then,
35774 call ITERATE only for this partition map.
35775
35776 * kern/misc.c (grub_strncmp): Rewritten.
35777
35778 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
35779 returns non-zero. Otherwise return 0.
35780
35781 * include/grub/partition.h (grub_partition_map_iterate): Return
35782 int instead of void.
35783
35784 * include/grub/normal.h (grub_normal_do_completion): New prototype.
35785
35786 * include/grub/misc.h (grub_strncmp): Change the type of N to
35787 grub_size_t.
35788
35789 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
35790 of void.
35791
35792 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 35793 unsigned explicitly before comparing it with I.
8de3495c 35794
35795 * kern/main.c (grub_env_write_root): Add the attribute unused into
35796 VAR.
35797
35798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35799 normal/completion.c.
35800 (normal_mod_SOURCES): Likewise.
35801 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35802 (normal_mod_SOURCES): Likewise.
35803
35804 * normal/command.c (grub_iterate_commands): If ITERATE returns
35805 non-zero, return one immediately.
35806
e85e144b 358072005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
35808
35809 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
35810 * kern/i386/pc/startup.S: Updated Global Descriptor table's
35811 descriptions.
35812 (grub_vbe_get_controller_info): New function.
35813 (grub_vbe_get_mode_info): Likewise.
35814 (grub_vbe_set_mode): Likewise.
35815 (grub_vbe_get_mode): Likewise.
35816 (grub_vbe_set_memory_window): Likewise.
35817 (grub_vbe_get_memory_window): Likewise.
35818 (grub_vbe_set_scanline_length): Likewise.
35819 (grub_vbe_get_scanline_length): Likewise.
35820 (grub_vbe_set_display_start): Likewise.
35821 (grub_vbe_get_display_start): Likewise.
35822 (grub_vbe_set_palette_data): Likewise.
35823 * include/grub/i386/pc/vbe.h: New file.
35824
c46153d2 358252005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35826
35827 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35828 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
35829 * DISTLIST: Likewise.
35830 * kern/ieee1275/of.c: Moved to ...
35831 * kern/ieee1275/ieee1275.c: ... here.
35832
0cb90c45 358332005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35834
35835 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
35836 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
35837 Pass 0 as `end' parameter to grub_strtoul().
35838
a19fb360 358392005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35840
35841 * include/grub/powerpc/ieee1275/console.h: Do not include
35842 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
35843 ifdef.
35844 (grub_console_cur_color): Remove i386-specific prototype.
35845 (grub_console_real_putchar): Likewise.
35846 (grub_console_checkkey): Likewise.
35847 (grub_console_getkey): Likewise.
35848 (grub_console_getxy): Likewise.
35849 (grub_console_gotoxy): Likewise.
35850 (grub_console_cls): Likewise.
35851 (grub_console_setcursor): Likewise.
35852 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
35853 Include <grub/machine/console.h>.
35854 * term/ieee1275/ofconsole.c: Likewise.
35855
4ac9bd04 358562005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
35857
35858 * Makefile.in (LIBLZO): New variable.
35859
35860 * configure.ac: Check for LZO version 2.
35861
35862 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
35863 lzo/lzo1x.h instead of lzo1x.h.
35864
35865 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
35866 of -llzo.
35867
35868 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
35869 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
35870
35871 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
35872 copying the data from PARTITION to P.
35873
f4917dfd 358742005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35875
35876 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
35877 negative, unload the module.
35878
35879 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
35880 map is "pc_partition_map" but not "pc".
35881 (usage): Fix the description. The options are --boot-image and
35882 --core-image but not --boot-file or --core-file.
35883 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
35884 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
35885 DEFAULT_DIRECTORY.
35886
35887 * util/i386/pc/grub-install.in: Do not specify --boot-file or
35888 --core-file. Specify INSTALL_DEVICE as an argument.
35889
35890 * util/console.c: Include config.h.
35891 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
35892 [HAVE_NCURSES_H]: Include ncurses.h.
35893 [HAVE_CURSES_H]: Include curses.h.
35894 [!A_NORMAL] (A_NORMAL): Defined as zero.
35895 [!A_STANDOUT] (A_STANDOUT): Likewise.
35896
35897 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
35898 -lncurses.
35899 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
35900
35901 * configure.ac: Check for curses libraries and headers.
35902
35903 * Makefile.in (LIBCURSES): New variable.
35904
35905 * genmk.rb (Script::rule): Set the executable bits.
35906
35907 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
35908 name of the PC partition map is "pc_partition_map" but not "pc".
35909
0e143073 359102005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35911
35912 * util/i386/pc/grub-install.in (grub_probefs): New variable.
35913 (modules): Likewise.
35914 (usage): Added descriptions for --modules and --grub-probefs.
35915 Handle --modules and --grub-probefs. Save the arguments in MODULES
35916 and GRUB_PROBEFS, respectively.
35917 Auto-detect a filesystem module against GRUBDIR. If the result is
35918 empty and modules are not specified explicitly, abort the
35919 installation. Add the result to MODULES.
35920
35921 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
35922 disk/powerpc/ieee1275/ofdisk.c,
35923 include/grub/powerpc/ieee1275/init.h and
35924 term/powerpc/ieee1275/ofconsole.c.
35925 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
35926 term/ieee1275/ofconsole.c.
35927
35928 * include/grub/powerpc/ieee1275/console.h: Resurrected.
35929
35930 * COPYING: Upgraded to the latest version. Only the address of the
35931 FSF office has changed.
f19dbdb7 35932
efd6e6d5 359332005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35934
35935 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35936 kern/ieee1275.c with kern/ieee1275/of.c.
35937
35938 * kern/ieee1275.c: Moved to ...
35939 * kern/ieee1275/of.c: ... here.
35940
8ceafda2 359412005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
35942
35943 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 35944 readability.
8ceafda2 35945
35946 * config.guess: Updated to the latest version from gnulib.
35947 * config.sub: Likewise.
35948 * install.sh: Likewise.
35949 * mkinstalldirs: Likewise.
35950
35951 * include/grub/console.h: Removed. This file is arch-specific. Do
35952 not put this in include/grub.
35953
35954 * include/grub/i386/pc/console.h: Resurrected.
35955
35956 * util/console.c: Include grub/machine/console.h instead of
35957 grub/console.h.
35958 * util/grub-emu.c: Likewise.
35959
267f6cd9 359602005-08-04 Marco Gerards <metgerards@student.han.nl>
35961
35962 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
35963 hardcoded value.
f19dbdb7 35964
267f6cd9 35965 From Vincent Pelletier <subdino2004@yahoo.fr>
35966 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
35967 Redefined to use grub_getwh.
35968 (grub_term): New member named getwh.
35969 (grub_getwh): New prototype.
35970 * kern/term.c (grub_getwh): New function.
35971 * term/i386/pc/console.c (grub_console_getwh): New function.
35972 (grub_console_term): New member `getwh'.
35973 * term/i386/pc/vga.c (grub_vga_getwh): New function.
35974 (grub_vga_term): New member `getwh'.
0b5abe02 35975 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 35976 grub_ssize_t.
35977 (grub_ofconsole_getw): New function.
35978 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
35979 (grub_ofconsole_term): New field named getwh and new initial
35980 value.
35981
3be7266d 359822005-08-03 Hollis Blanchard <hollis@penguinppc.org>
35983
35984 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
35985 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
35986 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
35987 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
35988 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
35989 of <grub/machine/ieee1275.h>.
35990 * commands/ieee1275/reboot.c: Likewise.
35991 * boot/powerpc/ieee1275/ieee1275.c: Move ...
35992 * kern/ieee1275.c: ... to here. All users updated. Change all
35993 parameter structs to use new type `grub_ieee1275_cell_t'.
35994 * term/powerpc/ieee1275/ofconsole.c: Move ...
35995 * term/ieee1275/ofconsole.c: ... to here. All users updated.
35996 * disk/powerpc/ieee1275/ofdisk.c: Move ...
35997 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
35998 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
35999 to return int.
36000 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
36001 Remove unused prototypes. All users updated.
36002 * include/grub/powerpc/ieee1275/console.h: Removed.
36003 * include/grub/powerpc/ieee1275/ieee1275.h: Define
36004 `grub_ieee1275_cell_t'.
36005 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
36006 Cast comparisons with -1 to the correct type.
36007 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
36008 type to match `grub_ieee1275_entry_fn'.
36009
8b5f3938 360102005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
36011
36012 * DISTLIST: Added util/i386/pc/grub-probefs.c.
36013
36014 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
36015 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
36016 partmap/sun.c.
36017 (grub_probefs_SOURCES): New variable.
36018
36019 * util/i386/pc/grub-probefs.c: New file.
36020
36021 * util/i386/pc/grub-setup.c (main): Call
36022 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
36023 grub_hfs_init and grub_jfs_init to initialize the system. Call
36024 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
36025 grub_pc_partition_map_fini to finish the system.
36026
ea409713 360272005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
36028
36029 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
36030 function.
36031 (grub_multiboot_load_elf32): Likewise.
36032 (grub_multiboot_is_elf64): Likewise.
36033 (grub_multiboot_load_elf64): Likewise.
36034 (grub_multiboot_load_elf): Likewise.
36035 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
36036 an ELF32 or ELF64 file.
36037 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
36038
36039 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
36040 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
36041 NULL before calling FS->LABEL.
36042 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
36043 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
36044 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
36045 before calling FS->LABEL.
36046
141a288b 360472005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
36048
36049 * util/i386/pc/grub-install.in (datadir): New variable.
36050 (libdir): Removed.
36051 (pkgdatadir): New variable.
36052 (pkglibdir): Removed.
36053
0d5f8a54 360542005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
36055
36056 * DISTLIST: Added util/i386/pc/grub-install.in.
36057
36058 * util/i386/pc/grub-install.in: New file.
36059
36060 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
36061 (grub_install_SOURCES): Likewise.
36062
36063 * genmk.rb: Added support for scripts.
36064 (Script): New class.
36065 (scripts): New variable.
36066
36067 * Makefile.in (install-local): Install sbin_SCRIPTS by
36068 INSTALL_SCRIPT.
36069 (uninstall): Remove sbin_SCRIPTS.
36070
36071 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
36072 device, try to get a GRUB device by
36073 grub_util_biosdisk_get_grub_dev.
36074 Free DEST_DEV.
36075
36076 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
36077 description for --device-map.
36078
5f968e1e 360792005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36080
36081 Change the semantics of variable hooks. They now return strings
36082 instead of error values.
f19dbdb7 36083
5f968e1e 36084 * util/i386/pc/grub-setup.c: Include grub/env.h.
36085 (setup): Use grub_device_set_root instead of grub_env_set.
36086
36087 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
36088 grub_env_get instead of grub_device_set_root and
36089 grub_device_get_root, respectively.
36090
36091 * kern/main.c (grub_env_write_root): New function.
36092 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
36093 grub_env_set instead of grub_device_set_root.
36094
36095 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
36096 many variables.
36097 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
36098 rather than calling ENV->WRITE_HOOK afterwards.
36099 (grub_env_get): Return the result of ENV->READ_HOOK rather than
36100 passing a pointer of a pointer.
36101 (grub_register_variable_hook): Change the types of "read_hook" and
36102 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
36103 respectively.
36104 Allocate the default empty string on the heap, because this string
36105 may be freed later.
36106
36107 * kern/device.c: Include grub/env.h.
36108 (grub_device_set_root): Removed.
36109 (grub_device_get_root): Likewise.
36110 (grub_device_open): Use grub_env_get instead of
36111 grub_device_get_root.
36112
36113 * include/grub/env.h (grub_env_read_hook_t): New type.
36114 (grub_env_write_hook_t): Likewise.
36115 (grub_env_var): Change the types of "read_hook" and "write_hook"
36116 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
36117 (grub_register_variable_hook): Likewise.
36118
36119 * include/grub/device.h (grub_device_set_root): Removed.
36120 (grub_device_set_root): Likewise.
36121
36122 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
36123 make sure that DIRNAME terminates with '/', so that
36124 grub_fat_find_dir will fail if PATH is not a directory.
36125
36126 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
36127 from DIRNAME.
36128 Use the qualifier auto for print_files and print_files_long.
36129 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
36130 as a regular file.
36131 Put a newline only if there is no error.
36132 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
36133 used.
36134
896f0afd 361352005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36136
36137 * kern/partition.c (grub_partition_probe): Initialize PART to
36138 NULL. Otherwise, when no partition map is registered, this returns
36139 a garbage.
36140
b28b81b2 361412005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
36142
36143 * partmap/apple.c (apple_partition_map_iterate): Check if POS
36144 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
36145 valid.
36146
5f3607e0 361472005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
36148
36149 * commands/ls.c (grub_ls_list_disks): Print the filesystem
36150 information on each device, if it does not have partitions. Print
36151 "Device" instead of "Disk", because this function is not specific
36152 to disk devices.
36153
36154 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
36155 static to ensure that it is put on the memory rather than a
36156 register.
36157
502c87e8 361582005-07-17 Yoshinori Okuji <okuji@enbug.org>
36159
36160 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
36161 (grub_cat_init): Likewise.
36162 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
36163 (options): Likewise.
36164 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
36165 (grub_configfile_init): Likewise.
36166 * font/manager.c (GRUB_MOD_INIT): Likewise.
36167 * commands/help.c (GRUB_MOD_INIT): Likewise.
36168 (grub_help_init): Likewise.
36169 * normal/command.c (grub_command_init): Likewise.
36170 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
36171 * disk/loopback.c (grub_loop_init): Likewise.
36172 (GRUB_MOD_INIT): Likewise.
36173 * commands/ls.c (grub_ls_init): Likewise.
36174 (GRUB_MOD_INIT): Likewise.
36175 (options): Likewise.
36176 * commands/boot.c (grub_boot_init): Likewise.
36177 (GRUB_MOD_INIT): Likewise.
36178 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
36179 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
36180 (GRUB_MOD_INIT): Likewise.
36181 * commands/cmp.c (grub_cmp_init): Likewise.
36182 (GRUB_MOD_INIT): Likewise.
36183
36184 * normal/arg.c: Use <> instead of "" to include header files.
36185 (SHORT_ARG_HELP): New macro.
36186 (SHORT_ARG_USAGE): Likewise.
36187 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
36188 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
36189 descriptions.
36190 (find_short): Check if C is 'h' or 'u' explicitly.
36191 (grub_arg_show_help): Use space characters instead of tabs. Treat
36192 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
36193 are shown with --help and --usage only if they are not used for
36194 the command itself.
36195 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
36196 'h' and 'u'.
36197
36198 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
36199 const into "longarg". Change the type of "shortarg" to int.
36200
f806d18e 362012005-07-17 Yoshinori Okuji <okuji@enbug.org>
36202
36203 * boot/i386/pc/boot.S (boot_drive_check): New label.
36204
36205 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
36206 macro.
36207
36208 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
36209 which do not pass a boot drive correctly. Copied from GRUB Legacy.
36210
e293232b 362112005-07-17 Yoshinori Okuji <okuji@enbug.org>
36212
36213 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
36214 When turning off Gate A20, skip the check and return immediately,
36215 because this is not fatal usually.
36216
ebedfd00 362172005-07-17 Yoshinori Okuji <okuji@enbug.org>
36218
36219 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
36220 be 0x7C00 instead of 0x8000.
36221
36222 * boot/i386/pc/pxeboot.S: Rewritten.
36223
36224 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
36225 EXT_C.
36226 (gate_a20_check_state): Read a byte from 0x108000. Invert the
36227 result.
36228
654fc59f 362292005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
36230
36231 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
36232 robustness. This routine now supports a BIOS call and System
36233 Control Port A to modify the gate A20.
36234
36235 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36236 Increased to 0x440.
36237
09f9923f 362382005-07-12 Hollis Blanchard <hollis@penguinppc.org>
36239
36240 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
36241 device path and resulting ihandle.
36242 (grub_ofdisk_close): dprintf the ihandle being closed.
36243 (grub_ofdisk_read): dprintf function parameters.
36244 * kern/mm.c (grub_mm_init_region): Likewise.
36245 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
36246 (grub_linux_boot): dprintf the Linux entry point, initrd address and
36247 size, and boot arguments.
36248 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
36249 before loading into memory.
36250 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
36251 before loading into memory.
36252
7ef504d8 362532005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
36254
36255 * kern/mm.c: Added much documentation.
36256 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
36257 8, set to 5 instead of 8.
36258
e0f050c2 362592005-07-10 Yoshinori Okuji <okuji@enbug.org>
36260
36261 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
36262
36263 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
36264 (grub_mkdevicemap_SOURCES): New variable.
36265
36266 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
36267 lib/device.c of GRUB Legacy.
36268
7224189a 362692005-07-10 Yoshinori Okuji <okuji@enbug.org>
36270
36271 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
36272 instead of PATH is NULL.
36273
68c864eb 362742005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
36275
36276 * commands/cmp.c (BUFFER_SIZE): New macro.
36277 (grub_cmd_cmp): Close the right file at the right time. Compare
36278 only data just read. Don't report files of different size as
36279 identical. Dynamically allocate buffers. Move variable
36280 declarations at the beginning of function.
36281
e6f3e614 362822005-07-09 Yoshinori Okuji <okuji@enbug.org>
36283
36284 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
36285 reverse.
36286
f8f1559a 362872004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
36288
36289 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
36290 when backspace is pressed at beginning of line.
36291
39c9d41d 362922005-07-03 Yoshinori Okuji <okuji@enbug.org>
36293
36294 * DISTLIST: Added genfslist.sh.
36295
36296 * normal/main.c (fs_module_list): New variable.
36297 (autoload_fs_module): New function.
36298 (read_fs_list): Likewise.
36299 (grub_normal_execute): Call read_fs_list.
36300
36301 * kern/fs.c (grub_fs_autoload_hook): New variable.
36302 (grub_fs_probe): Added support for auto-loading.
36303
36304 * include/grub/normal.h (struct grub_fs_module_list): New struct.
36305 (grub_fs_module_list_t): New type.
36306
36307 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
36308 (grub_fs_autoload_hook): New prototype.
36309
36310 * genfslist.sh: New file.
f19dbdb7 36311
39c9d41d 36312 * genmk.rb: Added a rule to generate a filesystem list.
36313
121c1d83 363142005-06-30 Marco Gerards <metgerards@student.han.nl>
36315
36316 * configure.ac: Fix the test for cross-compiling.
36317
36318 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
36319 define GRUB_UTIL anymore.
36320
36321 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
36322 so this function works on other systems than just big endian.
36323 (load_modules): Likewise.
36324 (add_segments): Likewise.
36325
e75d76e1 363262005-06-23 Hollis Blanchard <hollis@penguinppc.org>
36327
36328 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
36329 contains `l' modifier, get a long from va_arg().
36330
50b5a0a7 363312005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
36332
36333 * kern/mm.c (grub_free): If the next free block which is being
36334 merged is the first free block, set the first block to the block
36335 being freed.
36336 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
36337
89371b20 363382005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36339
36340 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
36341 `grub_ieee1275_chosen'.
36342
168d6e58 363432005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36344
36345 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
36346 (grub_ieee1275_chosen): New variable.
36347 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
36348 `chosen'.
36349 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
36350 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36351 Rename first argument to `phandle' for consistency.
36352 (grub_ieee1275_get_property_length): Likewise.
36353 (grub_ieee1275_next_property): Likewise. Change type of first argument
36354 to grub_ieee1275_phandle_t.
36355 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
36356 Move export next to declaration.
36357 (grub_ieee1275_chosen): New variable.
36358 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
36359 Correct cosmetic typo.
36360 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
36361 `grub_ieee1275_chosen'.
36362 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
36363 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
36364 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
36365 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
36366 `grub_ieee1275_chosen'.
36367
ca5baa3f 363682005-05-10 Hollis Blanchard <hollis@penguinppc.org>
36369
36370 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
36371 /chosen/bootargs.
36372 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
36373 /chosen/bootargs as "variable=value" pairs.
36374
708b345f 363752005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
36376
36377 * include/grub/misc.h (grub_dprintf): New macro.
36378 (grub_real_dprintf): New prototype.
36379 (grub_strword): Likewise.
36380 (grub_iswordseparator): Likewise.
36381 * kern/misc.c (grub_real_dprintf): New function.
36382 (grub_strword): Likewise.
36383 (grub_iswordseparator): Likewise.
36384
f4c5e67c 363852005-04-30 Hollis Blanchard <hollis@penguinppc.org>
36386
36387 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
36388 (roundup): Remove macro.
36389 (grub_ieee1275_flags): Make static.
36390 (grub_ieee1275_realmode): Remove.
36391 (grub_ieee1275_test_flag): New function.
36392 (grub_ieee1275_set_flag): Likewise.
36393 (find_options): Rename to `grub_ieee1275_find_options'; update
36394 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
36395 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
36396 (cmain): New prototype.
36397 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
36398 `grub_ieee1275_flags' directly.
36399 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
36400 machine/biosdisk.h.
36401 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
36402 Don't include grub/machine/init.h.
36403 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
36404 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36405 Remove prototype.
36406 (grub_ieee1275_realmode): Likewise.
36407 (grub_ieee1275_flag): New enum.
36408 (grub_ieee1275_test_flag): New prototype.
36409 (grub_ieee1275_set_flag): New prototype.
36410 * include/grub/powerpc/ieee1275/init.h: Remove file.
36411 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
36412 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
36413 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
36414 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
36415 comment.
36416 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
36417 `grub_ieee1275_test_flag'.
36418 (grub_ieee1275_encode_devname): Likewise.
36419
ed16607e 364202005-04-21 Hollis Blanchard <hollis@penguinppc.org>
36421
36422 * include/grub/powerpc/ieee1275/ieee1275.h
36423 (grub_ieee1275_encode_devname): New prototype.
36424 (grub_ieee1275_get_filename): Likewise.
36425 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
36426 function.
36427 (grub_set_prefix): Likewise.
36428 (grub_machine_init): Call grub_set_prefix.
36429 * kern/powerpc/ieee1275/openfw.c: Fix typos.
36430 (grub_parse_type): New enum.
36431 (grub_ieee1275_get_devargs): New function.
36432 (grub_ieee1275_get_devname): Likewise.
36433 (grub_ieee1275_parse_args): Likewise.
36434 (grub_ieee1275_get_filename): Likewise.
36435 (grub_ieee1275_encode_devname): Likewise.
36436
be369920 364372005-03-30 Marco Gerards <metgerards@student.han.nl>
36438
36439 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
36440 `grub_loader_unset'.
36441
a5ce3a4a 364422005-03-26 Hollis Blanchard <hollis@penguinppc.org>
36443
36444 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
36445 instead of grub_ieee1275_interpret.
36446 (grub_halt_init): New function.
36447 (grub_halt_fini): Likewise.
36448 (GRUB_MOD_INIT): Correct message grammar.
36449 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
36450 instead of grub_ieee1275_interpret.
36451 (grub_reboot_init): New function.
36452 (grub_reboot_fini): Likewise.
36453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
36454 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
36455 util/i386/pc/misc.c with commands/ieee1275/halt.c,
36456 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
36457 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
36458 function.
36459 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
36460 Add prototype.
36461 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
36462 prototype.
36463 (grub_halt): Likewise.
36464 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
36465 (cmain): Remove __attribute__((unused)).
36466 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
36467 (grub_heap_len): Likewise.
36468 (grub_machine_fini): New function.
36469 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
36470 (grub_halt): Likewise.
36471 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
36472 function.
36473 * util/powerpc/ieee1275/misc.c: New file.
36474
0058f771 364752005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36476
36477 * DISTLIST: New file.
36478 * gendistlist.sh: Likewise.
f19dbdb7 36479
0058f771 36480 * Makefile.in (COMMON_DISTFILES): Removed.
36481 (BOOT_DISTFILES): Likewise.
36482 (CONF_DISTFILES): Likewise.
36483 (DISK_DISTFILES): Likewise.
36484 (FS_DISTFILES): Likewise.
36485 (INCLUDE_DISTFILES): Likewise.
36486 (KERN_DISTFILES): Likewise.
36487 (LOADER_DISTFILES): Likewise.
36488 (TERM_DISTFILES): Likewise.
36489 (UTIL_DISTFILES): Likewise.
36490 (DISTFILES): Likewise.
36491 (uninstall): Uninstall files in $(pkgdata_DATA).
36492 (DISTLIST): New target.
36493 (distdir): Use the contents of the file DISTLIST to get a list of
36494 distributed files.
36495
46b3b8a5 364962005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36497
36498 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
36499 descriptor. This is ported from GRUB Legacy.
36500
36501 * gencmdlist.sh: Added an extra semicolon to make it work with
36502 old sed versions. Reported by Robert Bihlmeyer
36503 <robbe@orcus.priv.at>.
36504
5822ff87 365052005-03-08 Yoshinori Okuji <okuji@enbug.org>
36506
36507 Automatic loading of commands is supported.
f19dbdb7 36508
5822ff87 36509 * normal/main.c (read_command_list): New function.
36510 (grub_normal_execute): Call read_command_list.
36511
36512 * normal/command.c (grub_register_command): Return zero or CMD.
36513 Allocate CMD->NAME from the heap.
36514 Initialize CMD->MODULE_NAME to zero.
36515 Find the same name as well. If the same command is found and it is
36516 a dummy command, overwrite members. If it is not a dummy command,
36517 return zero.
36518 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
36519 (grub_command_find): If a dummy command is found, load a module
36520 and retry to find a command only once.
36521
36522 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
36523 make sure that each command is loaded.
36524
36525 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
36526 macro.
36527 (struct grub_command): Remove const from the member `name'.
36528 Add a new member `module_name'.
36529 (grub_register_command): Return grub_command_t.
36530
36531 * commands/help.c (grub_cmd_help): Call grub_command_find to make
36532 sure that each command is loaded.
36533
36534 * genmk.rb (PModule::rule): Specify a module name without the
36535 suffix ".mod" to gencmdlist.sh.
36536
7b1f4b57 365372005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36538
36539 * gencmdlist.sh: New file.
f19dbdb7 36540
7b1f4b57 36541 * genmk.rb (PModule::rule): Generate a rule for a command list.
36542 Clean command.lst.
36543 Generate command.lst from $(COMMANDFILES).
36544
36545 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
36546 (DATA): Added $(pkgdata_DATA).
36547 (install-local): Install files in $(pkgdata_DATA).
36548
062aaf39 365492005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36550
36551 * term/i386/pc/vga.c (debug_command): Removed.
36552 (GRUB_MOD_INIT): Do not register the command "debug".
36553
36554 From Hollis Blanchard:
36555 * commands/configfile.c: New file.
36556 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36557 commands/configfile.c.
36558 (pkgdata_MODULES): Added configfile.mod.
36559 (configfile_mod_SOURCES): New variable.
36560 (configfile_mod_CFLAGS): Likewise.
36561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36562 commands/configfile.c.
36563 (pkgdata_MODULES): Added configfile.mod.
36564 (configfile_mod_SOURCES): New variable.
36565 (configfile_mod_CFLAGS): Likewise.
36566 * util/grub-emu.c (main): Call grub_configfile_init and
36567 grub_configfile_fini.
36568 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
36569 prototype.
36570 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 36571
cee01aa6 365722005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36573
36574 * normal/arg.c (grub_arg_show_help): Do not show the bug report
36575 address.
36576
36577 * commands/help.c (grub_cmd_help): Do not print newlines after
36578 the last command in print_command_help.
36579
93f3a1d8 365802005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36581
36582 * commands/default.h: New file.
36583 * commands/timeout.h: Likewise.
36584 * normal/context.c: Likewise.
f19dbdb7 36585
93f3a1d8 36586 * util/misc.c: Do not include sys/times.h.
36587 Include sys/time.h and grub/machine/time.h.
36588 (grub_get_rtc): Rewritten with gettimeofday.
36589
36590 * util/grub-emu.c (main): Call grub_default_init and
36591 grub_timeout_init before grub_normal_init, and call
36592 grub_timeout_fini and grub_default_fini after grub_main.
36593
36594 * util/console.c (grub_ncurses_checkkey): Return the read
36595 character or -1.
36596
36597 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
36598 timeouts.
36599
36600 * normal/main.c (read_config_file): Push MENU. If this fails,
36601 print an error and wait for a user input.
36602 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
36603 If a menu is empty or an error occurs, pop MENU.
36604 (grub_normal_execute): Pop and free MENU after grub_menu_run
36605 returns.
36606
36607 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
36608
36609 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
36610 include time.h.
36611 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36612 without GRUB_UTIL.
36613 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
36614 time.h.
36615 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36616 without GRUB_UTIL.
36617
36618 * include/grub/normal.h (struct grub_menu_list): New struct.
36619 (grub_menu_list_t): New type.
36620 (struct grub_context): New struct.
36621 (grub_context_t): New type.
36622 (grub_register_command): Got rid of EXPORT_FUNC.
36623 (grub_unregister_command): Likewise.
36624 (grub_context_get): New prototype.
36625 (grub_context_get_current_menu): Likewise.
36626 (grub_context_push_menu): Likewise.
36627 (grub_context_pop_menu): Likewise.
36628 [GRUB_UTIL] (grub_default_init): Likewise.
36629 [GRUB_UTIL] (grub_default_fini): Likewise.
36630 [GRUB_UTIL] (grub_timeout_init): Likewise.
36631 [GRUB_UTIL] (grub_timeout_fini): Likewise.
36632
36633 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
36634 commands/timeout.c and normal/context.c.
36635 (pkgdata_MODULES): Added default.mod and timeout.mod.
36636 (normal_mod_SOURCES): Added normal/context.c.
36637 (default_mod_SOURCES): New variable.
36638 (default_mod_CFLAGS): Likewise.
36639 (timeout_mod_SOURCES): Likewise.
36640 (timeout_mod_CFLAGS): Likewise.
36641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
36642 conf/i386-pc.rmk.
36643 (pkgdata_MODULES): Added default.mod and timeout.mod.
36644 (normal_mod_SOURCES): Added normal/context.c.
36645 (default_mod_SOURCES): New variable.
36646 (default_mod_CFLAGS): Likewise.
36647 (timeout_mod_SOURCES): Likewise.
36648 (timeout_mod_CFLAGS): Likewise.
36649
36650 * Makefile.in (all-local): Added $(MKFILES).
36651
4ed2e1dd 366522005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
36653
36654 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
36655 (grub_emu_SOURCES): Likewise.
36656 (pkgdata_MODULES): Add `sun.mod'.
36657 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36659 `partmap/sun.c'.
36660 (pkgdata_MODULES): Add `sun.mod'.
36661 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36662 * include/grub/partition.h (grub_sun_partition_map_init): New
36663 prototype.
36664 (grub_sun_partition_map_fini): Likewise.
36665 * partmap/sun.c: New file.
36666 * util/grub-emu.c (main): Initialize and de-initialize the sun
36667 partitionmap support.
36668
4d4e372e 366692005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
36670
36671 This implements an Emacs-like menu entry editor.
f19dbdb7 36672
4d4e372e 36673 * normal/menu_entry.c: New file.
f19dbdb7 36674
4d4e372e 36675 * util/console.c (grub_ncurses_putchar): Translate some Unicode
36676 characters to ASCII.
36677 (saved_char): New variable.
36678 (grub_ncurses_checkkey): Rewritten completely.
36679 (grub_ncurses_getkey): Likewise.
36680 (grub_ncurses_init): Call raw instead of cbreak.
36681
36682 * normal/menu.c (print_entry): Do not put a space.
36683 (init_page): Renamed to ...
36684 (grub_menu_init_page): ... this. All callers changed.
36685 (edit_menu_entry): Removed.
36686 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
36687
36688 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
36689
36690 * kern/misc.c (grub_vprintf): Call grub_refresh.
36691
36692 * normal/menu.c (DISP_LEFT): Renamed to ...
36693 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
36694 * normal/menu.c (DISP_UP): Renamed to ...
36695 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
36696 * normal/menu.c (DISP_RIGHT): Renamed to ...
36697 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
36698 * normal/menu.c (DISP_DOWN): Renamed to ...
36699 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
36700 * normal/menu.c (DISP_HLINE): Renamed to ...
36701 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
36702 * normal/menu.c (DISP_VLINE): Renamed to ...
36703 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
36704 * normal/menu.c (DISP_UL): Renamed to ...
36705 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
36706 * normal/menu.c (DISP_UR): Renamed to ...
36707 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
36708 * normal/menu.c (DISP_LL): Renamed to ...
36709 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
36710 * normal/menu.c (DISP_LR): Renamed to ...
36711 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
36712 * normal/menu.c (TERM_WIDTH): Renamed to ...
36713 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
36714 * normal/menu.c (TERM_HEIGHT): Renamed to ...
36715 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
36716 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
36717 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
36718 * normal/menu.c (TERM_MARGIN): Renamed to ...
36719 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
36720 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
36721 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
36722 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
36723 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
36724 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
36725 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
36726 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
36727 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
36728 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
36729 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
36730 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
36731 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
36732 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
36733 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
36734 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
36735 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
36736 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
36737 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
36738 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
36739 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
36740 All callers changed.
36741
36742 * include/grub/normal.h: New prototype.
36743
36744 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36745 normal/menu_entry.c.
36746 (normal_mod_SOURCES): Likewise.
36747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36748 (normal_mod_SOURCES): Likewise.
36749
e6b92c8a 367502005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
36751
36752 * include/grub/normal.h (grub_halt_init): New prototype.
36753 (grub_halt_fini): Likewise.
36754 (grub_reboot_init): Likewise.
36755 (grub_reboot_fini): Likewise.
36756
36757 * util/grub-emu.c: Include signal.h.
36758 (main_env): New global variable.
36759 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
36760 catch C-c.
36761 (grub_machine_fini): New function.
36762 (main): Call grub_halt_init and grub_reboot_init before
36763 grub_main, and grub_reboot_fini and grub_halt_fini after it.
36764 Call setjmp with MAIN_ENV to go back afterwards.
36765 Call grub_machine_fini right before return.
36766
36767 * include/grub/util/misc.h: Include setjmp.h.
36768 (main_env): New prototype.
36769
36770 * include/grub/kernel.h (grub_machine_fini): New prototype.
36771 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
36772 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
36773
36774 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
36775 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
36776 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 36777
e6b92c8a 36778 * util/i386/pc/misc.c: New file.
f19dbdb7 36779
e6b92c8a 36780 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36781 util/i386/pc/misc.c, commands/i386/pc/halt.c and
36782 commands/i386/pc/reboot.c.
36783
c642636f 367842005-02-14 Guillem Jover <guillem@hadrons.org>
36785
36786 * include/grub/dl.h (grub_dl_check_header): New prototype.
36787 (grub_arch_dl_check_header): Change return type to grub_err_t,
36788 remove size parameter and export function. Update all callers.
36789 * kern/dl.c (grub_dl_check_header): New function.
36790 (grub_dl_load_core): Use `grub_dl_check_header' instead of
36791 `grub_arch_dl_check_header'. Check ELF type. Check if sections
36792 are inside the core.
36793 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
36794 independent ELF header checks.
36795 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36796 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
36797 `grub_dl_check_header' instead of explicit checks. Check for the
36798 ELF type.
36799 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
36800 `grub_dl_check_header' instead of explicit checks. Remove arch
36801 specific ELF header checks.
36802
e6b92c8a 36803 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
36804 argument SIZE.
36805
5eabe94b 368062005-02-13 Hollis Blanchard <hollis@penguinppc.org>
36807
36808 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
36809 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
36810
1b14a681 368112005-02-12 Hollis Blanchard <hollis@penguinppc.org>
36812
36813 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 36814 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 36815 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 36816 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 36817 * partmap/amiga.c (amiga_partition_map_iterate): Return
36818 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
36819 * partmap/apple.c (apple_partition_map_iterate): Likewise.
36820
aca108aa 368212005-02-01 Guillem Jover <guillem@hadrons.org>
36822
36823 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
36824 help info.
36825
c9f9c556 368262005-01-31 Marco Gerards <metgerards@student.han.nl>
36827
36828 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
36829 Removed prototype.
36830 (grub_rescue_cmd_linux): New prototype.
36831 (grub_rescue_cmd_initrd): Likewise.
36832 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
36833 `bi_rec'.
36834 (grub_linux_release_mem): Release the memory for the initrd.
36835 (grub_load_linux): Renamed from this...
36836 (grub_rescue_cmd_linux): ...To this. Changed all callers.
36837 Changed `entry' not to be static. Loop over memory regions to
36838 find another one when the default fails.
36839 (grub_rescue_cmd_initrd): New function.
36840 (grub_linux_init): Remove function.
36841 (grub_linux_fini): Likewise.
36842 (GRUB_MOD_INIT): Register `initrd'.
36843 (GRUB_MOD_FINI): Unregister `initrd'.
36844 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
36845 Function removed.
36846 (grub_linux_normal_fini): Likewise.
36847 (GRUB_MOD_INIT): Register `initrd'.
36848 (GRUB_MOD_FINI): Unregister `initrd'.
36849
990cf3aa 368502005-01-31 Marco Gerards <metgerards@student.han.nl>
36851
36852 * commands/help.c: New file.
36853 * normal/arg.c (show_help): Renamed to...
36854 (grub_arg_show_help): ... this.
36855 * commands/i386/pc/halt.c: New file.
36856 * commands/i386/pc/reboot.c: Likewise.
36857 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
36858 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
36859 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
36860 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
36861 variables.
36862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36863 `commands/help.c'.
36864 (pkgdata_MODULES): Add `help.mod'.
36865 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
36866 * grub/i386/pc/init.h (grub_reboot): New prototype.
36867 (grub_halt): Likewise.
36868 * include/grub/normal.h (grub_arg_show_help): New prototype.
36869 (grub_help_init): Likewise.
36870 (grub_help_fini): Likewise.
36871 * util/grub-emu.c (main): Initialize and deinitialize the help
36872 command.
36873
36874 * normal/cmdline.c (grub_cmdline_get): Doc fix.
36875
36876 * normal/command.c (grub_command_init): Fixed the description of
36877 the `set' and `unset' commands.
36878
368792005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 36880
36881 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
36882 function.
36883 * commands/ieee1275/halt.c: New file.
36884 * commands/ieee1275/reboot.c: Likewise.
36885 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
36886 `__attribute__ ((unused))'. Some GCS related fixed.
36887 (grub_suspend_init) [GRUB_UTIL]: Function removed.
36888 (grub_suspend_fini): Likewise.
36889 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
36890 and `halt.mod'.
36891 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
36892 (halt_mod_CFLAGS): New variables.
36893 * include/grub/powerpc/ieee1275/ieee1275.h
36894 (grub_ieee1275_interpret): New prototype.
36895
1ab09cc7 368962005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
36897
36898 * include/grub/misc.h (memmove): New prototype.
36899 (memcpy): Likewise.
36900
8b8cbdb2 369012005-01-22 Hollis Blanchard <hollis@penguinppc.org>
36902
36903 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
36904 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
36905
e3741a27 369062005-01-22 Marco Gerards <metgerards@student.han.nl>
36907
36908 * kern/misc.c (grub_strndup): Function rewritten.
36909
776bd780 369102005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
36911
36912 * normal/menu.c (TERM_WIDTH): Macro redefined.
36913 (TERM_TOP_BORDER_Y): Likewise.
36914 (draw_border): Replaced while-loop by a for-loop. Make the number
36915 of lines consistent with the number of lines displayed in
36916 print_entries. Added a margin below the rectangle.
36917 (print_entry): Make the entry fit in the rectangle.
36918 (print_entries): Display the scroll arrows next to the right
36919 border.
36920
78026bce 369212005-01-21 Marco Gerards <metgerards@student.han.nl>
36922
36923 * fs/minix.c (grub_minix_find_file): Reserve more space for
36924 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
36925 `grub_strncpy' to copy `path' into it.
36926
67bbaf0f 369272005-01-21 Marco Gerards <metgerards@student.han.nl>
36928
36929 Add the loopback device, a device via which files can be accessed
36930 as devices.
f19dbdb7 36931
67bbaf0f 36932 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
36933 (pkgdata_MODULES): Add loopback.mod.
36934 (loopback_mod_SOURCES): New variable.
36935 (loopback_mod_CFLAGS): Likewise.
36936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36937 `disk/loopback.c'.
36938 (pkgdata_MODULES): Add loopback.mod.
36939 (loopback_mod_SOURCES): New variable.
36940 (loopback_mod_CFLAGS): Likewise.
36941 * disk/loopback.c: new file.
36942 * include/grub/normal.h (grub_loop_init): New prototype.
36943 (grub_loop_fini): New prototype.
36944 * util/grub-emu.c (main): Initialize and de-initialize loopback
36945 support.
36946 * include/grub/disk.h (grub_disk_dev_id): Add
36947 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
36948
6f1c18bd 369492005-01-20 Hollis Blanchard <hollis@penguinppc.org>
36950
36951 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
36952 function.
36953 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
36954 (suspend_mod_SOURCES): New variable.
36955 (suspend_mod_CFLAGS): Likewise.
36956 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
36957 New prototype.
36958 * commands/ieee1275/suspend.c: New file.
36959
b38551da 369602005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36961
36962 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 36963 ((unused))' to `__attribute__ ((used))'.
b38551da 36964 (GRUB_MOD_FINI): Likewise.
36965 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
36966 * genmk.rb (PModule): Assign space to common symbols when linking
36967 modules.
36968
777aff39 369692005-01-20 Marco Gerards <metgerards@student.han.nl>
36970
36971 * include/grub/mm.h (grub_mm_init_region): Change the type of the
36972 `unsigned' arguments to `grub_size_t'.
36973 (grub_malloc): Likewise.
36974 (grub_realloc): Likewise.
36975 (grub_memalign): Likewise.
36976 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
36977 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36978 * util/misc.c (grub_malloc): Likewise.
36979 (grub_realloc): Likewise.
36980 * kern/mm.c (get_header_from_pointer): Change the casts to
36981 `unsigned' into a cast to `grub_size_t'.
36982
36983 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
36984 point to `currnode' when `currnode' is changed.
36985
36986 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
36987 Schottelius <nico-linux@schottelius.org>.
36988
d0ff18e1 369892005-01-09 Hollis Blanchard <hollis@penguinppc.org>
36990
36991 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
36992 (note_path): Remove variable.
36993 (GRUB_IEEE1275_NOTE_NAME): New macro.
36994 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
36995 (grub_ieee1275_note_hdr): New structure.
36996 (grub_ieee1275_note_desc): Likewise.
36997 (grub_ieee1275_note): Likewise.
36998 (load_note): Remove `dir' argument. All callers updated. Remove
36999 `note_img' and `path'. Do not load a file from `note_path'.
37000 Initialize a struct grub_ieee1275_note and write that to `out'.
37001 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
37002
4ca7004c 370032005-01-05 Marco Gerards <metgerards@student.han.nl>
37004
37005 * util/misc.c (grub_util_read_image): Revert last change. It
37006 called `grub_util_read_at', which seeks from the beginning of the
37007 file.
37008
0b412211 370092005-01-04 Hollis Blanchard <hollis@penguinppc.org>
37010
37011 * TODO: Add note about endianness in grub-mkimage.
37012 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
37013 section.
37014 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
37015 (grub_mkimage_SOURCES): New target.
37016 * include/grub/kernel.h (grub_start_addr): Remove variable.
37017 (grub_end_addr): Likewise.
37018 (grub_total_module_size): Likewise.
37019 (grub_kernel_image_size): Likewise.
37020 (GRUB_MODULE_MAGIC): New constant.
37021 (grub_module_info): New structure.
37022 (grub_arch_modules_addr): New prototype.
37023 (grub_get_end_addr): Remove prototype.
37024 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
37025 * include/grub/powerpc/ieee1275/kernel.h: New file.
37026 * include/grub/util/misc.h (grub_util_get_fp_size): New
37027 prototype.
37028 (grub_util_read_at): Likewise.
37029 (grub_util_write_image_at): Likewise.
37030 * kern/main.c (grub_get_end_addr): Remove function.
37031 (grub_load_modules): Call grub_arch_modules_addr instead of using
37032 grub_end_addr. Look for a grub_module_info struct in memory. Use
37033 the grub_module_info fields instead of calling grub_get_end_addr
37034 as loop conditions. Move grub_add_unused_region code here.
37035 (grub_add_unused_region): Remove function.
37036 * kern/i386/pc/init.c: Include grub/cache.h.
37037 (grub_machine_init): Remove call to grub_get_end_addr. Remove
37038 one call to add_mem_region.
37039 (grub_arch_modules_addr): New function.
37040 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
37041 (grub_total_module_size): Likewise.
37042 Include grub/machine/kernel.h.
37043 (grub_arch_modules_addr): New function.
37044 * util/grub-emu.c (grub_end_addr): Remove variable.
37045 (grub_total_module_size): Likewise.
37046 (grub_arch_modules_addr): New function.
37047 * util/misc.c: Include unistd.h.
37048 (grub_util_get_fp_size): New function.
37049 (grub_util_read_at): Likewise.
37050 (grub_util_write_image_at): Likewise.
37051 (grub_util_read_image): Call grub_util_read_at.
37052 (grub_util_write_image): Call grub_util_write_image_at.
37053 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
37054 additional memory in kernel_img for a struct grub_module_info.
37055 Fill in that grub_module_info.
37056 * util/powerpc/ieee1275/grub-mkimage.c: New file.
37057
458786f8 370582005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37059
37060 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
37061 New function.
37062 * include/grub/powerpc/ieee1275/ieee1275.h
37063 (grub_ieee1275_milliseconds): New prototype.
37064 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
37065 Change to 1000.
37066 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
37067 grub_ieee1275_milliseconds.
37068
ac507d1b 370692005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37070
37071 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
37072 variable.
37073 (find_options): New function.
37074 (cmain): Call find_options.
37075 * include/grub/powerpc/ieee1275/ieee1275.h
37076 (grub_ieee1275_realmode): New extern variable.
37077 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
37078 grub_map if grub_ieee1275_realmode is false.
37079
6b8fd1c4 370802004-12-29 Marco Gerards <metgerards@student.han.nl>
37081
37082 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
37083 lines are inserted and make it work like readline. Reported by
37084 Vincent Pelletier <subdino2004@yahoo.fr>.
37085
8514a1e0 370862004-12-28 Marco Gerards <metgerards@student.han.nl>
37087
37088 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
37089
37090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
37091 `kern/powerpc/cache.S'.
37092
924b6140 370932004-12-27 Marco Gerards <metgerards@student.han.nl>
37094
37095 * genmk.rb: Handle the `Program' class in the main loop. Written
37096 by Johan Rydberg <jrydberg@gnu.org>.
37097 (Program): New class.
37098 (programs): New variable.
37099 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
37100 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
37101 instead of "grub/kernel.h". Include <grub/machine/init.h>.
37102 (help_arch): Function removed.
37103 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
37104 `powerpc/libgcc.h' and `loader.h'.
37105 (pkgdata_PROGRAMS): New variable.
37106 (sbin_UTILITIES): Variable removed.
37107 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
37108 (grubof_SOURCES): Variable re-defined so it only includes the
37109 core functionality.
37110 (grubof_CFLAGS): Remove `-DGRUBOF'.
37111 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
37112 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
37113 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
37114 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
37115 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
37116 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
37117 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
37118 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
37119 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
37120 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
37121 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37122 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
37123 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
37124 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
37125 (pc_mod_CFLAGS): New variables.
37126 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
37127 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
37128 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
37129 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
37130 Moved from here...
37131 * include/grub/i386/pc/init.h (grub_os_area_addr)
37132 (rub_os_area_size): ... to here.
37133 * include/grub/powerpc/ieee1275/ieee1275.h
37134 (grub_ieee1275_entry_fn): Export symbol.
37135 * include/grub/powerpc/ieee1275/init.h: New file.
37136 * include/grub/powerpc/libgcc.h: Likewise.
37137 * include/grub/cache.h: Likewise.
37138 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
37139 <hollis@penguinppc.org>.
37140 * kern/dl.c: Include <grub/cache.h>.
37141 (grub_dl_flush_cache): New function.
37142 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
37143 for this module.
37144 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
37145 (grub_console_init): Removed prototypes.
37146 (grub_machine_init): Don't initialize the modules anymore.
37147 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
37148 static.
37149 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
37150 Macro undef removed.
37151 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
37152 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
37153 relocation `R_PPC_REL32'. Return an error when the relocation is
37154 unknown.
37155 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
37156 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
37157 * util/misc.c (grub_arch_sync_caches): Likewise.
37158
e4b47e0c 371592004-12-19 Marco Gerards <metgerards@student.han.nl>
37160
37161 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
37162 `symlist.c', add `grubof_symlist.c'.
37163 (symlist.c): Variable removed.
37164 (grubof_HEADERS): Variable added.
37165 (grubof_symlist.c): New target.
37166 (kernel_syms.lst): Use `grubof_HEADERS' instead of
37167 `kernel_img_HEADERS'.
37168 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
37169 * kern/powerpc/dl.c: New file.
37170 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
37171 Function removed.
37172 (grub_arch_dl_relocate_symbols): Likewise.
37173 (grub_register_exported_symbols): Likewise.
37174
4ceb3636 371752004-12-13 Marco Gerards <metgerards@student.han.nl>
37176
37177 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
37178 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
37179 to fail instead. Reported by Vincent Pelletier
37180 <subdino2004@yahoo.fr>.
37181
37182 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
37183 it is not allocated. Reported by Vincent Pelletier
37184 <subdino2004@yahoo.fr>.
37185
37186 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
37187 output so the output looks better.
f19dbdb7 37188
3f1578fe 371892004-12-04 Marco Gerards <metgerards@student.han.nl>
37190
37191 Modulize the partition map support and add support for the amiga
37192 partition map.
f19dbdb7 37193
3f1578fe 37194 * commands/ls.c: Include <grub/partition.h> instead of
37195 <grub/machine/partition.h>.
37196 * kern/disk.c: Likewise.
37197 * kern/rescue.c: Likewise.
37198 * loader/i386/pc/chainloader.c: Likewise.
37199 * normal/cmdline.c: Likewise.
37200 * kern/powerpc/ieee1275/init.c: Likewise.
37201 (grub_machine_init): Call `grub_pc_partition_map_init',
37202 `grub_amiga_partition_map_init' and
37203 `grub_apple_partition_map_init'.
37204 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
37205 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
37206 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
37207 `partition.h' and `pc_partition.h'.
37208 (grub_setup_SOURCES): Remove
37209 `disk/i386/pc/partition.c'. Add `kern/partition.c',
37210 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37211 (grub_emu_SOURCES): Likewise.
37212 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
37213 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
37214 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
37215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37216 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
37217 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37218 (grubof_SOURCES): Likewise.
37219 * disk/i386/pc/partition.c: File removed.
37220 * disk/powerpc/ieee1275/partition.c: Likewise.
37221 * include/grub/powerpc/ieee1275/partition.h: Likewise.
37222 * include/grub/i386/pc/partition.h: Likewise.
37223 * kern/partition.c: New file.
37224 * partmap/amiga.c: Likewise.
37225 * partmap/apple.c: Likewise.
37226 * partmap/pc.c: Likewise.
37227 * include/grub/partition.h: Likewise..
37228 * include/grub/pc_partition.h: Likewise.
37229 * util/grub-emu.c: Include <grub/partition.h> instead of
37230 <grub/machine/partition.h>.
37231 (main): Call `grub_pc_partition_map_init',
37232 `grub_amiga_partition_map_init' and
37233 `grub_apple_partition_map_init' and deinitialize afterwards.
37234 * util/i386/pc/biosdisk.c: Include `#include
37235 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37236 `<grub/machine/partition.h>'.
37237 * util/i386/pc/grub-setup.c: Likewise.
37238 * util/i386/pc/biosdisk.c: Likewise.
37239 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
37240 partition information in case of a PC partition.
37241 * util/i386/pc/grub-setup.c: Include `#include
37242 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37243 `<grub/machine/partition.h>'.
37244 (setup): Only access the PC specific partition information in case
37245 of a PC partition.
37246
0ef4ced9 372472004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37248
0ef4ced9 37249 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
37250 (grub_longjmp): Likewise.
37251 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
37252 20.
37253 * normal/powerpc/setjmp.S: New file.
37254 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37255 `normal/powerpc/setjmp.S'.
37256 (grubof_CFLAGS): Add `-DGRUBOF'.
37257 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
37258 [GRUB_UTIL && !GRUBOF].
f19dbdb7 37259
19950e29 372602004-11-16 Marco Gerards <metgerards@student.han.nl>
37261
37262 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
37263 property named `name'. Correctly handle the error returned by
37264 `grub_ieee1275_finddevice' if a device can not be opened.
37265
a2fea427 372662004-11-02 Hollis Blanchard <hollis@penguinppc.org>
37267
37268 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
37269 `actual' for negativity.
37270 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37271 kern/fshelp.c.
37272
41ea0ea3 372732004-11-01 Marco Gerards <metgerards@student.han.nl>
37274
37275 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
37276 (PAGE_OFFSET): New macro.
37277 (CRTC_ADDR_PORT): Likewise.
37278 (CRTC_DATA_PORT): Likewise.
37279 (START_ADDR_HIGH_REGISTER): Likewise.
37280 (START_ADDR_LOW_REGISTER): Likewise.
37281 (GRAPHICS_ADDR_PORT): Likewise.
37282 (GRAPHICS_DATA_PORT): Likewise.
37283 (READ_MAP_REGISTER): Likewise.
37284 (INPUT_STATUS1_REGISTER): Likewise.
37285 (INPUT_STATUS1_VERTR_BIT): Likewise.
37286 (page): New variable.
37287 (wait_vretrace): New function.
37288 (set_read_map): Likewise.
37289 (set_start_address): Likewise.
37290 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
37291 the right page.
37292 (check_vga_mem): Take the page into account.
37293 (write_char): Likewise.
37294 (write_cursor): Likewise.
37295 (scroll_up): Likewise. Copy the page to the page that is not
37296 shown and switch between both pages.
37297 (grub_vga_putchar): Fix off by one error.
37298 (grub_vga_cls): Wait for the vertical retrace. Take the page into
37299 account.
37300
ad0bd20b 373012004-11-01 Marco Gerards <metgerards@student.han.nl>
37302
37303 Add support for iso9660 (including rockridge).
f19dbdb7 37304
ad0bd20b 37305 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37306 (iso9660_mod_SOURCES): New variable.
37307 (iso9660_mod_CFLAGS): Likewise.
37308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37309 * include/grub/fs.h (grub_iso9660_init): New prototype.
37310 * util/grub-emu.c (main): Call `grub_iso9660_init'.
37311 * fs/iso9660.c: New file.
37312
37313 * include/grub/misc.h (grub_strncat): New prototype.
37314 * kern/misc.c (grub_strncat): New function.
f19dbdb7 37315
ad0bd20b 37316 * fs/hfs.c (grub_hfs_mount): Translate the error
37317 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
37318 * fs/jfs.c (grub_jfs_mount): Likewise.
37319 * fs/ufs.c (grub_ufs_mount): Likewise.
37320
a5477a59 373212004-10-28 Hollis Blanchard <hollis@penguinppc.org>
37322
37323 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
37324 which initialized BAT registers.
37325 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
37326 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37327 Move from here...
37328 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
37329 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37330 ... to here.
37331 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
37332 (grub_mapclaim): Likewise.
37333 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
37334 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
37335 hand.
37336
9304c1f8 373372004-10-19 Hollis Blanchard <hollis@penguinppc.org>
37338
37339 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
37340 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
37341 -ffreestanding and -msoft-float.
37342
86f4ae25 373432004-10-15 Hollis Blanchard <hollis@penguinppc.org>
37344
37345 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
37346 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
37347 set in grub_ieee1275_flags.
37348
38912228 373492004-10-14 Hollis Blanchard <hollis@penguinppc.org>
37350
37351 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
37352 prototype.
37353 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
37354 grub_console_init first.
37355 Change the memory range used for grub_ieee1275_claim and
37356 grub_mm_init_region.
37357 Print an error message if the claim fails.
37358 Include <grub/misc.h>.
37359
d1923dc8 373602004-10-13 Hollis Blanchard <hollis@penguinppc.org>
37361
37362 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
37363 Call grub_children_iterate for device nodes of type `scsi',
37364 `ide', or `ata'.
37365 (grub_ofdisk_open): Remove manual device alias resolution.
37366 Fix memory leak when device cannot be opened.
f19dbdb7 37367 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 37368 (grub_children_iterate): New prototype.
37369 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
37370 New function.
37371 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37372 Return -1 if args.size was -1.
37373
4512e4f3 373742004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37375
37376 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
37377 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
37378 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
37379 Open Firmware's memory for it; claim memory from _start to _end.
37380 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
37381 (_end): New extern.
37382 (_start): Zero BSS from __bss_start to _end.
37383 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37384 New extern.
37385 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
37386
4d61feb0 373872004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37388
ad0bd20b 37389 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
37390 -1 if args.base was -1.
4d61feb0 37391
026fa2f9 373922004-10-08 Hollis Blanchard <hollis@penguinppc.org>
37393
37394 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
37395 escape sequence instead of a literal ^L. Also call
37396 grub_ofconsole_gotoxy.
37397
9f2220ef 373982004-10-03 Hollis Blanchard <hollis@penguinppc.org>
37399
37400 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
37401 void * arguments to grub_addr_t. All callers updated. Also make
37402 the `result' argument optional.
37403 (grub_ieee1275_release): change void * arguments to grub_addr_t.
37404 All callers updated.
37405
8a572cd7 374062004-09-22 Hollis Blanchard <hollis@penguinppc.org>
37407
37408 * commands/ls.c (grub_ls_list_files): Use the string following the
37409 initial ')', if present, as the filesystem path.
37410 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
37411
37412 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
37413
18aa81f2 374142004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
37415
37416 Make the source code of the menu interface more readable.
f19dbdb7 37417
18aa81f2 37418 * normal/menu.c: Include grub/mm.h.
37419 (TERM_WIDTH): New macro.
37420 (TERM_HEIGHT): Likewise.
37421 (TERM_INFO_HEIGHT): Likewise.
37422 (TERM_MARGIN): Likewise.
37423 (TERM_SCROLL_WIDTH): Likewise.
37424 (TERM_TOP_BORDER_Y): Likewise.
37425 (TERM_LEFT_BORDER_X): Likewise.
37426 (TERM_BORDER_WIDTH): Likewise.
37427 (TERM_MESSAGE_HEIGHT): Likewise.
37428 (TERM_BORDER_HEIGHT): Likewise.
37429 (TERM_NUM_ENTRIES): Likewise.
37430 (TERM_FIRST_ENTRY_Y): Likewise.
37431 (TERM_ENTRY_WIDTH): Likewise.
37432 (TERM_CURSOR_X): Likewise.
37433 (draw_border): Use macros instead of magic numbers.
37434 (print_entry): Likewise.
37435 (print_entries): Likewise.
37436 (run_menu): Likewise. Also, handle the key 'e'.
37437 (run_menu_entry): Ignore empty command lines.
37438 (print_message): Added a new argument EDIT. If EDIT is true,
37439 print a different message.
37440 (init_page): Likewise.
37441 (edit_menu_entry): New function. Not implemented yet.
37442
b47efe30 374432004-09-17 Marco Gerards <metgerards@student.han.nl>
37444
37445 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
37446 can be loaded from normal mode.
f19dbdb7 37447
b47efe30 37448 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
37449 `multiboot.mod'.
37450 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
37451 (multiboot_mod_CFLAGS): New variables.
37452 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 37453 * loader/i386/pc/multiboot_normal.c: Likewise.
37454
b47efe30 37455 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
37456 attribute `unused'.
f19dbdb7 37457
b47efe30 37458 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
37459 `fdiro' to read the mode information from instead of `diro'.
37460
37461 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
37462 looking up a symlink.
37463
37464 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
37465 macro.
37466 * normal/command.c (grub_command_execute): Don't parse the
37467 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
37468 flags of the command.
37469
37470 * normal/menu.c (grub_menu_run): Fix typo.
37471
da75ac71 374722004-09-14 Hollis Blanchard <hollis@penguinppc.org>
37473
37474 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
37475
37476 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
37477 `y + 1' instead of `y - 1'.
37478
37479 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 37480
062b24c2 374812004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
37482
37483 From Hollis Blanchard <hollis@penguinppc.org>:
37484 * kern/misc.c (memmove): New alias for grub_memmove.
37485 (memcmp): New alias for grub_memcmp.
37486 (memset): New alias for grub_memset.
f19dbdb7 37487 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 37488 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 37489 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 37490 (grub_ieee1275_get_property): Likewise.
f19dbdb7 37491
8ddad845 374922004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
37493
37494 Added normal mode command `chainloader' as module chain.mod, which
37495 depends on normal.mod and _chain.mod.
f19dbdb7 37496
8ddad845 37497 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
37498 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
37499 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
37500 Deleted prototype.
37501 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
37502 but arguments parsing moved to ...
37503 (grub_chainloader_cmd): ... here. New function.
37504 * include/grub/i386/pc/chainloader.h: New file.
37505 * loader/i386/pc/chainloader_normal.c: Likewise.
37506
2c1f4ce3 375072004-09-11 Marco Gerards <metgerards@student.han.nl>
37508
37509 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
37510 (grub_mkimage_LDFLAGS): Likewise.
37511 (grub_emu_SOURCES): Likewise.
37512 (kernel_img_HEADERS): Added fshelp.h.
37513 * fs/ext2.c: Include <grub/fshelp.h>.
37514 (FILETYPE_REG): New macro.
37515 (FILETYPE_INO_REG): Likewise.
37516 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
37517 Changed all users.
37518 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
37519 all users.
37520 (grub_fshelp_node): New struct.
37521 (grub_ext2_data): Added member `diropen'. Changed member `inode'
37522 to a pointer.
37523 (grub_ext2_get_file_block): Removed function.
37524 (grub_ext2_read_block): New function.
37525 (grub_ext2_read_file): Replaced parameter `data' by `node'.
37526 This function was written.
37527 (grub_ext2_mount): Read the root inode. Create a diropen struct.
37528 (grub_ext2_find_file): Removed function.
37529 (grub_ext2_read_symlink): New function.
37530 (grub_ext2_iterate_dir): Likewise.
37531 (grub_ext2_open): Rewritten.
37532 (grub_ext2_dir): Rewritten.
37533 * include/grub/fshelp.h: New file.
37534 * fs/fshelp.c: Likewise.
37535
3c52136a 375362004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
37537
37538 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
37539 (print_message): Add a missing newline.
37540 (run_menu): Added timeout support.
37541 (run_menu_entry): New local function.
37542 (grub_menu_run): Added support for booting.
37543
37544 * kern/loader.c (grub_loader_is_loaded): New function.
37545
37546 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
37547 (grub_get_rtc): Exported.
37548
37549 * include/grub/i386/pc/time.h: Include grub/symbol.h.
37550 (grub_get_rtc): Exported.
37551
37552 * include/grub/normal.h (struct grub_command_list): Remove
37553 constant from the member `command'.
37554
37555 * include/grub/loader.h (grub_loader_is_loaded): Declared.
37556
37557 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
37558
37559 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
37560
aa033560 375612004-08-28 Marco Gerards <metgerards@student.han.nl>
37562
37563 Add support for the JFS filesystem.
37564
37565 * fs/jfs.c: New file.
37566 * include/grub/fs.h (grub_jfs_init): New prototype.
37567 (grub_jfs_fini): New prototype.
37568 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
37569 (grub_emu_SOURCES): Likewise.
37570 (pkgdata_MODULES): Add jfs.mod.
37571 (jfs_mod_SOURCES): New variable.
37572 (jfs_mod_CFLAGS): Likewise.
37573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
37574 (grubof_SOURCES): Likewise.
37575 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
37576
37577 * fs/fat.c (grub_fat_find_dir): Convert the filename little
37578 endian to the host endian.
37579 (grub_fat_utf16_to_utf8): Move function from there...
37580 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 37581 the endianness of the source string anymore.
aa033560 37582 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
37583
94bc45af 375842004-08-24 Marco Gerards <metgerards@student.han.nl>
37585
37586 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
37587 (grub_boot_fini) [GRUB_UTIL]: Likewise.
37588 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
37589 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 37590
94bc45af 37591 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
37592 (grub_hfs_iterate_dir): Make the function static. Add prototypes
37593 for `node_found' and `it_dir'.
37594 (grub_hfs_dir): Add prototype for `dir_hook'.
37595
37596 * fs/minix.c (grub_minix_get_file_block): Add prototype for
37597 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
37598 and `indir32' to silence a gcc warning.
37599
37600 * include/grub/fs.h (grub_hfs_init): New prototype.
37601 (grub_hfs_fini): Likewise.
f19dbdb7 37602
37603
97543f08 376042004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37605
37606 Each disk device has its own id now. This is useful to make use
37607 of multiple disk devices.
f19dbdb7 37608
97543f08 37609 * include/grub/disk.h (grub_disk_dev_id): New enum.
37610 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
37611 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
37612
37613 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
37614 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37615
37616 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
37617 GRUB_DISK_DEVICE_OFDISK_ID as an id.
37618
37619 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
37620 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37621
37622 * include/grub/disk.h (struct grub_disk_dev): Added a new member
37623 "id" which is used by the cache manager.
37624
37625 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
37626 of just "GRUB".
37627
64372eb4 376282004-08-18 Marco Gerards <metgerards@student.han.nl>
37629
37630 * fs/hfs.c: New file.
37631 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
37632 (grub_emu_SOURCES): Likewise.
37633 (pkgdata_MODULES): Add hfs.mod.
37634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
37635 (grubof_SOURCES): Likewise.
37636 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
37637
37638 * include/grub/misc.h (grub_strncasecmp): Add prototype.
37639 * kern/misc.c (grub_strncasecmp): Add function.
37640
cc61b58f 376412004-08-14 Marco Gerards <metgerards@student.han.nl>
37642
37643 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
37644 with parentheses.
37645
37646 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
37647 (grub_ext2_dir): In case the directory entry type is unknown, read
37648 it from the inode.
37649
0ef123f6 376502004-08-02 Peter Bruin <pjbruin@dds.nl>
37651
37652 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
37653 grub_load_linux instead of grub_rescue_cmd_linux as second
37654 argument of grub_rescue_register_command.
37655
37656 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
37657
a447c5df 376582004-07-27 Marco Gerards <metgerards@student.han.nl>
37659
37660 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
37661 function.
37662 * commands/boot.c: Remove the check for `GRUB_UTIL'.
37663 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37664 `loader/powerpc/ieee1275/linux.c',
37665 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
37666 * include/grub/powerpc/ieee1275/ieee1275.h
37667 (grub_ieee1275_release): New prototype.
37668 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
37669 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
37670 normal, boot, linux and linux_normal.
37671 * loader/powerpc/ieee1275/linux.c: New file.
37672 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37673
5a9e3546 376742004-07-12 Marco Gerards <metgerards@student.han.nl>
37675
37676 * normal/arg.c (grub_arg_parse): Correct error handling after
37677 reallocating the argumentlist (check if `argl' is not null instead
37678 of checking if `args' is not null).
37679 * kern/mm.c (grub_realloc): Return the same pointer when using the
37680 same region, instead of returning the header address.
37681
e15199cb 376822004-07-11 Marco Gerards <metgerards@student.han.nl>
37683
37684 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
37685 one block instead of two when looking for the initial partition.
37686 (grub_partition_probe): Initialize the local variable `p' with 0.
37687 Use base 10 for the grub_strtoul call.
37688 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
37689 need for one local variable.
37690 (grub_strtoul): Don't add the new value to `num', instead of that
37691 just assign it.
37692
020616c2 376932004-07-11 Marco Gerards <metgerards@student.han.nl>
37694
37695 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
37696 (pxeboot_img_SOURCES): New variable.
37697 (pxeboot_img_ASFLAGS): Likewise.
37698 (pxeboot_img_LDFLAGS): Likewise.
37699 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
37700 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
37701 <lode_leroy@hotmail.com>.
37702
6c51eb64 377032004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37704
37705 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
37706 there was no input.
37707
cfb12aff 377082004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37709
37710 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
37711 the history buffer logic.
37712
6eabba74 377132004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37714
37715 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
37716 (FILETYPE_INO_SYMLINK): New macros.
37717 (grub_ext2_find_file): Check if the node is a directory using the
37718 inode stat information instead of using the filetype in the
37719 dirent. Exclude the first character of an absolute symlink.
37720 (grub_ext2_dir): Mask out the filetype part of the mode member of
37721 the inode.
37722
66e19ef8 377232004-05-24 Marco Gerards <metgerards@student.han.nl>
37724
37725 Add support for UFS version 1 and 2. Add support for the minix
37726 filesystem version 1 and 2, both the variants with 14 and 30 long
37727 filenames.
f19dbdb7 37728
66e19ef8 37729 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
37730 fs/minix.c.
37731 (grub_emu_SOURCES): Likewise.
37732 (pkgdata_MODULES): Add ufs.mod and minix.mod.
37733 (ufs_mod_SOURCES): New variable.
37734 (ufs_mod_CFLAGS): Likewise.
37735 (minix_mod_SOURCES): Likewise.
37736 (minix_mod_CFLAGS): Likewise.
37737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
37738 fs/minix.c.
37739 (grubof_SOURCES): Likewise.
37740 * fs/ufs.c: New file.
37741 * fs/minix.c: New file.
37742 * include/grub/fs.h (grub_ufs_init): New prototype.
37743 (grub_ufs_fini): Likewise.
37744 (grub_minix_init): Likewise.
37745 (grub_minix_fini): Likewise.
37746 * util/grub-emu.c (main): Initialize and deinitialize UFS and
37747 minix fs.
37748
cc2e748a 377492004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
37750
37751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
37752 commands/ls.c, commands/terminal.c, commands/boot.c,
37753 commands/cmp.c and commands/cat.c.
37754 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
37755
37756 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
37757 "env.h"
37758
4b13b216 377592004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37760
37761 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
37762 and grub_, respectively. Because the conversion is trivial and
37763 mechanical, I omit the details here. Please refer to the CVS
37764 if you need more information.
37765
6a142551 377662004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37767
37768 * include/pupa: Renamed to ...
37769 * include/grub: ... this.
37770 * util/i386/pc/pupa-mkimage.c: Renamed to ...
37771 * util/i386/pc/grub-mkimage.c: ... this.
37772 * util/i386/pc/pupa-setup.c: Renamed to ...
37773 * util/i386/pc/grub-setup.c: ... this.
37774 * util/pupa-emu.c: Renamed to ...
37775 * util/grub-emu.c: ... this.
37776
e56cdf21 377772004-03-29 Marco Gerards <metgerards@student.han.nl>
37778
37779 Add support for the newworld apple macintosh (PPC). This has been
37780 tested on the powerbook 2000 only. It only adds support for
37781 generic ieee1275 functions, console and disk support. This should
37782 be easy to port to other architectures with support for Open
37783 Firmware.
f19dbdb7 37784
e56cdf21 37785 * configure.ac: Accept the powerpc as host_cpu. In the case of
37786 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
37787 specific tests are only executed while building for the i386.
37788 Inverse test for crosscompile.
37789 * genmk.rb (Utility): Allow assembler files.
37790 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
37791 * conf/powerpc-ieee1275.rmk: New file.
37792 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
37793 * disk/powerpc/ieee1275/partition.c: Likewise.
37794 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
37795 * include/pupa/powerpc/ieee1275/console.h: Likewise.
37796 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
37797 * include/pupa/powerpc/ieee1275/time.h: Likewise.
37798 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
37799 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
37800 * include/pupa/powerpc/ieee1275/loader.h
37801 * include/pupa/powerpc/setjmp.h: Likewise.
37802 * include/pupa/powerpc/types.h: Likewise.
37803 * kern/powerpc/ieee1275/init.c: Likewise.
37804 * kern/powerpc/ieee1275/openfw.c: Likewise.
37805 * term/powerpc/ieee1275/ofconsole.c: Likewise.
37806
37807 These files were written by Johan Rydberg
37808 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 37809
e56cdf21 37810 * boot/powerpc/ieee1275/cmain.c: New file.
37811 * boot/powerpc/ieee1275/crt0.S: Likewise.
37812 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
37813 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
37814
8c8cc205 378152004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
37816
37817 * Makefile.in: Update copyright.
37818 * genmodsrc.sh: Likewise.
37819 * gensymlist.sh: Likewise.
37820 * term/i386/pc/vga.c: Indent correctly.
37821
37822 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
37823 bugreporting address.
37824 * util/i386/pc/pupa-setup.c (usage): Likewise,
37825 (main): Call pupa_ext2_init and pupa_ext2_fini.
37826
f19dbdb7 37827 * fs/fat.c (log2): Renamed to ...
8c8cc205 37828 (fat_log2): ... this.
37829 All callers changed.
37830 * kern/misc.c (memcpy): Alias to pupa_memmove.
37831 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
37832 lvalue cast.
37833 * util/console.c (pupa_ncurses_fini): Return 0.
37834
37835 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
37836 Move fail label here.
37837 [__GNU__]: Don't warn when using stat.
37838 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
37839 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
37840 long int. Use strtol instead of strtoul.
f19dbdb7 37841
db1771cf 378422004-03-14 Marco Gerards <metgerards@student.han.nl>
37843
37844 * commands/boot.c: New file.
37845 * commands/cat.c: Likewise.
37846 * commands/cmp.c: Likewise.
37847 * commands/ls.c: Likewise.
37848 * commands/terminal.c: Likewise.
37849 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
37850 (pupa_register_command): Changed interface to match the new
37851 argument parser.
37852 (pupa_command_execute): Changed (almost rewritten) so it uses
37853 pupa_split_command. Added support for setting variables using the
37854 syntax `foo=bar'.
37855 (rescue_command): Changed to work with the new argument parser.
37856 (terminal_command): Moved from here to commands/terminal.c.
37857 (set_command): New function.
37858 (unset_command): New function.
37859 (insmod_command): New function.
37860 (rmmod_command): New function.
37861 (lsmod_command): New function.
37862 (pupa_command_init): Don't initialize the command terminal
37863 anymore. Initialize the commands set, unset, insmod, rmmod and
37864 lsmod.
37865 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
37866 (kernel_img_HEADERS): Add arg.h and env.h.
37867 (pupa_mkimage_LDFLAGS): Add kern/env.c.
37868 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
37869 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
37870 normal/arg.c.
37871 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
37872 terminal.mod.
37873 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
37874 (boot_mod_SOURCES): New variable.
37875 (terminal_mod_SOURCES): Likewise.
37876 (ls_mod_SOURCES): Likewise.
37877 (cmp_mod_SOURCES): Likewise.
37878 (cat_mod_SOURCES): Likewise.
37879
37880 * normal/arg.c: New file.
37881 * kern/env.c: Likewise.
37882 * include/pupa/arg.h: Likewise.
37883 * include/pupa/env.h: Likewise.
37884 * font/manager.c (font_command): Changed to match argument parsing
37885 interface changes.
37886 (PUPA_MOD_INIT): Likewise.
37887 * hello/hello.c (pupa_cmd_hello): Likewise.
37888 (PUPA_MOD_INIT): Likewise.
37889 * include/pupa/disk.h: Include <pupa/device.h>.
37890 (pupa_print_partinfo): New prototype.
37891 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
37892 (pupa_dl_get_prefix): Likewise.
37893 * include/pupa/misc.h: Include <pupa/err.h>.
37894 (pupa_isgraph): New prototype.
37895 (pupa_isdigit): Likewise.
37896 (pupa_split_cmdline): Likewise.
37897 * include/pupa/normal.h: Include <pupa/arg.h>.
37898 (pupa_command): Changed the prototype of the member `func' to
37899 match the argument parsing interface. Added member `options'.
37900 (pupa_register_command): Updated to match function.
37901 (pupa_arg_parse): New prototype.
37902 (pupa_hello_init) [PUPA_UTIL]: New prototype.
37903 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
37904 (pupa_ls_init) [PUPA_UTIL]: Likewise.
37905 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
37906 (pupa_cat_init) [PUPA_UTIL]: Likewise.
37907 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
37908 (pupa_boot_init) [PUPA_UTIL]: Likewise.
37909 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
37910 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
37911 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
37912 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
37913 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
37914 * kern/disk.c: Include <pupa/file.h>.
37915 (pupa_print_partinfo): New function.
37916 * kern/dl.c: Include <pupa/env.h>.
37917 (pupa_dl_dir): Variable removed.
37918 (pupa_dl_load): Use the environment variable `prefix' instead of
37919 the variable pupa_dl_dir.
37920 (pupa_dl_set_prefix): Function removed.
37921 (pupa_dl_get_prefix): Likewise.
37922 * kern/i386/pc/init.c: Include <pupa/env.h>.
37923 (pupa_machine_init): Use the environment variable `prefix' instead of
37924 using pupa_dl_set_prefix to set the prefix.
37925 * kern/main.c: Include <pupa/env.h>.
37926 (pupa_set_root_dev): Use the environment variable `prefix' instead of
37927 using pupa_dl_get_prefix to get the prefix.
37928 * kern/misc.c: Include <pupa/env.h>.
37929 (pupa_isdigit): New function.
37930 (pupa_isgraph): Likewise.
37931 (pupa_ftoa): Likewise.
37932 (pupa_vsprintf): Added support for printing values of the type
37933 `double'. Make it possible to format variable output when using
37934 formatting like `%1.2%f'.
37935 (pupa_split_cmdline): New function.
37936 * kern/rescue.c: Include <pupa/env.h>.
37937 (next_word): Removed function.
37938 (pupa_rescue_cmd_prefix): Likewise.
37939 (pupa_rescue_cmd_set): New function.
37940 (pupa_rescue_cmd_unset): New function.
37941 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
37942 split the command line instead of splitting it here. Added
37943 support for setting variables using the syntax `foo=bar'. Don't
37944 initialize the prefix command anymore. Initialized the set and
37945 unset commands.
37946 * normal/cmdline.c: Include <pupa/env.h>.
37947 (pupa_tab_complete): Added prototypes for print_simple_completion,
37948 print_partition_completion, add_completion, iterate_commands,
37949 iterate_dev, iterate_part and iterate_dir. Moved code to print
37950 partition information from here to kern/disk.c.
fe6b695a 37951 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 37952 * normal/main.c: Include <pupa/env.h>.
37953 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
37954 instead of using pupa_dl_get_prefix to get the prefix.
37955 * term/i386/pc/vga.c: Include <pupa/arg.h>.
37956 (check_vga_mem): Cast pointers to `void *' to silence a gcc
37957 warning.
37958 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
37959 (pupa_vga_setcolor): Declare unused variables with `__attribute__
37960 ((unused))' to silence a gcc warning.
37961 (pupa_vga_setcolor): Likewise.
37962 (debug_command): Changed to match argument parsing
37963 interface changes.
37964 * util/pupa-emu.c: Include <pupa/env.h>.
37965 (options): Added 0's for unused fields to silence a gcc warning.
37966 (argp): Likewise.
37967 (main): Use the environment variable `prefix' instead of using
37968 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
37969 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
37970 and terminal.
37971
37972 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
37973 * util/misc.c: Include <malloc.h>.
37974 (pupa_malloc): Rewritten so errors are correctly reported.
37975 (pupa_realloc): Likewise.
37976 (pupa_memalign): Likewise.
37977 (pupa_mm_init_region): Declare unused variables with
37978 `__attribute__ ((unused))' to silence a gcc warning.
37979 * normal/i386/setjmp.S: Remove tab at the end of the file to
37980 silence a gcc warning.
37981 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
37982 variables with `__attribute__ ((unused))' to silence a gcc
37983 warning.
37984 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
37985 local variable i unsigned to silence a gcc warning.
37986
37987 * kern/term.c: Include <pupa/misc.h>.
37988 (pupa_more_lines): New variable.
37989 (pupa_more): Likewise.
37990 (pupa_putcode): When the pager is active pause at the end of every
37991 screen.
37992 (pupa_set_more): New function.
37993 * include/pupa/term.h (pupa_set_more): New prototype.
37994
37995
3b1139cb 379962004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
37997
37998 Now this project is GRUB 2 rather than PUPA. The location of
37999 the CVS repository was moved to GRUB's.
f19dbdb7 38000
3b1139cb 38001 * configure.ac: Use bug-grub as the reporting address.
38002 Use GRUB instead of PUPA.
38003 Change the version number to 1.90.
38004
8367695c 380052004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
38006
38007 * genkernsyms.sh: Updated copyright information.
38008 * genmk.rb: Likewise.
38009 * genmodsrc.sh: Likewise.
38010 * gensymlist.sh: Likewise.
38011 * boot/i386/pc/boot.S: Likewise.
38012 * boot/i386/pc/diskboot.S: Likewise.
38013 * disk/i386/pc/biosdisk.c: Likewise.
38014 * disk/i386/pc/partition.c: Likewise.
38015 * font/manager.c: Likewise.
38016 * fs/ext2.c: Likewise.
38017 * fs/fat.c: Likewise.
38018 * include/pupa/boot.h: Likewise.
38019 * include/pupa/device.h: Likewise.
38020 * include/pupa/disk.h: Likewise.
38021 * include/pupa/dl.h: Likewise.
38022 * include/pupa/elf.h: Likewise.
38023 * include/pupa/err.h: Likewise.
38024 * include/pupa/file.h: Likewise.
38025 * include/pupa/font.h: Likewise.
38026 * include/pupa/fs.h: Likewise.
38027 * include/pupa/kernel.h: Likewise.
38028 * include/pupa/loader.h: Likewise.
38029 * include/pupa/misc.h: Likewise.
38030 * include/pupa/mm.h: Likewise.
38031 * include/pupa/net.h: Likewise.
38032 * include/pupa/normal.h: Likewise.
38033 * include/pupa/rescue.h: Likewise.
38034 * include/pupa/setjmp.h: Likewise.
38035 * include/pupa/symbol.h: Likewise.
38036 * include/pupa/term.h: Likewise.
38037 * include/pupa/types.h: Likewise.
38038 * include/pupa/i386/setjmp.h: Likewise.
38039 * include/pupa/i386/types.h: Likewise.
38040 * include/pupa/i386/pc/biosdisk.h: Likewise.
38041 * include/pupa/i386/pc/boot.h: Likewise.
38042 * include/pupa/i386/pc/console.h: Likewise.
38043 * include/pupa/i386/pc/init.h: Likewise.
38044 * include/pupa/i386/pc/kernel.h: Likewise.
38045 * include/pupa/i386/pc/linux.h: Likewise.
38046 * include/pupa/i386/pc/loader.h: Likewise.
38047 * include/pupa/i386/pc/memory.h: Likewise.
38048 * include/pupa/i386/pc/multiboot.h: Likewise.
38049 * include/pupa/i386/pc/partition.h: Likewise.
38050 * include/pupa/i386/pc/time.h: Likewise.
38051 * include/pupa/i386/pc/vga.h: Likewise.
38052 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
38053 * include/pupa/util/getroot.h: Likewise.
38054 * include/pupa/util/misc.h: Likewise.
38055 * include/pupa/util/resolve.h: Likewise.
38056 * kern/device.c: Likewise.
38057 * kern/disk.c: Likewise.
38058 * kern/dl.c: Likewise.
38059 * kern/err.c: Likewise.
38060 * kern/file.c: Likewise.
38061 * kern/fs.c: Likewise.
38062 * kern/loader.c: Likewise.
38063 * kern/main.c: Likewise.
38064 * kern/misc.c: Likewise.
38065 * kern/mm.c: Likewise.
38066 * kern/rescue.c: Likewise.
38067 * kern/term.c: Likewise.
38068 * kern/i386/dl.c: Likewise.
38069 * kern/i386/pc/init.c: Likewise.
38070 * kern/i386/pc/lzo1x.S: Likewise.
38071 * kern/i386/pc/startup.S: Likewise.
38072 * loader/i386/pc/chainloader.c: Likewise.
38073 * loader/i386/pc/linux.c: Likewise.
38074 * loader/i386/pc/multiboot.c: Likewise.
38075 * normal/cmdline.c: Likewise.
38076 * normal/command.c: Likewise.
38077 * normal/main.c: Likewise.
38078 * normal/menu.c: Likewise.
38079 * normal/i386/setjmp.S: Likewise.
38080 * term/i386/pc/console.c: Likewise.
38081 * term/i386/pc/vga.c: Likewise.
38082 * util/console.c: Likewise.
38083 * util/genmoddep.c: Likewise.
38084 * util/misc.c: Likewise.
38085 * util/pupa-emu.c: Likewise.
38086 * util/resolve.c: Likewise.
38087 * util/unifont2pff.rb: Likewise.
38088 * util/i386/pc/biosdisk.c: Likewise.
38089 * util/i386/pc/getroot.c: Likewise.
38090 * util/i386/pc/pupa-mkimage.c: Likewise.
38091 * util/i386/pc/pupa-setup.c: Likewise.
38092
e6eced71 380932004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
38094
38095 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
38096 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
38097 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
38098 reading and reset it after reading.
38099 (pupa_ext2_close): Return PUPA_ERR_NONE.
38100
38101 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
38102 Correct value.
38103 (struct linux_kernel_header): Add kernel_version and
38104 initrd_addr_max.
38105 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
38106 pupa_file_read succeeds.
38107 (pupa_rescue_cmd_initrd): Implement.
38108
5aded270 381092003-12-03 Marco Gerards <metgerards@student.han.nl>
38110
38111 * fs/ext2.c (pupa_ext2_label): New function.
38112 (pupa_ext2_fs): Added label.
38113 * fs/fat.c (pupa_fat_label): New function.
38114 (pupa_fat_fs): Added label.
38115 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
38116
38117 * kern/misc.c (pupa_strndup): New function.
38118 * include/pupa/misc.h (pupa_strndup): New prototype.
38119
38120 * include/pupa/normal.h: Include <pupa/err.h>.
38121 (pupa_set_history): New prototype.
38122 (pupa_iterate_commands): New prototype.
38123 * normal/cmdline.c: Include <pupa/machine/partition.h>,
38124 <pupa/disk.h>, <pupa/file.h>.
38125 (hist_size): New variable.
38126 (hist_lines): Likewise.
38127 (hist_end): Likewise.
38128 (hist_used): Likewise.
38129 (pupa_set_history): New function.
38130 (pupa_history_get): Likewise.
38131 (pupa_history_add): Likewise.
38132 (pupa_history_replace): Likewise.
38133 (pupa_tab_complete): Likewise.
38134 (pupa_cmdline_run): Added tab completion and history buffer. Tab
38135 completion shows partitionnames while completing partitions, this
38136 feature was suggested by Jeff Bailey.
38137 * normal/command.c (pupa_iterate_commands): New function.
38138 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
38139 (pupa_normal_init): Initialize history buffer.
38140 (PUPA_MOD_INIT): Likewise.
38141 (pupa_normal_fini): Free the history buffer.
38142 (PUPA_MOD_FINI): Likewise.
38143
38144 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
38145 key.
38146
38147 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
38148 * configure.ac [i386]: Check for regparam bug.
38149 (NESTED_FUNC_ATTR) [! i386]: Defined.
38150
1f7315a3 381512003-11-17 Marco Gerards <metgerards@student.han.nl>
38152
38153 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
38154 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
38155 (pupa_emu_SOURCES): New variable.
38156 (pupa_emu_LDFLAGS): Likewise.
38157 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
38158 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
38159 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
38160 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38161 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
38162 (pupa_jmp_buf): New typedef.
38163 (pupa_setjmp) [PUPA_UTIL]: New macro.
38164 (pupa_longjmp) [PUPA_UTIL]: Likewise.
38165 * include/pupa/term.h (struct pupa_term): New member `refresh'.
38166 (pupa_refresh): New prototype.
38167 * include/pupa/util/getroot.h: New file.
38168 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
38169 it.
38170 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
38171 (pupa_rescue_cmd_cat): Likewise.
38172 (pupa_rescue_cmd_ls): Likewise.
38173 (pupa_rescue_cmd_testload): Likewise.
38174 (pupa_rescue_cmd_lsmod): Likewise.
38175 * normal/cmdline.c (pupa_cmdline_get): Likewise.
38176 * normal/menu.c (run_menu): Likewise.
38177 * kern/term.c (pupa_cls): Likewise.
38178 (pupa_refresh): New function.
38179 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
38180 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38181 * util/console.c: New file.
f19dbdb7 38182
1f7315a3 38183 * util/i386/pc/getroot.c: New file.
38184 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
38185 (pupa_putchar): New function.
38186 (pupa_refresh): Likewise.
38187 (xgetcwd): Function moved to ...
38188 (strip_extra_slashes): Likewise.
38189 (get_prefix): Likewise.
f19dbdb7 38190 * util/i386/pc/getroot.c: ... here.
1f7315a3 38191 (find_root_device): Function moved and renamed to...
38192 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
38193 Changed all callers.
38194 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
38195 and renamed to...
38196 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
38197 Changed all callers.
38198 * util/misc.c (pupa_memalign): New function.
38199 (pupa_mm_init_region): Likewise.
38200 (pupa_register_exported_symbols): Likewise.
38201 (pupa_putchar): Function removed.
38202 * util/pupa-emu.c: New file.
38203
9a5c1ade 382042003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
38205
38206 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
38207 (_multiboot_mod_SOURCES): New variable.
38208 (_multiboot_mod_CFLAGS): Likewise.
38209 * loader/i386/pc/multiboot.c: New file.
38210 * include/pupa/i386/pc/multiboot.h: Likewise.
38211 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
38212 (pupa_multiboot_real_boot): New function.
38213 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
38214 (pupa_multiboot_real_boot): New prototype.
38215 (pupa_rescue_cmd_multiboot): Likewise
38216 (pupa_rescue_cmd_module): Likewise.
38217
38218 * kern/loader.c (pupa_loader_set): Continue when
38219 pupa_loader_unload_func() fails.
38220 (pupa_loader_unset): New function.
38221 * include/pupa/loader.h (pupa_loader_unset): New prototype.
38222
38223 * kern/misc.c (pupa_stpcpy): New function.
38224 * include/pupa/misc.h (pupa_stpcpy): New prototype.
38225
8e72a9c0 382262003-11-12 Marco Gerards <metgerards@student.han.nl>
38227
38228 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
38229 for available extensions.
38230
38231 * include/pupa/i386/pc/time.h: New file.
38232 * kern/disk.c: Include <pupa/machine/time.h>.
38233 (PUPA_CACHE_TIMEOUT): New macro.
38234 (pupa_last_time): New variable.
38235 (pupa_disk_open): Flush the cache when there was a timeout.
38236 (pupa_disk_close): Reset the timer.
38237 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
38238 pupa_currticks.
38239 * util/misc.c: Include <sys/times.h>
38240 (pupa_get_rtc): New function.
38241
c4adbd32 382422003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38243
38244 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
38245 as blocks.
38246 (pupa_ext2_get_file_block): Use blocks member.
38247
38248 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
38249 first block. Return -1 instead of pupa_errno on error.
38250
bfd30f06 382512003-10-27 Marco Gerards <metgerards@student.han.nl>
38252
38253 * README: In the pupa-mkimage example use _chain instead of chain
38254 and ext2 instead of fat.
38255 * TODO: Replace ext2fs with jfs as an example. Add an item for
38256 adding journal playback for ext2fs.
38257 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
38258 (pkgdata_MODULES): Added ext2.mod.
38259 (ext2_mod_SOURCES): New variable.
38260 (ext2_mod_CFLAGS): Likewise.
38261 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
38262 * include/pupa/misc.h (pupa_strncpy): New prototype.
38263 (pupa_strcat): Likewise.
38264 (pupa_strncmp): Likewise.
38265 * kern/misc.c (pupa_strcat): Enable function.
38266 (pupa_strncpy): New function.
38267 (pupa_strncmp): Likewise.
38268 * fs/ext2.c: New file.
f19dbdb7 38269
bfd30f06 38270 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
38271 when the read failed before retrying.
38272 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
38273 (_FILE_OFFSET_BITS): Likewise.
38274 * configure.ac: Added AC_SYS_LARGEFILE.
38275
98d15063 382762003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38277
38278 * genmk.rb (PModule#rule): Make sure to get only symbol names
38279 from the output of nm.
59cad637 38280 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 38281
18d9c7cd 382822003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38283
38284 I forgot to check in these changes for a long time. This adds
38285 incomplete support for VGA console, and this is still very
38286 buggy. Also, a lot of consideration is required for I18N,
38287 UNICODE, and VGA font issues. Therefore, assume that this is
38288 such that "better than nothing".
f19dbdb7 38289
18d9c7cd 38290 * font/manager.c: New file.
38291 * include/pupa/font.h: Likewise.
38292 * include/pupa/i386/pc/vga.h: Likewise.
38293 * term/i386/pc/vga.c: Likewise.
38294 * util/unifont2pff.rb: Likewise.
38295
38296 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
38297 (pkgdata_MODULES): Added vga.mod and font.mod.
38298 (vga_mod_SOURCES): New variables.
38299 (vga_mod_CFLAGS): Likewise.
38300 (font_mod_SOURCES): Likewise.
38301 (font_mod_CFLAGS): Likewise.
38302
38303 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
38304
38305 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 38306 (struct pupa_term): Added init and fini.
18d9c7cd 38307 Changed the argument of putchar to pupa_uint32_t.
38308
38309 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
38310 (pupa_console_real_putchar): New prototype.
38311 (pupa_console_putchar): Removed.
38312 (pupa_console_checkkey): Exported.
38313 (pupa_console_getkey): Likewise.
38314
38315 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
38316 characters.
38317
38318 * kern/term.c (pupa_term_set_current): Rewritten.
38319 (pupa_putchar): Likewise.
38320 (pupa_putcode): New function.
38321
38322 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
38323 (pupa_console_real_putchar): ... this.
38324 (pupa_vga_set_mode): New function.
38325 (pupa_vga_get_font): Likewise.
38326
38327 * normal/command.c: Include pupa/term.h.
38328 (terminal_command): New function.
38329 (pupa_command_init): Register the command "terminal".
38330
38331 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
38332 (DISP_UP): Likewise.
38333 (DISP_RIGHT): Likewise.
38334 (DISP_DOWN): Likewise.
38335 (DISP_HLINE): Likewise.
38336 (DISP_VLINE): Likewise.
38337 (DISP_UL): Likewise.
38338 (DISP_UR): Likewise.
38339 (DISP_LL): Likewise.
38340 (DISP_LR): Likewise.
38341
38342 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 38343
977329f5 383442003-02-08 NIIBE Yutaka <gniibe@m17n.org>
38345
38346 * util/resolve.c (pupa_util_resolve_dependencies): BUG
38347 FIX. Reverse the path_list.
38348
38349 * include/pupa/normal.h: Export pupa_register_command and
38350 pupa_unregister_command.
38351
38352 * hello/hello.c (pupa_cmd_hello): New module.
38353 * conf/i386-pc.rmk: Added hello.mod.
38354
1f5ab428 383552003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
38356
38357 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 38358
1f5ab428 38359 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
38360 (compress_kernel): New variable.
38361 (generate_image): Heavily modified to support compressing a
38362 large part of the core image.
38363
38364 * util/misc.c (pupa_util_read_image): Fix a file descriptor
38365 leak.
38366 (pupa_util_load_image): New function.
38367
38368 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
38369 (pupa_compressed_size): New variable.
38370 (codestart): Enable Gate A20 here.
38371 Decompress the compressed part of the core image.
38372 Rearrange the code to put functions and variables which are
38373 required for initialization in the non-compressed part.
38374 Include lzo1x.S.
38375
38376 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
38377 here.
38378
38379 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
38380
f19dbdb7 38381 * include/pupa/i386/pc/kernel.h
1f5ab428 38382 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
38383 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
38384 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38385 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38386 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
38387
38388 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
38389
38390 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
38391 (Utility#rule): Likewise.
38392
38393 * configure.ac: Check if LZO is available.
38394
ce5bf700 383952003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
38396
38397 * include/pupa/normal.h: New file.
38398 * include/pupa/setjmp.h: Likewise.
38399 * include/pupa/i386/setjmp.h: Likewise.
38400 * normal/cmdline.c: Likewise.
38401 * normal/command.c: Likewise.
38402 * normal/main.c: Likewise.
38403 * normal/menu.c: Likewise.
38404 * normal/i386/setjmp.S: Likewise.
f19dbdb7 38405
ce5bf700 38406 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
38407 (pupa_rescue_cmd_initrd): Likewise.
38408
38409 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
38410 Likewise.
38411
38412 * kern/i386/pc/startup.S (translation_table): New variable.
38413 (translate_keycode): New function.
38414 (pupa_console_getkey): Call translate_keycode.
38415
38416 * kern/rescue.c (attempt_normal_mode): New function.
38417 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
38418 it failed, print a message.
38419
38420 * kern/mm.c (pupa_real_malloc): Print more information when a
38421 free magic is broken.
38422 (pupa_free): If the first free header is not free actually, set
38423 it to P.
38424
38425 * kern/main.c (pupa_load_normal_mode): Just load the module
38426 "normal".
38427 (pupa_main): Don't print the message
38428 "Entering into rescue mode..." here.
38429
38430 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
38431 Declared.
38432 (pupa_rescue_cmd_initrd): Likewise.
38433 (pupa_rescue_cmd_initrd): Likewise.
38434
38435 * include/pupa/symbol.h (FUNCTION): Specify the type.
38436 (VARIABLE): Likewise.
38437
38438 * include/pupa/err.h (pupa_err_t): Added
38439 PUPA_ERR_UNKNOWN_COMMAND.
38440
38441 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
38442 (pupa_dl_get_prefix): Likewise.
38443
38444 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
38445 Added _chain.mod and _linux.mod instead of chain.mod and
38446 linux.mod.
38447 (chain_mod_SOURCES): Renamed to ...
38448 (_chain_mod_SOURCES): ... this.
38449 (chain_mod_CFLAGS): Renamed to ...
38450 (_chain_mod_CFLAGS): ... this.
38451 (linux_mod_SOURCES): Renamed to ...
38452 (_linux_mod_SOURCES): ... this.
38453 (linux_mod_CFLAGS): Renamed to ...
38454 (_linux_mod_CFLAGS): ... this.
38455 (normal_mod_SOURCES): New variable.
38456 (normal_mod_CFLAGS): Likewise.
38457 (normal_mod_ASFLAGS): Likewise.
38458
384592003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
38460
38461 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
38462 possible.
38463
fe6b695a 38464 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 38465 recursively.
38466 (pupa_dl_unref): Unrefer depending modules recursively.
38467 Don't call pupa_dl_unload implicitly, because PUPA can crash if
38468 a module is unloaded before one depending on that module is
38469 unloaded.
38470 (pupa_dl_unload): Unload depending modules explicitly,
38471 if possible.
38472
c04da074 384732003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
38474
38475 * include/pupa/i386/pc/linux.h: New file.
38476 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 38477
c04da074 38478 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
38479 Removed.
38480 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
38481 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
38482 of PUPA_CHAINLOADER_BOOT_SECTOR.
38483
38484 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
38485 (pupa_linux_prot_size): New variable.
38486 (pupa_linux_tmp_addr): Likewise.
38487 (pupa_linux_real_addr): Likewise.
38488 (pupa_linux_boot_zimage): New function.
38489 (pupa_linux_boot_bzimage): Likewise.
38490
38491 * kern/i386/pc/init.c (struct mem_region): New structure.
38492 (MAX_REGIONS): New macro.
38493 (mem_regions): New variable.
38494 (num_regions): Likewise.
38495 (pupa_os_area_addr): Likewise.
38496 (pupa_os_area_size): Likewise.
38497 (pupa_lower_mem): Likewise.
38498 (pupa_upper_mem): Likewise.
38499 (add_mem_region): New function.
38500 (compact_mem_regions): Likewise.
38501 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
38502 the size of the conventional memory and that of so-called upper
38503 memory (before the first memory hole).
38504 Instead of adding each found region to free memory, use
38505 add_mem_region and add them after removing overlaps.
38506 Also, add only 1/4 of the upper memory to free memory. The rest
38507 is used for loading OS images. Maybe this is ad hoc, but this
38508 makes it much easier to relocate OS images when booting.
38509
38510 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
38511 (pupa_enter_rescue_mode): Don't register initrd and module.
38512
38513 * kern/mm.c: Include pupa/dl.h.
38514
38515 * kern/main.c: Include pupa/file.h and pupa/device.h.
38516
38517 * kern/loader.c (pupa_loader_load_module_func): Removed.
38518 (pupa_loader_load_module): Likewise.
38519
38520 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
38521 ``.o''.
38522
38523 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
38524 (pupa_linux_tmp_addr): Likewise.
38525 (pupa_linux_real_addr): Likewise.
38526 (pupa_linux_boot_zimage): Likewise.
38527 (pupa_linux_boot_bzimage): Likewise.
38528
38529 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
38530 (pupa_upper_mem): Likewise.
38531 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
38532 module is too dangerous.
38533
38534 * include/pupa/loader.h (pupa_os_area_addr): Declared.
38535 (pupa_os_area_size): Likewise.
38536 (pupa_loader_set): Remove the first argument. Loader doesn't
38537 manage modules or initrd any longer.
38538 (pupa_loader_load_module): Removed.
38539
38540 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
38541 (linux_mod_SOURCES): New variable.
38542 (linux_mod_CFLAGS): Likewise.
38543
a13f9237 385442003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
38545
38546 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
38547 the length of a blocklist correctly.
38548
38549 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
38550 Use ioctl only if the OS file is a block device.
38551 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
38552 not very useful for normal files.
38553
38554 * kern/main.c (pupa_set_root_dev): New function.
38555 (pupa_load_normal_mode): Likewise.
38556 (pupa_main): Call those above.
38557
38558 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
38559 pupa_uint16_t.
38560
38561 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
38562
a5ffe966 385632003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38564
38565 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
38566 (setup): Configure the installed partition information and the
38567 dl prefix.
38568
38569 * loader/i386/pc/chainloader.c (my_mod): New variable.
38570 (pupa_chainloader_unload): New function.
38571 (pupa_rescue_cmd_chainloader): Refer itself.
38572 (PUPA_MOD_INIT): Save its own module in MY_MOD.
38573
38574 * kern/i386/pc/startup.S (install_partition): Removed.
38575 (version_string): Likewise.
38576 (config_file): Likewise.
38577 (pupa_install_dos_part): New variable.
38578 (pupa_install_bsd_part): Likewise.
38579 (pupa_prefix): Likewise.
38580 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
38581
38582 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
38583 and pupa/misc.h.
38584 (make_install_device): New function.
38585 (pupa_machine_init): Set the dl prefix.
38586
38587 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
38588 (buf): Renamed to ...
38589 (linebuf): ... this.
38590 (pupa_rescue_cmd_prefix): New function.
38591 (pupa_rescue_cmd_insmod): Likewise.
38592 (pupa_rescue_cmd_rmmod): Likewise.
38593 (pupa_rescue_cmd_lsmod): Likewise.
38594 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
38595 rmmod and lsmod.
38596
38597 * kern/mm.c (pupa_memalign): If failed even after invalidating
38598 disk caches, unload unneeded modules and retry.
38599
38600 * kern/misc.c (pupa_memmove): New function.
38601 (pupa_memcpy): Removed.
38602 (pupa_strcpy): New function.
38603 (pupa_itoa): Made static.
38604
38605 * kern/dl.c (pupa_dl_iterate): New function.
38606 (pupa_dl_ref): Likewise.
38607 (pupa_dl_unref): Likewise.
38608 (pupa_dl_unload): Return if succeeded or not.
38609 (pupa_dl_unload_unneeded): New function.
38610 (pupa_dl_unload_all): Likewise.
38611 (pupa_dl_init): Renamed to ...
38612 (pupa_dl_set_prefix): ... this.
38613 (pupa_dl_get_prefix): New function.
38614
38615 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
38616 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
38617 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38618 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38619 (pupa_install_dos_part): Declared.
38620 (pupa_install_bsd_part): Likewise.
38621 (pupa_prefix): Likewise.
38622 (pupa_boot_drive): Likewise.
38623
38624 * include/pupa/types.h: Fix a typo.
38625
38626 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
38627 pupa_memmove.
38628 (pupa_memmove): Declared.
38629 (pupa_strcpy): Likewise.
38630
38631 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
38632 pupa_mod_init takes one argument, its own module.
38633 (pupa_dl_unload_unneeded): Declared.
38634 (pupa_dl_unload_all): Likewise.
38635 (pupa_dl_ref): Likewise.
38636 (pupa_dl_unref): Likewise.
38637 (pupa_dl_iterate): Likewise.
38638 (pupa_dl_init): Renamed to ...
38639 (pupa_dl_set_prefix): ... this.
38640 (pupa_dl_get_prefix): Declared.
38641
38642 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 38643 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 38644 unloaded.
38645 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
38646 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
38647
38648 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
38649 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
38650
012d7999 386512003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38652
38653 * util/i386/pc/pupa-setup.c (setup): Define the internal
38654 function find_first_partition_start at the top level, because GCC
38655 3.0.x cannot compile internal functions in deeper scopes
38656 correctly.
38657 (find_root_device): Use lstat instead of stat.
38658 Don't follow symbolic links.
38659 Fix the path-constructing code.
38660
38661 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
38662 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
38663 by a BLKGETSIZE ioctl first, because block devices don't fill
38664 the member st_mode of the structure stat on Linux.
38665 [__linux__] (linux_find_partition): Use a temporary buffer
38666 REAL_DEV for the working space. Copy it to DEV before returning.
38667 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
38668 buffer cache consistent.
38669 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
38670 strncmp. The previous value was merely wrong.
38671 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
38672
38673 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
38674 FAT size is 12. The previous value was merely wrong.
38675
38676 * kern/main.c (pupa_main): Don't split the starting message from
38677 newlines.
38678
38679 * kern/term.c (pupa_putchar): Put CR after LF instead of before
38680 LF, because BIOS goes crazy about character attributes in this
38681 case.
38682
1cc73a62 386832003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38684
38685 * include/i386/pc/util/biosdisk.h: New file.
38686 * util/i386/pc/biosdisk.c: Likewise.
38687 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 38688
1cc73a62 38689 * Makefile.in (INCLUDE_DISTFILES): Added
38690 include/pupa/i386/pc/util/biosdisk.h.
38691 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
38692 directory util/i386/pc.
38693 (install-local): Added a rule for sbin_UTILITIES.
38694 (uninstall): Likewise.
38695
38696 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
38697
38698 * util/misc.c (xrealloc): New function.
38699 (pupa_malloc): Likewise.
38700 (pupa_free): Likewise.
38701 (pupa_realloc): Likewise.
38702 (pupa_stop): Likewise.
38703 (pupa_putchar): Likewise.
38704
38705 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
38706
38707 * include/pupa/util/misc.h (xrealloc): Declared.
38708
38709 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
38710 macro.
38711 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
38712 (PUPA_BOOT_MACHINE_BPB_END): ... this.
38713
38714 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
38715 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38716
38717 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
38718 way should be implemented.
38719 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38720
38721 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
38722 the size of NAME for safety.
38723 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
38724 0x88.
38725
38726 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
38727 (pupa_setup_SOURCES): Likewise.
38728
38729 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
38730
08b70fe8 387312002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38732
38733 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
38734 bunch of pushl's from pusha, because this destroys the return
38735 value.
38736
62ddcc8f 387372002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38738
38739 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
38740 This means that any missing prototypes could be fatal. Also, you
38741 must take care when writing assembly code. See the comments at
38742 the beginning of startup.S, for more details.
f19dbdb7 38743
62ddcc8f 38744 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
38745 compilation mechanism.
38746 (pupa_chainloader_real_boot): Likewise.
38747 (pupa_biosdisk_rw_int13_extensions): Likewise.
38748 (pupa_biosdisk_rw_standard): Likewise.
38749 (pupa_biosdisk_check_int13_extensions): Likewise.
38750 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
38751 (pupa_biosdisk_get_diskinfo_standard): Likewise.
38752 (pupa_get_memsize): Likewise.
38753 (pupa_get_mmap_entry): Likewise.
38754 (pupa_console_putchar): Likewise.
38755 (pupa_console_setcursor): Likewise.
38756 (pupa_getrtsecs): Use pushl instead of push.
38757
38758 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
38759 memory instead of the stack for a mmap entry, because some
38760 BIOSes may ignore the maximum size and overflow.
38761
38762 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
38763
38764 * genmk.rb (PModule#rule): Compile automatically generated
38765 sources with module-specific CFLAGS as well as other sources.
38766
9962ed99 387672002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38768
38769 * configure.ac: Check ld.
38770 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
38771 respectively, before checking endianness and sizes.
38772
38773 * Makefile.in (LD): New variable.
f19dbdb7 38774
abdfc3c5 387752002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38776
38777 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
38778
6a161fa9 387792002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38780
38781 * Changelog: New file.
38782