]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
[grub2.git] / ChangeLog
CommitLineData
19e81ba7
VS
12011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
4
52b656c0
VS
52011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Several AFFS fixes.
8
9 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
10 (GRUB_AFFS_FLAG_FFS): Removed.
11 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
13 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14 (grub_fshelp_node): Make block 32-bit.
15 Add block_cache and last_block_cache.
16 (grub_affs_read_block): Fill and use block cache.
17 (grub_affs_read_file): Removed.
18 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
19 boot block.
20 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
21 safety.
22 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
23 space.
24 (grub_affs_close): Free block cache.
25 (grub_affs_read): Use grub_fshelp_read_file directly.
26
438a746a
VS
272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
30 with no error set.
31
49a45021
VS
322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
35 used variable.
36 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
37 Likewise.
38
3ae17eb8
VS
392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
40
41 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
42
43 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
44 byteswap when needed.
45
27610c38
VS
462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
47
48 Fix FreeBSD compilation.
49
50 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
51 to avoid circular dependency.
52 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
53 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
54 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
55
4a19b601
VS
562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
57
58 Fix ZFS crypto error types.
59
60 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
61 (grub_gcm_decrypt): Likewise.
62 (grub_zfs_load_key_real): Fix error code type. Handle possible error
63 from PBKDF2.
64
958ee221
VS
652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
66
67 Illumos support.
68
69 * Makefile.util.def (10_illumos): New script.
70 * configure.ac: Set COND_HOST_ILLUMOS.
71 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
72 Support Illumos calls.
73 (find_partition_start) [__sun__]: Likewise.
74 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
75 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
76 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
77 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
78 device.
79 * util/grub-probe.c (probe) [__sun__]: Do character check.
80 * util/grub.d/10_illumos.in: New file.
81
cac14fb6
VS
822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
83
84 Support escaped commas in hostdisk.
85
86 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
87 (find_grub_drive): Use unescape_cmp.
88 (make_device_name): Escape commas.
89
78e08dc3
VS
902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
93
9f421dd1
VS
942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
97 variable.
98
ed64e9e2
VS
992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
100
101 Support trampoline jumps on powerpc.
102
103 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
104 __ia64__ path.
105 (grub_dl_load_segments): Set mod->sz.
106 (grub_dl_flush_cache): Flush whole space occupied by module, not just
107 segments.
108 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
109 (jump): Likewise.
110 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
111 function.
112 (trampoline): New struct.
113 (trampoline_template): New const.
114 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
115 * include/grub/dl.h (grub_dl): Add sz element.
116 [__powerpc__]: Follow __ia64__.
117 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
118 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
119 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
120 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
121
3084ede4
VS
1222011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
123
124 ZFS crypto support.
125
126 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
127 * grub-core/Makefile.core.def (zfscrypt): New module.
128 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
129 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
130 it. All users updated.
131 (grub_zfs_decrypt): New var.
132 (grub_zfs_load_key): Likewise.
133 (zio_checksum_functions): Add SHA256+MAC.
134 (zio_checksum_verify): Handle incomplete comparison due to MAC.
135 (zio_read): Handle encrypted blocks.
136 (zap_verify): Remove incorrect check.
137 (fzap_iterate): Handle non-standard fzap.
138 (zap_iterate): Likewise.
139 (zap_iterate_u64): New function.
140 (dnode_get_fullpath): Load keys.
141 * grub-core/fs/zfs/zfscrypt.c: New file.
142 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
143 (grub_crypto_ecb_encrypt): Make input const.
144 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
145 (grub_crypto_ecb_encrypt): Make input const.
146 (GRUB_CIPHER_AES): New macro.
147 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
148 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
149 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
150 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
151 prefix. All users updated.
152 (grub_zfs_add_key): New proto.
153 (grub_zfs_decrypt): Likewise.
154 (grub_zfs_load_key): Likewise.
155 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
156 * util/grub-fstest.c (options): Add -K option.
157 (argp_parser): Likewise.
158
b632b404
VS
1592011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
160
161 Support zle compression on ZFS.
162
163 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
164 (decomp_table): Add zle.
165 * include/grub/zfs/zio.h (zio_compress): Add zle.
166
c7ba4f69
VS
1672011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
168
169 Support BtrFS embedding.
170
171 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
172 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
173 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
174 * util/grub-setup.c (setup): Use fs embedding if available.
175 Add additional sanity check.
176
455377d9
VS
1772011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * util/grub-install.in: Fix condition for config_opt.
180
c2fd16ca
VS
1812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
182
183 Support third redundancy strip on raidz3.
184
185 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
186 Return error on singularity. All users updated.
187 (read_device): Don't stop on 3rd failure on raidz3.
188
8622923b
VS
1892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
190
191 Support case-insensitive ZFS subvolumes.
192
193 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
194 All users updated.
195 (zap_hash): Likewise.
196 (name_cmp): New function.
197 (zap_leaf_array_equal): New parameter case_insensitive.
198 All users updated.
199 (zap_leaf_lookup): Likewise.
200 (fzap_lookup): Likewise.
201 (zap_lookup): Likewise.
202 (dnode_get_path): New parameter case_insensitive. Retrieve case
203 sensitiviness of a volume. All users updated.
204 (dnode_get_fullpath): New parameter case_insensitive.
205 All users updated.
206 (grub_zfs_dir): Set info.case_insensitiveness.
207
95f2e860
VS
2082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
209
210 Support second redundancy strip on raidz(2,3).
211
212 * grub-core/fs/zfs/zfs.c (powx): New array.
213 (powx_inv): Likewise.
214 (poly): New const.
215 (xor_out): New function.
216 (gf_mul): Likewise.
217 (recovery): Likewise.
218 (read_device): Use second redundancy strip.
219
11ee4389
VS
2202011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
221
222 Use a power of generator representation of GF(256) multiplication group
223 to save space time and complexity.
224
225 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
226 (raid6_table2): Likewise.
227 (powx): New array.
228 (powx_inv): Likewise.
229 (poly): New const.
230 (grub_raid_block_mul): Replace with ...
231 (grub_raid_block_mulx): ...this.
232 (grub_raid6_init_table): Rewritten.
233 (grub_raid6_recover): Use power of generator representation.
234
09e2763f
VS
2352011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
238 for the right device.
239
8bec9a28
VS
2402011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
243 expected by grub-mkimage and it's more clear since there is no implicit
244 padding.
245
dbd3a32e
VS
2462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
249 disk.
250 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
251
182c872a
PMH
2522011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
253
254 * util/grub-mkrescue.in: Fix handling xorriso option.
255
1e51cabd
VS
2562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
259 NULL.
260
9cc3581d 2612011-11-03 crocket <crockabiscuit@gmail.com>
262
263 * util/grub.d/10_linux.in: Add Slackware initrd naming.
264
158dc1ea
VS
2652011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
266
267 XZ CRC64 and SHA256 support.
268
269 * Makefile.util.def (libgrubmods): Add crc64.c.
270 * grub-core/Makefile.core.def (crc64): New module.
271 * grub-core/lib/crc64.c: New file.
272 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
273 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
274 Fix the type.
275 (MAX_HASH_SIZE): New define.
276 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
277 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
278 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
279 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
280 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
281 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
282 Handle non-crc32 hashes.
283 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
284 (dec_stream_header): Handle non-crc32 hashes.
285 (dec_stream_footer): Likewise.
286 (dec_block_header): Likewise.
287 (dec_main): Likewise.
288 (xz_dec_init): Likewise.
289 (xz_dec_reset): Likewise.
290 (xz_dec_end): Likewise.
291 * util/import_gcry.py: Add CRC64 line.
292
9d9b3d2f
VS
2932011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
296 as well.
297
7d0ac931
VS
2982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
299
300 Make reiserfs label retrieval similar to other *_label functions.
301
302 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
303 (REISERFS_MAX_LABEL_LENGTH): Removed.
304 (REISERFS_LABEL_OFFSET): Likewise.
305 (grub_reiserfs_label): Rewritten.
306
3072011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
310 field.
311
cf5ba824
VS
3122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
315
17744004
VS
3162011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
319 drive failure on both raidz and raidz2.
320
aca5aefc
VS
3212011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
322
323 Fix RAIDZ(2) for >= 5 devices.
324
325 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
326 asize argument. All users updated.
327
ce8ca56e
VS
3282011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
329
330 Fix RAIDZ(2).
331
332 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
333 (fill_vdev_info_real): Set ashift.
334 (read_device): Rewrite RAIDZ part based on reverse engineering.
335
7c01e783
VS
3362011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
339 don't report potentially unavialiable fields in debug output.
340 (find_path): Fix double-free and memory leak.
341
ce109e84
VS
3422011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
343
344 Read label on UFS1.
345
346 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
347 (grub_ufs_fs): Always set .label.
348
87661123
VS
3492011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
350
351 Use shifts in UFS.
352
353 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
354 (grub_ufs_data): New field log2_blksz.
355 (grub_ufs_read_file): Use shifts.
356 (grub_ufs_mount): Check block size and logarithm it.
357
46bc1dc2
VS
3582011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
361 long symlinks.
362
19ee2987
VS
3632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
364
365 Handle symlinks and long names on tar and cpio.
366
367 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
368 (ATTR_FILE): Likewise.
369 (ATTR_DIR): Likewise.
370 (ATTR_LNK): Likewise.
371 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
372 (grub_cpio_find_file): Fill mode, handle linkname field as well as
373 L and K entries.
374 (grub_cpio_mount): Zero-fill data.
375 (handle_symlink): New function.
46bc1dc2
VS
376 (grub_cpio_dir): Handle symlinks.
377 (grub_cpio_open): Likewise.
378 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 379
c83a08d8
VS
3802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
381
382 Fix iso9660 filename limitations and fix memory leaks.
383
384 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
385 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
386
45cdd3ea
VS
3872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
388
389 Fix JFS file name length limitations.
390
391 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
392 (grub_jfs_diropen): Fix maximum filename length.
393 (grub_jfs_getent): Fix filename length.
394 (grub_jfs_lookup_symlink): Fix size checks.
395
94ef05c2
VS
3962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
399 string.
400
785ab8c7
VS
4012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
402
eb0b6b45
VS
403 Leverage BFS implementation to read AFS.
404
405 * Makefile.util.def (libgrubmods): Add afs.c.
406 * grub-core/Makefile.core.def (afs): New module
407 * grub-core/fs/afs.c: New file.
408 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
409
4102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 413
c4a1628f
VS
4142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/fs/bfs.c: Run indent.
417
5825b379
VS
4182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
419
420 BFS implementation based on the specification.
421
422 * grub-core/fs/bfs.c: New file.
423 * Makefile.util.def (libgrubmods): Add bfs.c.
424 * grub-core/Makefile.core.def (bfs): New module.
425
42b2a706
VS
4262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * util/grub-fstest.c (cmd_cp): Clarify error message.
429 (cmd_cmp): Likewise.
430
61b99bfc
YB
4312011-10-30 Yves Blusseau <blusseau@zetam.org>
432
433 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
434 and befs_be.
435
faba3d16
VS
4362011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
437
438 Remove afs and befs because of copyright problem.
439
440 * grub-core/fs/afs.c: Removed.
441 * grub-core/fs/afs_be.c: Removed.
442 * grub-core/fs/befs.c: Removed.
443 * grub-core/fs/befs_be.c: Removed.
444 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
445 * grub-core/Makefile.core.def (afs): Removed.
446 (afs_be): Likewise.
447 (befs): Likewise.
448 (befs_be): Likewise.
449
c39224b0
VS
4502011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
451
452 Prefer rockridge over Joliet.
453
454 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
455 to ...
456 (set_rockridge): ... here.
457 (grub_iso9660_mount): Check rockridge on the primary label when
458 discovering. Ignore Joliet if Rockridge is present.
459
e551115a
VS
4602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
461
462 Use shifts in nilfs2.
463
464 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
465 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
466 (grub_nilfs2_palloc_entries_per_group): Replace with ...
467 (grub_nilfs2_log_palloc_entries_per_group): ... this.
468 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
469 (grub_nilfs2_entries_per_block): Replaced with ...
470 (grub_nilfs2_log_entries_per_block_log): ... this.
471 (grub_nilfs2_blocks_per_group): Replaced with ...
472 (grub_nilfs2_blocks_per_group_log): ... this.
473 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
474 (grub_nilfs2_blocks_per_desc_block_log): ... this.
475 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
476 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
477 (grub_nilfs2_palloc_entry_offset): Replaced ...
478 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
479 (grub_nilfs2_dat_translate): Use shifts.
480 (grub_nilfs2_read_inode): Likewise.
481 (GRUB_MOD_INIT): Ensure that logs are correct.
482
564dd58c
VS
4832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
484
485 Use shifts in minix filesystem.
486
487 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
488 (GRUB_MINIX_ZONE2SECT): Likewise.
489 (grub_minix_data): Replace block_size with log_block_size.
490 (grub_minix_read_file): Use shifts.
491 (grub_minix_mount): Check block size and take a logarithm.
492
ed9ba06d
VS
4932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
494
495 Use shifts in squash4.
496
497 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
498 (squash_mount): Check block size and take logarithm.
499 (direct_read): Use shifts.
500
ad03fe76
VS
5012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
502
503 Correct befs block counting logic.
504
505 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
506 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
507 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
508 (grub_afs_read_inode): Use block_shift.
509 (RANGE_SHIFT): New definition.
510 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
511 unexpected conditions, use shifts and appropriate types.
512 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
513
6563f63d
VS
5142011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/disk/raid.c (scan_devices): Check partition.
517 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
518
5b1ae25f
VS
5192011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
520
521 Support BFS (befs) UUID.
522
523 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
524 (grub_afs_small_data_element_header): New struct.
525 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
526 (grub_afs_read_attribute) [MODE_BFS]: New function.
527 (grub_afs_iterate_dir): Allocate for complete inode.
528 (grub_afs_mount): Likewise.
529 (grub_afs_uuid) [MODE_BFS]: New function.
530 (grub_afs_fs) [MODE_BFS]: Add .uuid.
531
f8d82408
VS
5322011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
535 (zfs_unmount): Fix memory leak.
536
5773fb64
VS
5372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
538
539 Support NTFS reparse points.
540
541 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
542 (symlink_descriptor): New struct.
543 (grub_ntfs_read_symlink): New function.
544 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
545 (grub_ntfs_open): Likewise.
546
91c3fdde
VS
5472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
550
3be82e10
VS
5512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
552
553 fstest xnu_uuid subcommand.
554
555 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
556 grub-core/commands/xnu_uuid.c.
557 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
558 (fstest): Handle xnu_uuid.
559 (options): Document xnu_uuid.
560 (argp_parser): Parse xnu_uuid.
561
8e32442e
VS
5622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
565 -l argument. Add newline at the end if printing.
566 (GRUB_MOD_INIT): Document -l.
567
52a05075
VS
5682011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
571
1869edb5
VS
5722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
573
574 ZFS multi-device and version 33 support.
575
576 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
577 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
578 (grub_zfs_data): Add multidev-ice-related fields.
579 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
580 (dva_get_offset): Make dva const.
581 (zfs_fetch_nvlist): New function.
582 (fill_vdev_info_real): Likewise.
583 (fill_vdev_info): Likewise.
584 (check_pool_label): Likewise.
585 (scan_disk): Likewise.
586 (scan_devices): Likewise.
587 (read_device): Likewise.
588 (read_dva): Likewise.
589 (zio_read_gang): Use read_dva.
590 (zio_read_data): Likewise.
591 (zap_leaf_lookup): Add missing endian conversion.
592 (zap_verify): Add missing endian conversion. All users updated.
593 (fzap_lookup): Likewise.
594 (fzap_iterate): Likewise.
595 (dnode_get_path): Handle SA bonus.
596 (nvlist_find_value): Make input const. All users updated.
597 (unmount_device): New function.
598 (zfs_unmount): Use unmount_device.
599 (zfs_mount): Use scan_disk.
600 (zfs_mtime): New function.
601 (grub_zfs_open): Handle system attributes.
602 (fill_fs_info): Likewise.
603 (grub_zfs_dir): Likewise.
604 (grub_zfs_fs): Add mtime.
605 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
606 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
607 (SA_MTIME_OFFSET): Likewise.
608 (SA_SYMLINK_OFFSET): Likewise.
609 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
610 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
611 (fstest): Support zfsinfo.
612 (argp_parser): Likewise.
613
186b4028
VS
6142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
617 error.
618
6192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
620
621 ZFS fixes.
622
623 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
624 sharing the same block. Iterate over correct number of indices.
625 (dnode_get_path): Handle symlinks correctly.
626
c0584900
VS
6272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
630
67e2bd71
VS
6312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
632
633 Read label on HFS+.
634
635 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
636 (grub_hfsplus_btree_search): Fix types.
637 (grub_hfsplus_label): Implement.
638
e9cc6b7b
VS
6392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
642
19832ddb
VS
6432011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
646
66b40850
VS
6472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
648
649 Fix symlink handling on iso9660.
650
651 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
652 All users updated.
653 (grub_iso9660_susp_iterate): Accept zero-size iterate.
654 (grub_iso9660_read_symlink): Moved most of code ...
655 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
656
db821363
VS
6572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
660 Use union to avoid breaking strict-aliasing rules.
661
e1211949
VS
6622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
663
664 Support multi-extent iso files.
665
666 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
667 Add node.
668 (grub_fshelp_node): Revamp. All users updated.
669 (FLAG_*): New enum.
670 (read_node): New function.
671 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
672 All users updated.
673 (grub_iso9660_mount): Don't attempt to read sua when there is none.
674 (get_node_size): New function.
675 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
676 entries.
677 Fix memory leak on . and ..
678 (grub_iso9660_read): Use read_node.
679 (grub_iso9660_close): Free node.
680
d4888031
VS
6812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
682
683 Fix tar 4G limit and handle paths containing dot.
684
685 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
686 (canonicalize): New function.
687 (grub_cpio_find_file): Use canonicalize. Store offs in
688 grub_disk_addr_t.
689 (grub_cpio_dir): Use grub_disk_addr_t.
690 (grub_cpio_open): Likewise.
691
9f12e664
VS
6922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
693
694 Fix handling of uncompressed blocks on squashfs and break 4G limit.
695
696 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
697 unused flags.
698 (grub_squash_inode): Add long_file and block_size.
699 (grub_squash_cache_inode): New struct.
700 (grub_squash_dirent): Make types into enum.
701 (SQUASH_TYPE_LONG_REGULAR): New type.
702 (grub_squash_frag_desc): Add field size.
703 (SQUASH_BLOCK_FLAGS): New enum.
704 (grub_squash_data): Use grub_squash_cache_inode.
705 (grub_fshelp_node): Make ino_chunk 64-bit.
706 (read_chunk): Minor argument change. All users updated.
707 (squash_mount): Use correct le_to_cpu.
708 (grub_squash_open): Handle LONG_REGULAR.
709 (direct_read): New function.
710 (grub_squash_read_data): Handle blocks correctly.
711
9f326fba
VS
7122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
715
f4d9b64b
VS
7162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
719
5bbd28b8
VS
7202011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
721
722 Fix 2G limit on ZFS.
723
724 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
725 types.
726 (uberblock_verify): Likewise.
727 (dmu_read): Likewise.
728 (grub_zfs_read): Likewise. Remove invalid cast.
729
68c72069
VS
7302011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
733 (grub_jfs_blkno): Fix incorrect shift.
734 (grub_jfs_read_file): Use more appropriate types.
735
6e536dc8
VS
7362011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
737
738 Support triple indirect on minix2 and minix3.
739
740 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
741 Declare triple_indir_zone.
742 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
743 indirect.
744
e0864e7a
VS
7452011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
746
747 Minix FS fixes.
748
749 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
750 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
751 Rename ctime to mtime. All users updated.
752 (grub_minix_get_file_block): Fix types and double indirect computations.
753
89481cab
VS
7542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
757 if no label is found.
758 (grub_fat_iterate_dir): Fix file size type.
759 (grub_fat_iterate_dir): Likewise.
760
f646e143
VS
7612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
764 save some space.
765 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
766 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
767
534d769e
VS
7682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
771
e084ba18
VS
7722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * util/import_gcry.py: Accept space between # and include.
775
3471ecdf
VS
7762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
779
124df5f6
VS
7802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
781
782 Fine grainely disable warnings on lexer. Remove Wno-error on it.
783
784 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
785 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
786 yylex_strncpy.
787 * grub-core/script/yylex.l: Add fine-grained #pragma.
788
4defb8d5
VS
7892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
792 New inline function.
793 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
794 Likewise.
795 (memset) [GRUB_UTIL]: Likewise.
796 (memcmp) [GRUB_UTIL]: Likewise.
797
4e94ae65
VS
7982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
801 inline function rather than a define.
802
18c575e5
VS
8032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * util/grub-setup.c: Add missing include.
806
f8bc22a8
VS
8072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * util/ieee1275/grub-ofpathname.c: Add missing include.
810
3ce69fc9
VS
8112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
814 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
815 Likewise.
816
d1e293bb
VS
8172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
820 grub_memcmp usage.
821
7a5c54a4
VS
8222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * util/grub-install.in: Add datarootdir as per automake manual
825 suggestion.
826 * util/grub-mknetdir.in: Likewise.
827
8282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
829
830 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
831 suggestion.
832 * util/grub.d/10_kfreebsd.in: Likewise.
833 * util/grub.d/10_linux.in: Likewise.
834 * util/grub.d/10_netbsd.in: Likewise.
835 * util/grub.d/10_windows.in: Likewise.
836 * util/grub.d/20_linux_xen.in: Likewise.
837
766f7d08
VS
8382011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
839
840 Remove redundant grub_kernel_image_size.
841
842 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
843 _edata and _start.
844 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
845 the small code. It moves it only by few bytes but simplifies the code.
846 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
847 _start.
848 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
849 (grub_kernel_image_size): Removed.
850 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
851 (grub_kernel_image_size): Removed.
852 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
853 compiled with Apple toolchain.
854 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
855 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
856 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
857 (grub_total_module_size): Likewise.
858 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
859 Removed.
860 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
861 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
862 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
863 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
864 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
865 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
866 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
867 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
868 Removed.
869 (grub_total_module_size): Removed.
870 * util/grub-mkimage.c (image_target_desc): Remove image_size.
871 (image_targets): Likewise.
872 Set .compressed_size to no field on sparc.
873 (generate_image): Remove kernel_image_size handling.
874
fcf1d672
SJ
8752011-10-19 Szymon Janc <szymon@janc.net.pl>
876
877 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
878 NULL pointer dereference.
879
de9c615e
VS
8802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
881
882 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
883 done with a dedicated section.
884
885 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
886 Ensure the correct position of boot_path.
887 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
888 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
889 other fields.
890 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
891 * include/grub/boot.h: Removed. All references removed.
892 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
893 Removed.
894 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
895
e55599dc
VS
8962011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
899 name.
900
36dd20ad
VS
9012011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
904
f8f72eb8
VS
9052011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
908 Don't add the bogus brackets.
909
a374751b
VS
9102011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
911
912 ExFAT support.
913
914 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
915 * grub-core/Makefile.core.def (exfat): New module.
916 * grub-core/fs/exfat.c: New file.
917 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
918 (GRUB_FAT_ATTR_*): Make into an enum.
919 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
920 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
921 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
922 (GRUB_FAT_MAXFILE): Removed.
923 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
924 (grub_current_fat_bpb_t): New type.
925 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
926 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
927 (grub_fat_dir_node_t): New type.
928 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
929 (fat_log2) [MODE_EXFAT]: Removed.
930 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
931 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
932 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
933 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
934 (grub_fat_label) [MODE_EXFAT]: New function.
935 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
936 reserved_first_sector to 0.
937
544c2487
VS
9382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
939
940 Move grub_reboot out of the kernel.
941
942 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
943 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
944 * grub-core/lib/efi/reboot.c: ... here.
945 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
946 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
947 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
948 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
949 * grub-core/lib/i386/reboot_trampoline.S: ... here.
950 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
951 * grub-core/lib/ieee1275/reboot.c: ... here.
952 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
953 * grub-core/lib/mips/arc/reboot.c: ... here.
954 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
955 * grub-core/lib/mips/loongson/reboot.c: ...here.
956 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
957 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
958 * include/grub/emu/misc.h (grub_reboot): New function declaration.
959 * include/grub/i386/reboot.h: New file.
960 * include/grub/mips/loongson/ec.h: Fix includes.
961 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
962 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
963 * grub-core/lib/i386/reboot.c: New file.
964
a97501d2
VS
9652011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
966
967 Make grub_prefix into module to fix the arbitrary limit and save
968 some space.
969
970 * grub-core/kern/emu/main.c (grub_prefix): Removed.
971 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
972 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
973 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
974 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
975 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
976 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
977 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
978 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
979 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
980 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
981 * include/grub/ia64/efi/kernel.h: Removed.
982 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
983 (grub_prefix): Removed.
984 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
985 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
986 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
987 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
988 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
989 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
990 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
991 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
992 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
993 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
994 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
995 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
996 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
997 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
998 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
999 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
1000 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
1001 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1002 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
1003 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
1004 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
1005 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
1006 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
1007 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
1008 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
1009 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
1010 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
1011 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
1012 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
1013 from module.
1014 * util/grub-mkimage.c (image_target_desc): Removed prefix and
1015 prefix_end.
1016 (image_targets): Likewise.
1017 (generate_image): Put prefix as a module.
1018
39705fad
VS
10192011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 Replace grub_module_iterate with FOR_MODULES.
1022
1023 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
1024 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
1025 (grub_efi_modules_addr): ...this.
1026 * grub-core/kern/efi/init.c (grub_modbase): New variable.
1027 (grub_efi_init): Set grub_modbase.
1028 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
1029 (grub_modbase): New variable.
1030 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
1031 (grub_modbase): New variable.
1032 (grub_machine_init): Set grub_modbase.
1033 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
1034 (grub_modbase): New variable.
1035 (grub_machine_init): Set grub_modbase.
1036 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
1037 (grub_modbase): New variable.
1038 (grub_machine_init): Set grub_modbase.
1039 * grub-core/kern/main.c (grub_module_iterate): Remove.
1040 (grub_modules_get_end): Use grub_modbase.
1041 (grub_load_modules): Use FOR_MODULES.
1042 (grub_load_config): Likewise.
1043 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
1044 (grub_modbase): New variable.
1045 (grub_machine_init): Set grub_modbase.
1046 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
1047 (grub_modbase): New variable.
1048 (grub_machine_init): Set grub_modbase.
1049 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
1050 Removed.
1051 (grub_modbase): New variable.
1052 (grub_machine_init): Set grub_modbase.
1053 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
1054 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
1055 (grub_module_iterate): Likewise.
1056 (grub_modbase): New variable declaration.
1057 (FOR_MODULES): New macro.
1058
2afb7f6c
VS
10592011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * configure.ac: Check for __ctzdi2 and __ctzsi2.
1062 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
1063
366e34fa
VS
10642011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 Fix few obvious type discrepancies.
1067
1068 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
1069 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
1070 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
1071 variable.
1072 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
1073 and connected types.
1074 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
1075 offset.
1076 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
1077 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
1078 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
1079 and connected types.
1080
177b960e
VS
10812011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 Fix python 3.x incompatibilities.
1084
1085 * gentpl.py: Put brackets around print strings.
1086 * util/import_gcry.py: Open explicitly as utf-8.
1087 Use in instead of has_key.
1088
3b619ae1
VS
10892011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
1092 (GRUB_XFS_INO_AGBITS): Make into inline function.
1093 (GRUB_XFS_INO_INOINAG): Likewise.
1094 (GRUB_XFS_INO_AG): Likewise.
1095 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1096 (GRUB_XFS_EXTENT_OFFSET): Likewise.
1097 (GRUB_XFS_EXTENT_BLOCK): Likewise.
1098 (GRUB_XFS_EXTENT_SIZE): Likewise.
1099 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
1100 (GRUB_XFS_NEXT_DIRENT): Likewise.
1101 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
1102 (grub_xfs_read_file): Fix offset type.
1103
8bcebcb8
RM
11042011-10-15 Robert Millan <rmh@gnu.org>
1105
1106 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
1107
0017e5ef
RM
11082011-10-15 Robert Millan <rmh@gnu.org>
1109
1110 Fix build problem on FreeBSD and GNU/kFreeBSD.
1111
1112 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
1113
d8919552
VS
11142011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
1117
1118 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
1119 types.
1120 (grub_hfsplus_btree_recoffset): Likewise.
1121 (grub_hfsplus_btree_recptr): Likewise.
1122 (grub_hfsplus_find_block): Likewise.
1123 (grub_hfsplus_btree_search): Likewise.
1124 (grub_hfsplus_read_block): Likewise.
1125 (grub_hfsplus_read_file): Likewise.
1126 (grub_hfsplus_mount): Likewise.
1127 (grub_hfsplus_btree_iterate_node): Likewise.
1128 (grub_hfsplus_btree_search): Likewise.
1129 (grub_hfsplus_iterate_dir): Likewise.
1130 (grub_hfsplus_read): A small code simplification.
1131
c81296b6
VS
11322011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/kern/emu/hostdisk.c
1135 (convert_system_partition_to_system_disk): Don't assume that children
1136 of mapper nodes are mapper nodes.
1137
0eb8ffb1
VS
11382011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
1141 * include/grub/misc.h (grub_isxdigit): New function.
1142 * grub-core/video/colors.c (my_isxdigit): Removed. All users
1143 switched to grub_isxdigit.
1144 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
1145 number starting with a letter.
1146
a98f4a08
RM
11472011-10-09 Robert Millan <rmh@gnu.org>
1148
1149 LVM support for FreeBSD and GNU/kFreeBSD.
1150
1151 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
1152 GNU/kFreeBSD.
1153 (LVM_DEV_MAPPER_STRING): Move from here ...
1154 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
1155 * util/getroot.c: Include `<grub/util/lvm.h>'.
1156 (grub_util_get_dev_abstraction): Enable
1157 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
1158 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
1159 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
1160 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
1161 support it.
1162 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
1163 GNU/kFreeBSD.
1164 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
1165 when LVM abstraction is required for ${GRUB_DEVICE}.
1166
050e8e90
SJ
11672011-10-06 Szymon Janc <szymon@janc.net.pl>
1168
1169 Add support for LZO compression in GRUB:
1170 - import of minilzo library,
1171 - LZO decompression for btrfs,
1172 - lzop files decompression.
1173
1174 * grub-core/io/lzopio.c: New file.
1175 * grub-core/lib/adler32.c: Likewise.
1176 * grub-core/lib/minilzo/lzoconf.h: Likewise.
1177 * grub-core/lib/minilzo/lzodefs.h: Likewise.
1178 * grub-core/lib/minilzo/minilzo.c: Likewise.
1179 * grub-core/lib/minilzo/minilzo.h: Likewise.
1180 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
1181 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
1182 grub-core/lib/minilzo/minilzo.c to common.
1183 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
1184 cflags in cppflags.
1185 * grub-core/Makefile.core.def (btrfs): Likewise.
1186 * grub-core/Makefile.core.def (lzopio): New module.
1187 (adler32): Likewise.
1188 * grub-core/fs/btrfs.c: Include minilzo.h.
1189 (GRUB_BTRFS_COMPRESSION_LZO): New define.
1190 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
1191 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
1192 (grub_btrfs_lzo_decompress): New function.
1193 (grub_btrfs_extent_read): Add support for LZO compression type.
1194 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
1195 (GRUB_USHRT_MAX): Likewise.
1196 (GRUB_UINT_MAX): Likewise.
1197 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
1198 (UINT_MAX): Likewise.
1199 (CHAR_BIT): Likewise.
1200 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
1201 grub-core/lib/posix_wrap/limits.h
1202 (UCHAR_MAX): Likewise.
1203 * include/grub/file.h (grub_file_filter_id): New compression filter
1204 GRUB_FILE_FILTER_LZOPIO.
1205 * include/grub/file.h (grub_file_filter_id): Set
1206 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
1207 * include/grub/types.h (grub_get_unaligned16): New function.
1208 (grub_get_unaligned32): Likewise.
1209 (grub_get_unaligned64): Likewise.
1210 * util/import_gcry.py (cryptolist): Add adler32.
1211
0eb8ffb1
VS
12122011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
1215 in perspective decreases the complexity of build system and fixes
1216 compilation right now.
1217
ce79cc99 12182011-10-01 Ales Nesrsta <starous@volny.cz>
1219
1220 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
1221 (fixed problem related to using UHCI with coreboot).
1222
8667a314
BC
12232011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1224
1225 * gentpl.py: Use Autogen macros so that the output template file
1226 (Makefile.tpl) size is reduced.
1227
fc5efcc0
MK
12282011-09-29 Mads Kiilerich <mads@kiilerich.com>
1229
1230 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
1231 extra_dist.
1232
d1ab689d
ML
12332011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1234
1235 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
1236 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
1237
c05de032
ML
12382011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1239
1240 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
1241 _fullpath.
1242
cca7ccd8
ML
12432011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1244
1245 Remove extra declaration of sleep for mingw32.
1246
1247 * util/misc.c (sleep) [__MINGW32__]: Removed.
1248 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
1249
e0b0dc83
GS
12502011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1251
1252 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
1253 type and packname.
1254 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
1255 Resurrected.
1256 (NETBSD_BTINFO_BOOTWEDGE): New definition.
1257 (grub_netbsd_btinfo_bootwedge): New struct.
1258 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1259 New function.
1260 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
1261
91a1a164
TH
12622011-09-28 Thomas Haller <thomas.haller@fen-net.de>
1263
1264 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
1265 loader.
1266
2ded951e
AB
12672011-09-28 Andreas Born <futur.andy@googlemail.com>
1268
1269 Fix incorrect identifiers in bash-completion.
1270
1271 * util/bash-completion.d/grub-completion.bash.in
1272 (_grub_mkpasswd-pbkdf2): Rename to ...
1273 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
1274 (_grub_script-check): Rename to ...
1275 (_grub_script_check): ... this. All users updated.
1276
69915030
VS
12772011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1280 Return 0 if disk isn't biosdisk.
1281
20fd15f9
GS
12822011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1283
1284 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
1285 on NetBSD.
1286 * Makefile.util.def (grub-fstest): Likewise.
1287
1a7d7db9
GS
12882011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1289
1290 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
1291 Get sector size from disk label.
1292
2221ab6c
CW
12932011-09-05 Colin Watson <cjwatson@ubuntu.com>
1294
1295 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
1296 */README* as well as README*.
1297 Reported by: Axel Beckert.
1298
ca51c4a0
VS
12992011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
1302 case of less than 256 MiB of RAM.
1303
ab80f326
VS
13042011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * grub-core/commands/wildcard.c (make_regex): Handle @.
1307
4155e697
VS
13082011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * util/grub-install.in: Move cryptodisk logic to appropriate place.
1311
ab178c08
SJ
13122011-08-21 Szymon Janc <szymon@janc.net.pl>
1313
1314 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
1315 AC_LANG_CONFTEST macros.
1316
7dc3c686
SJ
13172011-08-20 Szymon Janc <szymon@janc.net.pl>
1318
1319 Add grub-fstest option to uncompress data for commands.
1320
1321 * util/grub-fstest.c (uncompress): New var.
1322 (options): New option -u.
1323
fe8d4a7b
SJ
13242011-08-20 Szymon Janc <szymon@janc.net.pl>
1325
1326 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1327 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
1328
a5219af1
SJ
13292011-08-20 Szymon Janc <szymon@janc.net.pl>
1330
1331 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
1332 file type was not recognized correctly (not gzip or corrupted).
1333
f87abff5
VS
13342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
1337 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
1338
d94497ea
VS
13392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
1342 loongson.
1343 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1344 video_radeon_fuloong2e.
1345 * grub-core/video/radeon_fuloong2e.c: New file.
1346 * include/grub/video.h (grub_video_id_t): Add new ID
1347 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
1348
0d1fd011
VS
13492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
1352 define.
1353 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
1354 that PRID matches the detected subplatform and reset the subplatform
1355 if it doesn't.
1356
84beb0ee
VS
13572011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
1360
1227c133
VS
13612011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 Fix PCI iterating on functions >= 4.
1364
1365 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
1366 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
1367 Removed.
1368 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
1369 (grub_pci_read): Fix bitmask.
1370 (grub_pci_read_word): Likewise.
1371 (grub_pci_read_byte): Likewise.
1372 (grub_pci_write): Likewise.
1373 (grub_pci_write_word): Likewise.
1374 (grub_pci_write_byte): Likewise.
1375
9594c689
VS
13762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
1379 can still be specified in TARGET_CFLAGS)
1380
14a2562c
VS
13812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
1384
1385 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
1386 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
1387 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
1388 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
1389 (FULOONG): Rename to ...
1390 (FULOONG2F): ... this. All users updated.
1391 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
1392 (machtype_fuloong2f_str): ... this.
1393 (machtype_fuloong2e_str): New string.
1394 Check for machtype_fuloong2e_str.
1395 * grub-core/loader/mips/linux.c (loongson_machtypes)
1396 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
1397 * grub-core/term/serial.c (loongson_defserial)
1398 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
1399 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
1400 loongson_defserial.
1401 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
1402 Rename to ...
1403 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
1404 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
1405 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
1406 to IMAGE_FULOONG2F_FLASH. All users updated.
1407 (image_targets): Rename images.
1408 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
1409
b526cbb6
SJ
14102011-08-19 Szymon Janc <szymon@janc.net.pl>
1411
1412 Make enable of disk cache statistics code configurable.
1413
1414 * configure.ac: --enable-cache-stats added.
1415 * config.h.in (DISK_CACHE_STATS): New define.
1416 * grub-core/Makefile.core.def (cacheinfo): New command.
1417 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
1418 * grub-core/commands/cacheinfo.c: New file.
1419 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
1420 moved to cacheinfo.c.
1421 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
1422 debug code.
1423 * include/grub/disk.h: Likewise.
1424
fb739ccd
SJ
14252011-08-19 Szymon Janc <szymon@janc.net.pl>
1426
1427 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
1428 * grub-core/Makefile.am: Likewise.
1429
2bba8cfd
VS
14302011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
1433 non-zero pull.
1434
43526629
VS
14352011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
1438 All users updated.
1439 (grub_jfs_lookup_symlink): Use correct starting inode.
1440
5c144cc8
VS
14412011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * util/grub-setup.c (main): Add missing gcry initialisation.
1444
b1257f65
VS
14452011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 Don't accept text modes on EFI when booting Linux.
1448
1449 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
1450 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
1451
828bc390
ML
14522011-08-15 Mario Limonciello <mario_limonciello@dell.com>
14532011-08-15 Colin Watson <cjwatson@ubuntu.com>
1454
1455 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
1456 use of "/path/.." as in grub-install for EFI as well as handling
1457 symlinks correctly.
1458 Fixes Debian bug #637768.
1459
5f60ccac
CW
14602011-08-15 Colin Watson <cjwatson@ubuntu.com>
1461
1462 * util/grub-probe.c: Remove duplicate #include.
1463
6dc212f9
RM
14642011-08-10 Robert Millan <rmh@gnu.org>
1465
1466 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
1467
1468 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
1469 function.
1470 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
1471 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
1472
66816d85
RM
14732011-08-03 Robert Millan <rmh@gnu.org>
1474
1475 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
1476 la_array as packed.
1477 Reported by: Zachary Bedell
1478
20168fca
CW
14792011-07-26 Colin Watson <cjwatson@ubuntu.com>
1480
1481 * configure.ac: The Loongson port requires grub-mkfont due to its
1482 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
1483 be built.
1484
303b6246
CW
14852011-07-26 Colin Watson <cjwatson@ubuntu.com>
1486
1487 * util/grub-install.in: Don't source grub-mkconfig_lib until after
1488 processing arguments (otherwise help2man fails when GRUB has not yet
1489 been installed).
1490
6795300e
VS
14912011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1492
41aa28ea
VS
1493 New script grub-mkstandalone.
1494
1495 * Makefile.util.def (grub-mkstandalone): New script.
1496 * docs/man/grub-mkstandalone.h2m: New file.
1497 * util/grub-mkstandalone.in: Likewise.
1498
14992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 Support ATA disks with 4K sectors.
6795300e
VS
1502
1503 * include/grub/ata.h (grub_ata): New member log_sector_size.
1504 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
1505 (grub_ata_identify): Read sector size.
1506 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
1507
92227597
VS
15082011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * util/grub-install.in: Don't use uhci outside of x86.
1511
c77069f5
VS
15122011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * util/grub-mkrescue.in: Add missing quotes.
1515
15162011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
1517
1518 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
1519 dereference.
1520
583168a2
VS
15212011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
1524
6be1c01f
VS
15252011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * include/grub/video.h: add missing EXPORT_FUND on
1528 grub_video_edid_checksum and grub_video_edid_preferred_mode.
1529
a1167439
VS
15302011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * include/grub/mips/kernel.h: Fix define conflict.
1533
bf66054f
VS
15342011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
1537 all four ways.
1538
8fc4fa45
CW
15392011-07-21 Colin Watson <cjwatson@ubuntu.com>
1540
1541 Preferred resolution detection for VBE.
1542
1543 * grub-core/video/video.c (grub_video_edid_checksum): New function.
1544 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
1545 the Flat Panel extension, in line with the X.org VESA driver.
1546 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
1547 New function.
1548 (grub_vbe_bios_get_ddc_capabilities): Likewise.
1549 (grub_vbe_bios_read_edid): Likewise.
1550 (grub_vbe_get_preferred_mode): Likewise.
1551 (grub_video_vbe_setup): When the mode is "auto", try to get the
1552 preferred mode from VBE, and use the largest mode that is no larger
1553 than the preferred mode (some BIOSes expose a preferred mode that is
1554 not in their mode list!). If this fails, fall back to 640x480 as a
1555 safe conservative choice.
1556 (grub_video_vbe_get_edid): New function.
1557 (grub_video_vbe_adapter): Add get_edid.
1558 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
1559 (struct grub_video_adapter): Add get_edid.
1560 (grub_video_edid_checksum): Add prototype.
1561 (grub_video_edid_preferred_mode): Likewise.
1562 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
1563 structure.
1564
1565 * grub-core/commands/videoinfo.c (print_edid): New function.
1566 (grub_cmd_videoinfo): Print EDID if available.
1567
1568 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
1569 is more appropriate on a wider range of platforms than 640x480.
1570 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
1571 documentation.
1572
ca5572a9
VS
15732011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
1576
e4bcf625
VS
15772011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * po/POTFILES.in: Regenerate.
1580
c4edd548
VS
15812011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
1584 incorrect memory usage.
1585
16a2bab0
VS
15862011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * util/grub-install.in: Source grub-mkconfig_lib.
1589
2e418de6
VS
15902011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 Remove getroot.c from core on emu platform.
1593
1594 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
1595 kern/emu/raid.c.
1596 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
1597 useless.
1598 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
1599 * util/getroot.c (get_win32_path): ... here.
1600 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
1601 * util/getroot.c (fini_libzfs): ... here.
1602 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
1603 * util/getroot.c (grub_get_libzfs_handle): ... here.
1604 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
1605 Moved from here...
1606 * util/getroot.c (grub_find_zpool_from_dir): ... here.
1607 * grub-core/kern/emu/misc.c
1608 (grub_make_system_path_relative_to_its_root): Moved from here...
1609 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
1610 * grub-core/kern/emu/getroot.c: Moved from here ...
1611 * util/getroot.c: ... here. All users updated.
1612 * grub-core/kern/emu/raid.c: Moved from here ...
1613 * util/raid.c: ... here. All users updated.
1614
def9832a
VS
16152011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * po/POTFILES.in: Regenerate.
1618
cd8fe79a
VS
16192011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 Fix compilation on GNU/Linux.
1622
1623 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
1624 Disable geli.
1625 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
1626 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
1627 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
1628
a251b719
VS
16292011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16302011-07-07 Michael Gorven <michael@gorven.za.net>
16312011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
1632
1633 LUKS and GELI support.
1634
1635 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
1636 grub-core/disk/luks.c, grub-core/disk/geli.c,
1637 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
1638 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
1639 grub-core/lib/arg.c.
1640 (libgrubmods.a): Remove gcrypts cflags and cppflags.
1641 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
1642 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
1643 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
1644 (grub-bin2h): Add libgcry.a.
1645 (grub-mkimage): Likewise.
1646 (grub-mkrelpath): Likewise.
1647 (grub-script-check): Likewise.
1648 (grub-editenv): Likewise.
1649 (grub-mkpasswd-pbkdf2): Likewise.
1650 (grub-pe2elf): Likewise.
1651 (grub-fstest): Likewise.
1652 (grub-mkfont): Likewise.
1653 (grub-mkdevicemap): Likewise.
1654 (grub-probe): Likewise.
1655 (grub-ofpath): Likewise.
1656 (grub-mklayout): Likewise.
1657 (example_unit_test): Likewise.
1658 (grub-menulst2cfg): Likewise.
1659 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
1660 * grub-core/Makefile.core.def (cryptodisk): New module.
1661 (luks): Likewise.
1662 (geli): Likewise.
1663 * grub-core/disk/AFSplitter.c: New file.
1664 * grub-core/disk/cryptodisk.c: Likewise.
1665 * grub-core/disk/geli.c: Likewise.
1666 * grub-core/disk/luks.c: Likewise.
1667 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
1668 grub_util_is_lvm.
1669 (grub_util_get_dm_abstraction): New function.
1670 (grub_util_follow_gpart_up): Likewise.
1671 (grub_util_get_geom_abstraction): Likewise.
1672 (grub_util_get_dev_abstraction): Use new functions.
1673 (grub_util_pull_device): Pull GELI and LUKS.
1674 (grub_util_get_grub_dev): Handle LUKS and GELI.
1675 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
1676 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
1677 (follow_geom_up): Removed.
1678 (grub_util_fd_seek): New function.
1679 (open_device): Use grub_util_fd_seek.
1680 (nread): Rename to ..
1681 (grub_util_fd_read): ... this. All users updated.
1682 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
1683 (grub_crypto_cbc_decrypt): Likewise.
1684 (grub_crypto_hmac_write): Likewise.
1685 (grub_crypto_hmac_buffer): Likewise.
1686 (grub_password_get): Extend to util.
1687 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
1688 New member modname.
1689 (gcry_md_spec) [GRUB_UTIL]: Likewise.
1690 * include/grub/cryptodisk.h: New file.
1691 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
1692 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
1693 LUKS and GELI.
1694 (grub_util_follow_gpart_up): New proto.
1695 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
1696 (grub_util_fd_read): Likewise.
1697 (grub_cryptodisk_cheat_mount): Likewise.
1698 (grub_util_cryptodisk_print_uuid): Likewise.
1699 (grub_util_get_fd_sectors): Likewise.
1700 * util/grub-fstest.c (mount_crypt): New var.
1701 (fstest): Mount crypto if requested.
1702 (options): New option -C.
1703 (argp_parser): Parse -C.
1704 (main): Init and fini gcry.
1705 * util/grub-install.in: Support cryptodisk install.
1706 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
1707 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
1708 cryptodisk.
1709 (prepare_grub_to_access_device): Likewise.
1710 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
1711 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
1712 (probe_cryptodisk_uuid): New function.
1713 (probe_abstraction): Likewise.
1714 (probe): Use new functions.
1715 * util/import_gcry.py: Create Makefile.utilgcry.def.
1716 Add modname member.
1717
9bfdcbbc
VS
17182011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 Lazy device scanning.
1721
1722 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
1723 (grub-setup): Remove util/raid.c.
1724 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
1725 * grub-core/disk/lvm.c (scan_depth): New variable.
1726 (grub_lvm_iterate): Rescan if necessary.
1727 (find_lv): New function based on grub_lvm_open.
1728 (grub_lvm_open): Use find_lv. Rescan on error.
1729 (is_node_readable): New function.
1730 (is_lv_readable): Likewise.
1731 (grub_lvm_scan_device): Skip already found disks.
1732 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
1733 Stop if searched device is found and readable.
1734 * grub-core/disk/raid.c (inscnt): New variable.
1735 (scan_depth): Likewise.
1736 (scan_devices): New function based on grub_raid_register. Abort if
1737 looked for device is found.
1738 (grub_raid_iterate): Rescan if needed.
1739 (find_array): NEw function based on -grub_raid_open.
1740 (grub_raid_open): Use find_array and rescan.
1741 (insert_array): Set became_readable_at.
1742 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
1743 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
1744 New function.
1745 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
1746 (grub_util_pull_device): New function.
1747 (grub_util_get_grub_dev): Call grub_util_pull_device.
1748 * util/raid.c: Moved to ..
1749 * grub-core/kern/emu/raid.c: ... here.
1750 (grub_util_raid_getmembers): New parameter "bootable".
1751 All users updated. Support 1.x.
1752 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
1753 All users updated.
1754 * include/grub/disk.h (grub_disk_pull_t): New enum.
1755 (grub_disk_dev): Change iterate prototype.
1756 All users updated.
1757 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
1758 New proto.
1759 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
1760 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
1761 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
1762 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
1763 All users updated.
1764 * include/grub/util/raid.h: Removed.
1765
1c358e59
VS
17662011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * po/POTFILES.in: Regenerate.
1769
abee94ed
VS
17702011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 Unify sparc init with other ieee1275.
1773
1774 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
1775 instead of kern/sparc64/ieee1275/init.c.
1776 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
1777 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
1778 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
1779 grub/machine/kernel.h.
1780 (grub_ieee1275_original_stack) [__sparc__]: New variable.
1781 (grub_claim_heap) [__sparc__]: Use sparc version.
1782 (grub_machine_init): Moved args parsing to
1783 (grub_parse_cmdline): ...this.
1784 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
1785 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
1786 New definition.
1787 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
1788
1789 Move BOOTP to separate file.
1790
1791 * grub-core/Makefile.core.def (net): Add net/bootp.c.
1792 * grub-core/net/net.c: Move all BOOTP functions to
1793 * grub-core/net/bootp.c: ... here.
1794
1795 Use frame interface on PXE.
1796
1797 * grub-core/Makefile.core.def (pxecmd): Removed.
1798 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
1799 * grub-core/commands/i386/pc/pxecmd.c: Removed.
1800 * grub-core/i386/pc/pxe.c: Moved from here ...
1801 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
1802 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
1803 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
1804
1805 EFI network support.
1806
1807 * grub-core/Makefile.core.def (efinet): New module.
1808 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
1809 here...
1810 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
1811 All users updated.
1812 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
1813 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
1814 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
1815 * grub-core/net/drivers/efi/efinet.c: New file.
1816 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
1817 (grub_efi_net_config): New extern var.
1818
1819 Various cleanups and bugfixes.
1820
1821 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
1822 error.
1823 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
1824 disk declared as partition.
1825 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
1826 leak on failure.
1827 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
1828 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
1829 (grub_debug_zalloc): Likewise.
1830 (grub_debug_realloc): Likewise.
1831 (grub_debug_memalign): Likewise.
1832 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
1833 Check that target is IPv4.
1834 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
1835 local-mac-address as fallback.
1836 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
1837 memory leak.
1838 * grub-core/net/ip.c (ipchksum): Rename to ...
1839 (grub_net_ip_chksum): ... this. All users updated.
1840 (grub_net_recv_ip_packets): Special handling for DHCP.
1841 * util/grub-mkimage.c (generate_image): Zero-out aout header.
1842
1843 Unify prefix handling
1844
1845 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
1846 (grub_machine_get_bootlocation): ... this.
1847 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
1848 (grub_machine_get_bootlocation): ... this.
1849 (grub_prefix): New variable.
1850 (prefix): Removed.
1851 (root_dev): New variable.
1852 (dir): Likewise.
1853 (main): Use new variables.
1854 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
1855 Revamped into ...
1856 (grub_machine_get_bootlocation): ... this.
1857 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
1858 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
1859 (grub_machine_get_bootlocation): ... this.
1860 (grub_machine_set_prefix): Removed.
1861 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
1862 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
1863 Revamped into ...
1864 (grub_machine_get_bootlocation): ... this.
1865 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
1866 (grub_set_prefix_and_root): ... this. All users updated.
1867 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
1868 Revamped into ...
1869 (grub_machine_get_bootlocation): ... this.
1870 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
1871 (grub_machine_get_bootlocation): New proto.
1872 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
1873
1874 Less intrusive and more reliable seek on network implementation.
1875
1876 * grub-core/kern/file.c (grub_file_net_seek): Removed.
1877 (grub_file_seek): Don't call grub_file_net_seek.
1878 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
1879 (grub_net_fs_read_real): .. this.
1880 (grub_net_seek_real): Use net->offset.
1881 (grub_net_fs_read): Seek if necessary.
1882
1883 Unify IEEE1275 netwotk config with the other platforms.
1884
1885 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
1886 New variable.
1887 (grub_machine_get_bootlocation): Support network.
1888 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1889 Support type and device parsing.
1890 (grub_ieee1275_get_device_type): New function.
1891 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
1892 into ...
1893 (grub_ieee1275_net_config_real): ... this.
1894 (grub_ofnet_probecards): Removed.
1895 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
1896 * include/grub/ieee1275/ofnet.h: Removed.
1897 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
1898 extern var.
1899 (grub_ieee1275_get_device_type): New function.
1900
1901 Unify network device closing across platforms and make more robust.
1902
1903 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
1904 grub_grubnet_fini.
1905 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
1906 already.
1907 * grub-core/net/net.c (grub_net_network_level_interface_register):
1908 Update num_ifaces.
1909 (grub_net_card_unregister): Close all interfaces.
1910 (receive_packets): Don't poll if no iterfaces are registered.
1911 Open if necessary.
1912 (grub_net_fini_hw): New function.
1913 (grub_net_restore_hw): Likewise.
1914 (fini_hnd): New variable.
1915 (GRUB_MOD_INIT): Register preboot hook.
1916 (GRUB_MOD_FINI): Run and unregister preboot hook.
1917
1918 Poll network cards when idle.
1919
1920 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
1921 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
1922 * grub-core/net/net.c (receive_packets): Save last poll time.
1923 (grub_net_poll_cards_idle_real): New function.
1924 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
1925 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
1926 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
1927
1928 Rename ofnet interfaces.
1929
1930 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
1931 (grub_ofnet_findcards): Use ofnet_%s names.
1932
1933 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
1934
1935 Cleanup socket opening.
1936
1937 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
1938 (grub_net_fs_close): Likewise.
1939 (grub_net_fs_read_real): Use eof member.
1940 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
1941 (+grub_net_udp_close): New inline function.
1942
1943 * include/grub/net/tftp.h: Moved to the top of ...
1944 * grub-core/net/tftp.c: ... here.
1945 * include/grub/net/ip.h: Moved mostly to the top of ...
1946 * grub-core/net/ip.c: ... here.
1947 * include/grub/net/ethernet.h: Moved mostly to the top of ...
1948 * grub-core/net/ethernet.c: ... here.
1949
1950 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
1951
1952 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
1953 FS name.
1954
1955 * include/grub/net/ip.h (ipv4_ini): Removed.
1956 (ipv4_fini): Likewise.
1957
1958 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
1959 (grub_net_send_ip_packets): Likewise.
1960
cf1337aa
VS
19612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
1964 grub_read_cmos prototype.
1965
93c06ff9
VS
19662011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 VGA text support in qemu-mips
1969
1970 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
1971 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
1972 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
1973 text.
1974 * grub-core/kern/i386/qemu/init.c: Renamed to ...
1975 * grub-core/kern/vga_init.c: ... this.
1976 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
1977 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
1978 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
1979 Adjust.
1980 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
1981 GRUB_MACHINE_PCI_IO_BASE.
1982
748ccabe
VS
19832011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 MIPS qemu flash support.
1986
1987 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
1988 magic.
1989 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
1990 (grub_machine_init): Probe memory if its size isn't known.
1991 * util/grub-mkimage.c (image_targets): Add flash targets.
1992 (generate_image): Handle flash targets.
1993
d7345994
VS
19942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 MIPS qemu at_keyboard support.
1997
1998 * gentpl.py (videoinkernel): Add qemu-mips.
1999 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
2000 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
2001 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
2002 modules.
2003 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
2004 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
2005 * grub-core/term/serial.c (grub_serial_register)
2006 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2007
a07a81b3
VS
20082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 CMOS support on sparc.
2011
2012 * gentpl.py (cmos): Add powerpc and sparc.
2013 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
2014 powerpc and sparc.
2015 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
2016 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
2017 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
2018 grub_set_datetime_cmos.
2019 * grub-core/lib/ieee1275/cmos.c: New file.
2020 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
2021 (find_rtc): Set no_ieee1275_rtc on error.
2022 (grub_get_datetime): Call grub_get_datetime_cmos on error.
2023 (grub_set_datetime): Call grub_set_datetime_cmos on error.
2024 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
2025 fail. Move value to argument. All users updated
2026 (grub_cmos_write): Likewise.
2027 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
2028 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
2029 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
2030 grub_get_datetime_cmos and grub_set_datetime_cmos.
2031
77546584
GS
20322011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2033
2034 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
2035 sourcing grub-mkconfig_lib.
2036 * util/update-grub_lib.in: Likewise.
2037 * util/grub.d/00_header.in: Likewise.
2038 * util/grub.d/10_hurd.in: Likewise.
2039 * util/grub.d/10_kfreebsd.in: Likewise.
2040 * util/grub.d/10_linux.in: Likewise.
2041 * util/grub.d/10_netbsd.in: Likewise.
2042 * util/grub.d/10_windows.in: Likewise.
2043 * util/grub.d/20_linux_xen.in: Likewise.
2044 * util/grub.d/30_os-prober.in: Likewise.
2045
54894791
CW
20462011-06-28 Colin Watson <cjwatson@ubuntu.com>
2047
2048 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2049 default_bg_color rather than black.
2050 (grub_gfxterm_fullscreen): Likewise.
2051 (grub_gfxterm_background_color_cmd): Save new background color in
2052 default_bg_color.
2053
8d5d8444
VS
20542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
2057
5afeb5bd
VS
20582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
2061 mismerge.
2062
ba7df45e
VS
20632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 Chainloading on coreboot support.
2066
2067 * grub-core/Makefile.core.def (chain): Add coreboot.
2068 * grub-core/loader/i386/coreboot/chainloader.c: New file.
2069
d0b526b2
VS
20702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
2073 if it happens.
2074
5ff1d945
VS
20752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 Implement time command.
2078
2079 * grub-core/Makefile.core.def (time): New module.
2080 * grub-core/commands/time.c: New file.
2081 * grub-core/script/parser.y: Remove "time" keyword.
2082 * grub-core/script/yylex.l: Likewise.
2083
5ebaad7e
VS
20842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2087
bdea3798
VS
20882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
2091 when handling leftovers.
2092
b28c5655
VS
20932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
2096 so that help2man doesn't fail.
2097
b6f945dc
VS
20982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
2101 type in pointers on sparc64.
2102 (get_card_packet): Likewise.
2103
f9b75e8a
CW
21042011-06-27 Colin Watson <cjwatson@ubuntu.com>
2105
2106 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
2107 with `*'.
2108 (grub_cmd_videoinfo): Fetch current video mode.
2109
1e3d9b86
VS
21102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
2113 because of underlying system restrictions.
2114
efff4b1c
VS
21152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
2118 necessary.
2119
9fc9ce37
VS
21202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 Coreboot video support.
2123
2124 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
2125 (vbe): Likewise.
2126 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
2127 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
2128 here ...
2129 * grub-core/kern/i386/int.S: ... here.
2130 * grub-core/video/i386/pc/vbe.c: Updated includes.
2131 * grub-core/video/i386/pc/vga.c: Likewise.
2132 * include/grub/i386/coreboot/memory.h
2133 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
2134 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
2135 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
2136 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
2137 Disable interrupts.
2138 * include/grub/i386/pc/vga.h: Removed. All users updated.
2139
41bec7fe
VS
21402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
2143 definitions for dprintf.
2144 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
2145
ca80309d
VS
21462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
2149 prototype.
2150 (get_card_packet): Likewise.
2151
9e322ce8
YB
21522011-06-26 Yves Blusseau <blusseau@zetam.org>
2153
2154 Display the path of the file when file is not found
2155
2156 * grub-core/fs/fat.c: Display the filename when file is not found.
2157 * grub-core/fs/fshelp.c: Likewise.
2158 * grub-core/fs/hfs.c: Likewise.
2159 * grub-core/fs/jfs.c: Likewise.
2160 * grub-core/fs/minix.c: Likewise.
2161 * grub-core/fs/ufs.c: Likewise.
2162 * grub-core/fs/btrfs.c: Likewise.
2163 * grub-core/commands/i386/pc/play.c: Likewise.
2164
cbf597af
SJ
21652011-06-26 Szymon Janc <szymon@janc.net.pl>
2166
2167 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
2168 pointer checks before calling grub_free().
2169 * grub-core/commands/wildcard.c (match_devices): Likewise.
2170 * grub-core/commands/wildcard.c (match_files): Likewise.
2171 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
2172 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
2173 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
2174 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
2175 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
2176 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
2177 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
2178 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2179 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2180
6295b32f
P
21812011-06-25 Patrick <p55@mailinator.com>
2182
2183 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2184
77c0840b
VS
21852011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
2188 (grub_pxe_send): Likewise.
2189 (GRUB_MOD_INIT): Fix types.
2190
40ea05de
SJ
21912011-06-24 Szymon Janc <szymon@janc.net.pl>
2192
2193 * grub-core/io/xzio.c: Fix code style issues
2194
90162423
MRA
21952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
21962011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
2197
2198 Network infrastructure.
2199 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
2200
2201 * include/grub/net/arp.h: New file.
90162423
MRA
2202 * include/grub/net/device.h: Likewise.
2203 * include/grub/net/ethernet.h: Likewise.
2204 * include/grub/net/ip.h: Likewise.
2205 * include/grub/net/netbuff.h: Likewise.
2206 * include/grub/net/tftp.h: Likewise.
2207 * include/grub/net/udp.h: Likewise.
2208 * include/grub/ieee1275/ofnet.h: Likewise.
2209 * include/grub/emu/export.h: Likewise.
2210 * include/grub/net.h: Likewise.
2211 * grub-core/net/arp.c: Likewise.
2212 * grub-core/net/ethernet.c: Likewise.
2213 * grub-core/net/ip.c: Likewise.
2214 * grub-core/net/udp.c: Likewise.
2215 * grub-core/net/tftp.c: Likewise.
2216 * grub-core/net/netbuff.c: Likewise.
2217 * grub-core/net/net.c: Likewise.
2218 * grub-core/net/drivers/emu/emunet.c: Likewise.
2219 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2220 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
2221 export.h.
2222 * grub-core/Makefile.core.def (net): New module.
2223 (tftp): Likewise.
2224 (ofnet): Likewise.
2225 (emunet): Likewise.
2226 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
2227 network protocols.
2228 * grub-core/kern/device.c (grub_net_open) : New variable.
2229 (grub_device_open): Handle network device.
2230 (grub_device_close): Likewise.
2231 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
2232 (grub_grubnet_fini): Likewise.
2233 (grub_file_seek): Seek in network device.
2234 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
2235 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
2236 network root.
2237 (grub_machine_fini): Call grub_grubnet_fini.
2238 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
2239 network.
2240 (grub_ieee1275_get_aliasdevname): New function.
2241 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2242 Add unofficial Solaris network info.
2243 (grub_multiboot_make_mbi): Likewise.
2244 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
2245 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
2246 * include/grub/device.h (grub_fs): Removed.
2247 * include/grub/err.h (grub_err_t): Add network-related values.
2248 * include/grub/i386/pc/pxe.h: Removed bootp parts.
2249 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
2250 (grub_ieee1275_get_aliasdevname): New proto.
2251 * include/grub/net.h: Rewritten.
423a1849 2252
031f22a0
VS
22532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
2256 names.
2257
4388ca72
VS
22582011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
2261 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
2262 it truncates the output.
2263 Reported by: Ximin Luo.
2264
98e2f506
VS
22652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
2268
2a5e94d8
VS
22692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2272 partmap before abstraction.
2273
535c1910
AK
22742011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
2275
2276 * util/grub-mkconfig_lib.in: Add missing quotes.
2277
bc09e1a2
VS
22782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
2281 old method if mountinfo would return /dev/root and /dev/root doesn't
2282 exist.
2283
290766fb
VS
22842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 ZFS zlib support
2287
2288 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
2289 (decomp_table): Add zlib entries.
2290 (zio_read): USe 8 bits for compression function rather than 3.
2291 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
2292
22932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * grub-core/disk/ahci.c: Add missing license statements.
2296 * grub-core/fs/romfs.c: Likewise.
2297 * grub-core/lib/ia64/setjmp.S: Likewise.
2298 * grub-core/loader/i386/pc/freedos.c: Likewise.
2299 * grub-core/loader/ia64/efi/linux.c: Likewise.
2300 * grub-core/video/colors.c: Likewise.
2301 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
2302
5ab3f48a
VS
23032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 AHCI support.
2306
2307 * grub-core/Makefile.core.def (ata_pthru): Removed.
2308 (ahci): New module.
2309 (pata): Likewise.
2310 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
2311 on unload.
2312 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
2313 readwrite.
2314 (grub_hdparm_do_check_powermode_cmd): Likewise.
2315 (grub_hdparm_do_smart_cmd): Likewise.
2316 (grub_hdparm_set_val_cmd): Likewise.
2317 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
2318 * grub-core/disk/ahci.c: New file.
2319 * grub-core/disk/ata.c: Factor out the low-level part into ...
2320 * grub-core/disk/pata.c: ... here.
2321 * grub-core/disk/ata_pthru.c: Contents moved to ...
2322 * grub-core/disk/pata.c: ... here.
2323 * grub-core/disk/scsi.c (grub_scsi_names): New array.
2324 (grub_scsi_iterate): Use grub_scsi_names.
2325 (grub_scsi_open): Likewise.
2326 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
2327 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
2328 (grub_ata_regs_t): New struct.
2329 (grub_disk_ata_pass_through_parms): Likewise.
2330 (grub_ata_device): Renamed to ...
2331 (grub_ata): ... this.
2332 (grub_ata_dev): New struct.
2333 Removed all low-level inline functions.
2334 * include/grub/scsi.h: Add PATA and AHCI subsystems.
2335 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
2336 iterate hooks and open. All users updated.
2337 * util/grub-install.in: Handle AHCI disk module.
2338
c31dc5f5
SJ
23392011-06-23 Szymon Janc <szymon@janc.net.pl>
2340
2341 Add support for DRI and RSTn markers in JPEG files.
2342
2343 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
2344 (JPEG_MARKER_RST0): Likewise.
2345 (JPEG_MARKER_RST1): Likewise.
2346 (JPEG_MARKER_RST2): Likewise.
2347 (JPEG_MARKER_RST3): Likewise.
2348 (JPEG_MARKER_RST4): Likewise.
2349 (JPEG_MARKER_RST5): Likewise.
2350 (JPEG_MARKER_RST6): Likewise.
2351 (JPEG_MARKER_RST7): Likewise.
2352 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
2353 (grub_jpeg_decode_dri): New function.
2354 (grub_jpeg_decode_sos): Move image data related part into
2355 grub_jpeg_decode_data function.
2356 (grub_jpeg_decode_data): New function.
2357 (grub_jpeg_reset): New function.
2358 (grub_jpeg_decode_jpeg): Handle new markers.
2359
fe12fd5b
VS
23602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * util/ieee1275/ofpath.c (check_sas): Close fd.
2363 (main): Free of_path.
2364 Reported by: David Volgyes <dvolgyes>.
2365
03147f46
VS
23662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
2369 Reported by: David Volgyes <dvolgyes>.
2370
cad3237f
VS
23712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
2374 file after stat.
2375 Reported by: David Volgyes <dvolgyes>.
2376
13548d26
VS
23772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
2380
2381 Reported by: David Volgyes <dvolgyes>.
2382
e061a1b5
VS
23832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
2386 Prevent memory leak.
2387
1abe47dc
VS
23882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
2391 (main): Close file.
e061a1b5 2392 Reported by: David Volgyes <dvolgyes>.
1abe47dc 2393
fbc62666
VS
23942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
2397 to continue if allocation is failed.
2398
2399 Reported by: David Volgyes <dvolgyes>.
2400
e98c83e9
DV
24012011-06-23 David Volgyes <dvolgyes>
2402
2403 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
2404 dereference.
2405
a199a8cd
VS
24062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 Fix spurious warning.
2409
2410 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
2411 (acorn_partition_map_find): Use .bin member.
2412
e2d1dba0
VS
24132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
2416 /dev/root as a valid device.
2417
8a5d6919
JM
24182011-06-23 Jim Meyering <meyering@redhat.com>
2419
e2d1dba0
VS
2420 Avoid NULL deref in grub_device_open.
2421
8a5d6919
JM
2422 * grub-core/kern/device.c (grub_device_open): Don't dereference
2423 a NULL pointer upon failed grub_env_get.
2424
f7db6f4a
VS
24252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 Support non-512B sectors and agglomerate reads.
2428
2429 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
2430 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
2431 (disk_io_guid): Removed.
2432 (make_devices): Locate solely by BlockIO.
2433 (grub_efidisk_open): Fill log_sector_size and total_sectors.
2434 (grub_efidisk_read): Use read_blocks.
2435 (grub_efidisk_write): Use write_blocks.
2436 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
2437 log_sector_size.
2438 (get_safe_sectors): Handle non-512B sectors.
2439 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
2440 sectors.
2441 (grub_biosdisk_write): Handle non-512B sectors.
2442 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
2443 (grub_scsi_read): Remove special non-512B block handling (now handled
2444 one level up).
2445 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
2446 and do sanity checks.
2447 (grub_disk_adjust_range): Handle non-512B sectors.
2448 (transform_sector): New function.
2449 (grub_disk_read_small): Likewise.
2450 (grub_disk_read): Rewritten.
2451 (grub_disk_write): Handle non-512B sectors.
2452 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
2453 log_sector_size.
2454 (open_device): Use log_sector_size.
2455 (grub_util_biosdisk_read): Likewise.
2456 (grub_util_biosdisk_write): Likewise.
2457 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
2458 non-512B sectors.
2459 (pc_partition_map_embed): Likewise.
2460 * include/grub/disk.h (grub_disk): New field log_sector_size.
2461 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
2462 (GRUB_DISK_CACHE_BITS): Increased to 6.
2463 * util/grub-fstest.c (fstest): New command testload.
2464 (argp_parser): Likewise.
2465
881ac815
RM
24662011-06-16 Robert Millan <rmh@gnu.org>
2467
2468 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
2469 `ata' driver on kernel of FreeBSD 9.
2470
2471 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
2472 (get_ataraid_disk_name): New functions.
2473 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
2474 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
2475 get_ataraid_disk_name() and get_ada_disk_name().
2476
1e9aef7d
CW
24772011-06-13 Colin Watson <cjwatson@ubuntu.com>
2478
2479 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
2480 input format.
2481
351c7c8a
CW
24822011-05-29 Colin Watson <cjwatson@ubuntu.com>
2483
2484 * docs/grub.texi (Obtaining and Building GRUB): Substitute
2485 `ftp.gnu.org' for `alpha.gnu.org'.
2486
6b4e6430
CW
24872011-05-27 Colin Watson <cjwatson@ubuntu.com>
2488
2489 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
2490 partitions under /dev/disk/by-id/.
2491
c64db050
CW
24922011-05-27 Colin Watson <cjwatson@ubuntu.com>
2493
2494 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
2495 after ten consecutive open failures. Scanning all the way up to
2496 10000 is excessive and can cause serious performance problems in
2497 some configurations.
2498 Fixes Ubuntu bug #787461.
2499
245f4aba
VS
25002011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
2503 opening new one.
2504
f767c929
VS
25052011-05-21 Colin Watson <cjwatson@ubuntu.com>
25062011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 Don't stat devices unless we have to.
2509
2510 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
2511 dir == /dev/mapper.
2512 (grub_guess_root_device): Use already known os_dev if possible.
2513 * grub-core/kern/emu/hostdisk.c
2514 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
2515 if device is known to be a dm one.
2516
f35fa3a6
CW
25172011-05-20 Colin Watson <cjwatson@ubuntu.com>
2518
2519 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
2520 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
2521 Reported by: Pawel Tecza.
2522
9a79fcf2
VS
25232011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
2526 (lsefisystab): Likewise.
2527 (lssal): Likewise.
2528 (lsefimmap): Likewise.
2529 (hdparm): Enable on qemu-mips.
2530 (setjmp): Add ia64 nodist.
2531 (serial): Simplify tags.
2532
63e3eea9
CW
25332011-05-18 Colin Watson <cjwatson@ubuntu.com>
2534
2535 * Makefile.util.def (grub-ofpathname): Install manual page.
2536
09728256
CW
25372011-05-18 Colin Watson <cjwatson@ubuntu.com>
2538
2539 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
2540
8b63a142
CW
25412011-05-18 Colin Watson <cjwatson@ubuntu.com>
2542
2543 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
2544
e775d8ed
VS
25452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
2548 into dprintf.
2549
bf947d36
VS
25502011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Use full 64-bit division.
2553
2554 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
2555 (grub_divmod64): ... this.
2556 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
2557 version.
2558
b84f26c5
CW
25592011-05-18 Colin Watson <cjwatson@ubuntu.com>
2560
2561 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
2562 `source'.
2563
5626056f
CW
25642011-05-18 Colin Watson <cjwatson@ubuntu.com>
2565
2566 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
2567 to avoid accidents when debugging with 'sh -x'.
2568 * grub-core/gensyminfo.sh.in: Likewise.
2569 * tests/example_scripted_test.in: Likewise.
2570 * tests/grub_cmd_regexp.in: Likewise.
2571 * tests/grub_script_blanklines.in: Likewise.
2572 * tests/grub_script_dollar.in: Likewise.
2573 * tests/grub_script_expansion.in: Likewise.
2574 * tests/grub_script_final_semicolon.in: Likewise.
2575 * tests/partmap_test.in: Likewise.
2576 * tests/util/grub-shell-tester.in: Likewise.
2577 * tests/util/grub-shell.in: Likewise.
2578
e2965f4a
CW
25792011-05-18 Colin Watson <cjwatson@ubuntu.com>
2580
2581 Move gfxmenu color handling to video, so that gfxterm can use it
2582 too.
2583
2584 * grub-core/gfxmenu/named_colors.c: Move to ...
2585 * grub-core/video/colors.c: ... here. Rename
2586 grub_gui_get_named_color to grub_video_get_named_color.
2587 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
2588 * grub-core/video/colors.c (my_isxdigit): ... here.
2589 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
2590 Move to ...
2591 * grub-core/video/colors.c (parse_hex_color_component): ... here.
2592 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
2593 to ...
2594 * grub-core/video/colors.c (grub_video_parse_color): ... here.
2595
2596 * include/grub/gui.h (grub_gui_color_t): Move to ...
2597 * include/grub/video.h (grub_video_rgba_color_t): ... here.
2598 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
2599 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
2600 * include/grub/gui.h (grub_gui_map_color): Move to ...
2601 * include/grub/video.h (grub_video_map_rgba_color): ... here.
2602 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
2603 to ...
2604 * include/grub/video.h (grub_video_get_named_color): ... here.
2605 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
2606 * include/grub/video.h (grub_video_parse_color): ... here.
2607
2608 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
2609 video/colors.c.
2610 (gfxmenu): Remove gfxmenu/named_colors.c.
2611 (video) [videomodules]: Add video/colors.c.
2612
2613 Add a background_color command.
2614
2615 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
2616 function.
2617 (GRUB_MOD_INIT): Register background_color command.
2618 (GRUB_MOD_FINI): Unregister background_color command.
2619 (redraw_screen_rect): Allow blend/replace of text layer to be
2620 controlled independently from whether there is a background bitmap.
2621 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
2622 changing bitmap.
2623
1e4b4390
VS
26242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2625
26618ff0
VS
2626 Patch BPB in ntldr and chainloader --bpb.
2627
1e4b4390
VS
2628 * grub-core/fs/fat.c: Include grub/fat.h.
2629 (grub_fat_bpb): Moved to ...
2630 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
2631 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
2632 grub/ntfs.h.
2633 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
2634 Moved from here...
2635 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
2636 here.
2637 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
2638 New function.
2639 (grub_chainloader_cmd): Patch BPB if --bpb is given.
2640 (GRUB_MOD_INIT): Show --bpb.
2641 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
2642 * grub-core/normal/main.c (features): New variable.
2643 (GRUB_MOD_INIT): Set feature_* variables.
2644 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
2645 proto.
2646 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
2647
cf02731e
VS
26482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
2651 for cleanness.
2652
e3a1073f
VS
26532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 FreeDOS direct loading support.
2656
2657 * docs/grub.texi (Supported OS): Add FreeDOS.
2658 * grub-core/Makefile.core.def (freedos): New module.
2659 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
2660 variable.
2661 (grub_relocator16_boot): Handle %ebx.
2662 * grub-core/lib/i386/relocator16.S: Likewise.
2663 * grub-core/loader/i386/pc/freedos.c: New file.
2664
05caa461
VS
26652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 Long Linux command line support.
2668
2669 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2670 (maximal_cmdline_size): New variable.
2671 (allocate_pages): Use maximal_cmdline_size.
2672 (grub_cmd_linux): Set and use maximal_cmdline_size.
2673 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2674 (allocate_pages): Use maximal_cmdline_size.
2675 (grub_cmd_linux): Set and use maximal_cmdline_size.
2676 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
2677 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
2678 and cmdline_size.
2679
a2491e23
VS
26802011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26812011-05-18 Colin Watson <cjwatson@ubuntu.com>
2682
2683 Improve devmapper support
2684
2685 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
2686 (grub_util_is_lvm): New function.
2687 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
2688 than lvm if not dmraid.
2689 Handle mapped md nodes.
2690 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
2691 (grub_util_device_is_mapped): ... this. Make always available. All users
2692 updated.
2693 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
2694 (convert_system_partition_to_system_disk): Handle lvm, mpath and
2695 dmraid nodes.
2696 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
2697
6ad6223e
VS
26982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
2701
2702 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
2703 * grub-core/modinfo.sh.in: New file.
2704 * grub-core/Makefile.core.def (modinfo.sh): New script.
2705 * util/grub-mknetdir.in: Use modinfo.sh.
2706 * util/grub-mkrescue.in: Likewise.
2707
543a8f6e
VS
27082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2711 Fix potential usage of Elf32 instead of Elf64 when compiling on
2712 32-bit architecture. Add endianness macros while on it.
2713
4959e111
VS
27142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 Use mipsel- rather than mips- in directories involving mipsel ports to
2717 allow both endiannesses coexist.
2718
2719 * configure.ac: proparate target_cpu=mipsel rather than resetting to
2720 mips. All conditions adjusted.
2721 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
2722 variable.
2723 * util/grub-install.in: Adjust conditions to take renaming into account.
2724 * util/grub-mkimage.c (image_targets): Likewise. New target
2725 mips-qemu_mips-elf for bigendian mips.
2726
35341bbc
VS
27272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Avoid unnecessary copying on MIPS.
2730
2731 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
2732 early if src == dest.
2733 * util/grub-mkimage.c (generate_image): Arange for src == dest if
2734 compression is none.
2735
b772baed
VS
27362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 Reduce memory footprint on SGI by putting modules before the kernel
2739 as opposed to after.
2740
2741 * grub-core/Makefile.core.def (kernel): Increase linking address.
2742 (none_decompress): Likewise.
2743 (xz_decompress): Likewise.
2744 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
2745 address.
2746 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
2747 layout change.
2748 (grub_arch_modules_addr): New function.
2749 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
2750 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
2751 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
2752 here.
2753 * grub-core/kern/mips/startup.S (total_size): Rename to ...
2754 (grub_total_modules_size): ... this. Make global.
2755 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
2756 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
2757 New definition.
2758 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
2759 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
2760 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
2761 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
2762 * util/grub-mkimage.c (image_target_desc): New flag
2763 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
2764 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
2765 (generate_image): Handle images with modules before kernel.
2766
566a1917
VS
27672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 Prevent potential loss of memory map by overwrite on qemu-mips.
2770
2771 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2772 Save ram size in $s4.
2773 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
2774 All users changed to grub_arch_memsize.
2775 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
2776 Loongson.
2777 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
2778 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
2779 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
2780 external variable.
2781
5d420cd9
CW
27822011-05-17 Colin Watson <cjwatson@ubuntu.com>
2783
2784 * .bzrignore: Remove grub-dumpbios.
2785
d064b830
CW
27862011-05-17 Colin Watson <cjwatson@ubuntu.com>
2787
2788 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
2789 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
2790 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
2791 existing options which append).
2792 * docs/grub.texi (Simple configuration): Document new options.
2793 Reported by: Ian Jackson. Fixes Debian bug #617538.
2794
3ca2b466
CW
27952011-05-17 Colin Watson <cjwatson@ubuntu.com>
2796
2797 * util/grub-fstest.c (cmd_cat): New function.
2798 (fstest): Handle CMD_CAT.
2799 (options): Add cat.
2800 (argp_parser): Handle cat.
2801
24c9143a
CW
28022011-05-17 Colin Watson <cjwatson@ubuntu.com>
2803
2804 * Makefile.util.def (grub-bin2h): Don't install.
2805 * docs/man/grub-bin2h.h2m: Remove.
2806
90f7ac19
VS
28072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
2810 place.
2811
8d4a5178
VS
28122011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 Reenable qemu-mips port.
2815
2816 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
2817 Fix small arc bug while on it.
2818 * gentpl.py: Handle qemu_mips.
2819 * grub-core/Makefile.am: Likewise.
2820 * grub-core/Makefile.core.def: Likewise.
2821 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
2822 inappropriate includes.
2823 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
2824 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
2825 * grub-core/kern/main.c (grub_modules_get_end)
2826 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
2827 * grub-core/kern/mips/qemu-mips: Moved to ..
2828 * grub-core/kern/mips/qemu_mips: ... this.
2829 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
2830 (grub_machine_init): Call terminfo_init and serial_init.
2831 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
2832 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2833 New variable.
2834 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
2835 parameter passing.
2836 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
2837 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
2838 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2839 * include/grub/mips/qemu_mips/cmos.h: New file.
2840 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
2841 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
2842 Removed.
2843 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
2844 Use correct mips-style address.
2845 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
2846 (GRUB_TICKS_PER_SECOND): Removed.
2847 (grub_get_rtc): Likewise.
2848 (grub_cpu_idle): Likewise.
2849 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
2850 New definition.
2851 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
2852 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
2853 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
2854 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
2855 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2856 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2857 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
2858 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
2859
400b9371
VS
28602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 SGI ARCS port.
2863
2864 * Makefile.util.def (libgrubmods.a): Add dvh.c.
2865 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
2866 platforms.
2867 * configure.ac: New target mips-arc.
2868 * gentpl.py: Likewise.
2869 * grub-core/Makefile.am: Likewise.
2870 * grub-core/Makefile.core.def: Likewise.
2871 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
2872 (none_decompress): Likewise.
2873 (lsdev): New module.
2874 (datetime): Use lib/arc/datetime.c on ARC.
2875 (part_dvh): New module.
2876 * grub-core/commands/arc/lsdev.c: New file.
2877 * grub-core/disk/arc/arcdisk.c: Likewise.
2878 * grub-core/kern/mips/arc/init.c: Likewise.
2879 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
2880 aligned addresses.
2881 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
2882 support.
2883 (grub_arch_dl_relocate_symbols): Likewise.
2884 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
2885 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
2886 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
2887 platforms.
2888 * grub-core/lib/arc/datetime.c: New file.
2889 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
2890 pci.h on non-loongson.
2891 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
2892 (grub_linux_boot): Set unused registers to 0.
2893 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
2894 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
2895 * grub-core/mmap/mips/uppermem.c: ...here.
2896 * grub-core/partmap/dvh.c: New file.
2897 * grub-core/term/arc/console.c: Likewise.
2898 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
2899 (grub_terminfo_set_current): Add terminal "arc".
2900 (grub_terminfo_readkey): Support ARC sequences.
2901 * include/grub/arc/arc.h: New file.
2902 * include/grub/arc/console.h: Likewise.
2903 * include/grub/disk.h (grub_disk_dev_id): Add
2904 GRUB_DISK_DEVICE_ARCDISK_ID.
2905 * include/grub/mips/arc/kernel.h: New file.
2906 * include/grub/mips/arc/memory.h: Likewise.
2907 * include/grub/mips/arc/time.h: Likewise.
2908 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
2909 * include/grub/mips/kernel.h (grub_halt): ... here.
2910 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
2911 here...
2912 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
2913 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
2914 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
2915 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
2916 proto.
2917 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
2918 from here ...
2919 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
2920 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
2921 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
2922 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
2923 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
2924 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
2925 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
2926 (grub_phys_addr_t): Moved from here ...
2927 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
2928 (grub_vtop): Moved from here ...
2929 * include/grub/mips/memory.h (grub_vtop): ... here.
2930 (grub_map_memory): Moved from here ...
2931 * include/grub/mips/memory.h (grub_map_memory): ... here.
2932 (grub_unmap_memory): Moved from here ...
2933 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
2934 (grub_machine_mmap_iterate): Moved from here ...
2935 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
2936 (grub_mmap_get_lower): Moved from here ...
2937 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
2938 (grub_mmap_get_upper): Moved from here ...
2939 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
2940 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2941 here ...
2942 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2943 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
2944 here ...
2945 * include/grub/mips/time.h (grub_get_rtc): ... here.
2946 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2947 here ...
2948 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2949 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
2950 here ...
2951 * include/grub/mips/time.h (grub_cpu_idle): ... here.
2952 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
2953 definition.
2954 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
2955 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
2956 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
2957 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
2958 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2959 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2960 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
2961 (GRUB_MACHINE_LINK_ADDR): Likewise.
2962 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
2963 to 6.
2964 * util/grub-install.in: Run dvhtool on ARC.
2965 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 2966 (generate_image): Handle ECOFF output for mips-arc.
400b9371 2967
c8ecc840
VS
29682011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
2971 blocks.
2972
153a4b55
VS
29732011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
2976 after enabling port.
2977
ff44d107
VS
29782011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 Skip incorrect USB devices.
2981
2982 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
2983 configcnt == 0.
2984 * include/grub/usb.h (grub_usb_err_t): New enum value
2985 GRUB_USB_ERR_BADDEVICE.
2986
638dbe4f
VS
29872011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 Fuloong video init support.
2990
2991 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
2992 well.
2993 (grub_vga_read_arx): New function.
2994 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
2995 definition.
2996 (framebuffer): New members io, mmioptr and mmiobase.
2997 (read_sis_cmd): New function.
2998 (write_sis_cmd): Likewise.
2999 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
3000 rather than 640x400.
3001 * grub-core/video/sis315_init.c: New file.
3002
c3fc520c
VS
30032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
3006 non-loongson.
3007 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
3008 to grub_dl_register_symbol.
3009
67b1e5c9
VS
30102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 Fix compilation errors.
3013
3014 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
3015 potentially unused.
3016 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
3017 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
3018 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
3019 to loongson machines.
3020
b756f75f
VS
30212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 Several FS mtime support.
3024
3025 * grub-core/fs/affs.c (grub_affs_time): New struct.
3026 (grub_affs_file): New field mtime.
3027 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
3028 type. Removed 'size'. New field 'di'. All users updated.
3029 (grub_affs_mount): Simplify checsum checking.
3030 (grub_affs_iterate_dir): New helper grub_affs_create_node.
3031 (grub_affs_dir): Handle mtime.
3032 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
3033 (grub_cpio_dir): Likewise.
3034 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
3035 (grub_hfs_filerec): New field mtime.
3036 (grub_hfs_dir): Handle mtime.
3037 (grub_hfs_mtime): New function.
3038 (grub_hfs_fs): Register grub_hfs_mtime.
3039 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
3040 (grub_iso9660_dir): New field mtime.
3041 (grub_fshelp_node): New field dirent.
3042 (iso9660_to_unixtime): New function.
3043 (iso9660_to_unixtime2): Likewise.
3044 (grub_iso9660_read_symlink): Use node->dirent.
3045 (grub_iso9660_iterate_dir): Likewise.
3046 (grub_iso9660_dir): Set mtime.
3047 (grub_iso9660_mtime): New function.
3048 (grub_iso9660_fs): Register grub_iso9660_mtime.
3049 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
3050 (grub_jfs_inode): New fields atime, ctime and mtime.
3051 (grub_jfs_dir): Set mtime.
3052 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3053 * grub-core/fs/ntfs.c (list_file): Set mtime.
3054 (grub_ntfs_dir): Likewise.
3055 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
3056 (grub_reiserfs_iterate_dir): Set mtime.
3057 (grub_reiserfs_dir): Likewise.
3058 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
3059 (grub_fshelp_node): Likewise.
3060 (grub_sfs_iterate_dir): Set mtime.
3061 (grub_sfs_dir): Likewise.
3062 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
3063 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
3064 (grub_xfs_inode): New fields atime, mtime, ctime.
3065 (grub_xfs_dir): Set mtime.
3066 * include/grub/datetime.h (grub_datetime2unixtime): New function.
3067 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
3068 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
3069
3070 Support UDF symlinks.
3071
3072 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
3073 (grub_ufs_read_symlink): New function. All users updated.
3074
3075 Check amiga partmap checksum.
3076
3077 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
3078 (grub_amiga_partition): Likewise.
3079 (amiga_partition_map_checksum): New function.
3080 (amiga_partition_map_iterate): Check checksum.
3081
5470225d
VS
30822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 ROMFS support.
3085
3086 * Makefile.util.def (libgrubmods.a): Add romfs.
3087 * grub-core/Makefile.core.def (romfs): New module.
3088 * grub-core/fs/romfs.c: New file.
3089
d4680a35
VS
30902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 Squashfs v4 support.
3093
3094 * Makefile.util.def (libgrubmods.a): Add squash4.
3095 * grub-core/Makefile.core.def (squash4): New module.
3096 * grub-core/fs/squash4.c: New file.
3097 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
3098 disk_input_start, disk_input.
3099 (get_byte): Handle disk_input.
3100 (grub_zlib_disk_read): New function.
3101 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
3102
bcb18e74
FZ
31032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
31042011-05-15 Feiran Zheng <famcool@gmail.com>
3105
3106 * Makefile.util.def (libgrubmods.a): Add minix3.
3107 * grub-core/Makefile.core.def (minix3): New module.
3108 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
3109 (GRUB_MINIX_BSIZE): Removed.
3110 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
3111 (grub_minix_ino_t): New type.
3112 (grub_minix_le_to_cpu_ino): New macro.
3113 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
3114 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
3115 (grub_minix_data): New field block_size.
3116 (grub_minix_read_file): Handle 64-bit correctly.
3117 * grub-core/fs/minix3.c: New file.
3118
32297d5f
TG
31192011-05-15 Tristan Gingold <gingold@free.fr>
31202011-05-15 Robert Millan <rmh.grub@aybabtu.com>
31212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 IA64 support.
3124
3125 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
3126 * configure.ac: Add ia64-efi target.
3127 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
3128 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
3129 * gentpl.py: Add ia64_efi platform.
3130 Rename x86_efi to efi and Add ia64-efi. All users updated.
3131 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
3132 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
3133 Remove kern/generic/rtc_get_time_ms.c on EFI.
3134 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
3135 kern/ia64/dl_helper.c on ia64-efi.
3136 Add kern/emu/cache.c on emu.
3137 (linux): Use on loader/ia64/efi/linux.c on ia64.
3138 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
3139 whether symbol is a function.
3140 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
3141 (grub_symbol): New field 'isfunc'.
3142 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
3143 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
3144 (grub_dl_load_segments): Place all sections into the same region.
3145 [__ia64__]: Create trampolines and got.
3146 [GRUB_MACHINE_EMU]: Call mprotect.
3147 (grub_dl_resolve_symbols): Resolve symbol type as well.
3148 [__ia64__]: Create function descriptors.
3149 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
3150 (grub_rtc_get_time_ms): ... this. Expressions simplified.
3151 (grub_get_rtc): New function.
3152 * grub-core/kern/emu/cache.c [__ia64__]: New file.
3153 * grub-core/kern/emu/cache.S: Renamed to ...
3154 * grub-core/kern/emu/cache_s.S: ... this.
3155 [__ia64__]: Add a nop.
3156 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
3157 [__ia64__]: New function.
3158 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
3159 * grub-core/kern/ia64/dl.c: New file.
3160 * grub-core/kern/ia64/dl_helper.c: Likewise.
3161 * grub-core/kern/ia64/efi/init.c: New file.
3162 * grub-core/kern/ia64/efi/startup.S: Likewise.
3163 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
3164 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
3165 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
3166 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
3167 * grub-core/loader/ia64/efi/linux.c: New file.
3168 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
3169 (GRUB_MOD_DEP): Likewise.
3170 (grub_dl) [__ia64__]: New fields got and tramp.
3171 (grub_dl): New field 'base'.
3172 (grub_dl_register_symbol): New argument isfunc. All users updated.
3173 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
3174 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
3175 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
3176 (grub_ia64_dl_get_tramp_got_size): New proto.
3177 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
3178 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
3179 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
3180 * include/grub/efi/api.h: Skip call wrappers on ia64.
3181 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
3182 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
3183 * include/grub/elf.h (ELF_ST_INFO): New definition.
3184 * include/grub/ia64/efi/kernel.h: New file.
3185 * include/grub/ia64/efi/memory.h: Likewise.
3186 * include/grub/ia64/efi/time.h: Likewise.
3187 * include/grub/ia64/kernel.h: Likewise.
3188 * include/grub/ia64/setjmp.h: Likewise (from glibc).
3189 * include/grub/ia64/time.h: New file.
3190 * include/grub/ia64/types.h: Likewise.
3191 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
3192 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
3193 New protos.
3194 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
3195 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3196 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
3197 * util/grub-mkimage.c (image_target_desc): New field pe_target.
3198 All users updated.
3199 (EFI64_HEADER_SIZE): New definition. All users updated.
3200 (image_targets): Add ia64-efi.
3201 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
3202 jumpers_addr. All users updated.
3203 Create function descriptors.
3204 (count_funcs): New function.
3205 (unaligned_uint32): New struct.
3206 (MASK20): New definition.
3207 (MASK19): Likewise.
3208 (MASKF21): Likewise.
3209 (add_value_to_slot_20b): New function.
3210 (add_value_to_slot_21_real): Likewise.
3211 (add_value_to_slot_21): Likewise.
3212 (ia64_kernel_trampoline): New struct.
3213 (nopm): New variable.
3214 (jump): Likewise.
3215 (make_trampoline): New function.
3216 (relocate_addresses): Handle ia64.
3217 (make_reloc_section): Likewise.
3218 (load_image): Likewise.
3219
983b414d
VS
32202011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
3223 warning. Move variables before code while on it.
3224
5d063cdc
VS
32252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 Fuloong support.
3228
3229 * configure.ac: Rename yeeloong platform to loongson. All users updated.
3230 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
3231 * grub-core/boot/mips/loongson/fuloong.S: New file.
3232 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
3233 Explicitly init CS5536.
3234 [FULOONG]: Don't use serial until CS5536 is available.
3235 Set GPIO based on dumps.
3236 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
3237 [FULOONG]: Handle GPIO and memory controller differences.
3238 Parse machine type in $a2.
3239 * grub-core/boot/mips/startup_raw.S: Determine and save the
3240 architecture.
3241 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
3242 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
3243 init on architecture type.
3244 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3245 SIS315E. Don't init at_keyboard on fuloong.
3246 (grub_halt): Support Fuloong.
3247 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
3248 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
3249 (loongson_machtypes): New array.
3250 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
3251 type.
3252 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
3253 config. All users updated. Handle CS5536 serial.
3254 * grub-core/term/serial.c (grub_serial_register): Conditionalise
3255 default port on machine type. Register serial as inactive.
3256 * grub-core/video/sis315pro.c: New file.
3257 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
3258 definition.
3259 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
3260 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
3261 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
3262 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
3263 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
3264 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
3265 to ...
3266 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
3267 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
3268 definition.
3269 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
3270 (grub_arch_machine): New extern var.
3271 * include/grub/mips/loongson/serial.h
3272 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
3273 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
3274 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
3275 (GRUB_MACHINE_SERIAL_PORT0): ... this.
3276 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
3277 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
3278 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
3279 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
3280 * include/grub/term.h (grub_term_register_input_inactive): New inline
3281 function.
3282 (grub_term_register_output_inactive): Likewise.
3283 * include/grub/video.h (grub_video_driver_id): New value
3284 GRUB_VIDEO_DRIVER_SIS315PRO.
3285 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
3286 New field "names". All users updated.
3287 New field value IMAGE_FULOONG_FLASH.
3288 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
3289
6ada82d1
JU
32902011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
3291
3292 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
3293 and add some clarification.
3294
90c571a4
VS
32952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
3298 platforms if kernel is compressed.
3299
de04eecf
VS
33002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
3303 unused modules since currently referrence counter isn't reliable and
3304 there isn't much memory to recover there anyway.
3305
57688121
VS
33062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
3309 rather than resetting it to allow modules to reference themselves
3310 in init.
3311
3d2c7e35
VS
33122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
3315 counter on dependencies since grub_dl_unref already handles this.
3316
b25db218
VS
33172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
3320 on error if not already done.
3321
25a45338
VS
33222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 Fix few potential memory misusage.
3325
3326 * grub-core/font/font.c (load_font_index): Don't free char_index to
3327 avoid double free.
b25db218
VS
3328 (grub_font_load): Zero-fill font at alloc for safety.
3329 Close file on error.
3330 (free_font): Free bmp_idx.
25a45338 3331
0cac83df
VS
33322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * docs/grub.texi (Installation): Fix several outdated claims.
3335
2217a143
VS
33362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 Handle module_license on windows.
3339
3340 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
3341 sections shifted.
3342 (insert_string): Make argument const char * instead of char *.
3343 (write_section_data): Handle long section names.
3344 Handle module_license.
3345
d4de6b01
VS
33462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
3349 handle class-free menuentries.
3350 (grub_normal_add_menu_entry): Add a check to be sure.
3351
4c2a3b43
VS
33522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
3355 PgUp and PgDown.
3356
85c6210f
VS
33572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * configure.ac: Bump version to 1.99.
3360
36084912
VS
33612011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 Give ATA device a bit more time on first try in order to allow disks
3364 to spin up.
3365
3366 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
3367 if dev->present is 1. Reset dev->present on failure.
3368 (grub_ata_device_initialize): Set dev->present to 1.
3369 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
3370 (grub_ata_device): New member 'present'.
3371
bda0e219
VS
33722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * util/grub-mkimage.c (generate_image): Update hash.
3375
19e1c41b
VS
33762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 Flush caches on DMA memory.
3379
3380 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
3381 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
3382 (grub_dma_free): Likewise.
3383 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
3384
91bbcc0c
VS
33852011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
3388 to avoid asm treating ld and sd as macros.
3389
60ddfad3
VS
33902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
3393 decompressor.
3394
a298aa04
VS
33952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
3398 grub_decompress_core since later would fail if grub_decompress_core
3399 is too far.
3400
9b44feca
VS
34012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
3404 R_MIPS_JALR since it's used by newer compiler.
3405
56dbe7b4
VS
34062011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
3409
52856af2
VS
34102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
3413 file_path to 0 for surety.
3414 (grub_chainloader_boot): Set exit_data to NULL.
3415 Unset the loader once done.
3416 (grub_cmd_chainloader): Fix confusing error message if file is empty.
3417
9c9bfc6d
VS
34182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
3421 unknown key into a dprintf.
3422
dd94a3df
VS
34232011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
3426 on first non-existant partition.
3427
fa68d99c
VS
34282011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
3431 openning fails.
3432 Reported by: Mark Korenberg.
3433
157effb7
VS
34342011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
3437 overflow.
3438
ea75312f
VS
34392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * util/grub-mkimage.c (main): Explicitely flush and sync the output
3442 before closing to ensure that it will be readable by grub-setup.
3443
072b5d31
VS
34442011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
3447 (devpath_1): Use MAKE_PIWG_PATH.
3448 (devpath_2): Likewise.
3449 (devpath_3): Likewise.
3450 (devpath_4): Likewise.
3451 (devpath_5): Likewise.
3452 (devpath_6): Likewise.
3453
3454 The appleldr.mod was checked that to be binary identical to previous
3455 version.
3456
7fae0051
Z
34572011-05-05 Zach <mikezackles>
3458
3459 Support 2010 Macbooks.
3460
3461 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
3462 (devs): Add devpath_6.
3463
7c515bee
VS
34642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
3467 /dev/random. /dev/urandom is good enough for our purposes (salting).
3468
ed660bd8
VS
34692011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
3472
ee5614b7
VS
34732011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
3476 hexadecimal.
3477
664889a6
VS
34782011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
3481 and not 0 on failure.
3482
bd405bbc
CW
34832011-05-03 Colin Watson <cjwatson@ubuntu.com>
3484
3485 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
3486 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
3487 disk; otherwise grub_fs_probe will not fall back to the next
3488 filesystem.
3489 (grub_pxefs_open): Likewise, for consistency.
3490 Reported and tested by: Ezekiel Grave.
3491
4ebff753
CW
34922011-05-03 Colin Watson <cjwatson@ubuntu.com>
3493
3494 * tests/partmap_test.in: Don't hardcode path to parted.
3495 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
3496
8f942553
CW
34972011-05-01 Colin Watson <cjwatson@ubuntu.com>
3498
3499 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
3500 of `ls' to find out which devices are available.
3501
3c62402d
VS
35022011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
3505 than source address for efi mmap buffer.
3506
723f63f2
VS
35072011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
3510 wrong action on non-detecting the magic.
3511
68797f92
VS
35122011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
3515 already supplied by another part of the module (fixes compilation on
3516 FreeBSD).
3517
6be8715d
VS
35182011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
3521 match the one used by mdadm.
3522
e91dba5b
CW
35232011-04-21 Colin Watson <cjwatson@ubuntu.com>
3524
3525 * po/README: Add instructions for creating po/LINGUAS.
3526
c85140b3
CW
35272011-04-21 Colin Watson <cjwatson@ubuntu.com>
3528
3529 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
3530 #551428.
3531
3532 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
3533 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
3534 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
3535 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3536 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
3537 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
3538 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
3539 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
3540 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
3541 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3542 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
3543 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
3544 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
3545 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
3546 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
3547 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
3548 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
3549 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
3550 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
3551 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
3552 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
3553 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
3554
92051871
CW
35552011-04-21 Colin Watson <cjwatson@ubuntu.com>
3556
3557 * grub-core/kern/emu/getroot.c
3558 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
3559 test that was incorrectly reintroduced in r3214.
3560 Reported by: Ian Dall. Fixes Savannah bug #33133.
3561
b13f79a4
CW
35622011-04-21 Colin Watson <cjwatson@ubuntu.com>
3563
3564 Fix stack pointer handling in 16-bit relocator.
3565
3566 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
3567 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
3568 Fixes Ubuntu bug #683904.
3569
9b710a88
VS
35702011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * configure.ac: Bump version to 1.99~rc2.
3573
d97e7b59
VS
35742011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
3577 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
3578 * grub-core/lib/x86_64/setjmp.S: Likewise.
3579 * grub-core/lib/mips/setjmp.S: Likewise.
3580 * grub-core/lib/powerpc/setjmp.S: Likewise.
3581 * grub-core/lib/sparc64/setjmp.S: Likewise.
3582
0624551c
VS
35832011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
3586 * grub-core/lib/efi/datetime.c: Likewise.
3587
e8f28d4c
VS
35882011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
3591 New function.
3592 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
3593 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
3594 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
3595
bba79a15
VS
35962011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
3599 bitmap.
3600 (grub_gfxterm_term_init): Likewise.
3601
abc474ef
VS
36022011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 Take into account the decorations the computing menu entry width.
3605
3606 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
3607 (grub_gfxmenu_create_box): Register get_border_width.
3608 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
3609 if available.
3610 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
3611 get_border_width.
3612
e74b3947
EP
36132011-04-18 Endres Puschner <code@e7p.de>
3614
3615 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
3616 Don't skip first class.
3617
34faa595
VS
36182011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
3621 chunks.
3622 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
3623
93a777e3
VS
36242011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 Complete 64-bit division support.
3627
3628 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
3629 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
3630 * include/grub/misc.h (grub_divmod64): Rename to ...
3631 (grub_divmod64_full): ... this.
3632 (grub_divmod64): New inline function.
3633
a5102d94
VS
36342011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * util/grub-mkimage.c (generate_image): Add forgotten comma.
3637
f3fb7b36
VS
36382011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
3641 performing the necessary test.
3642
9ac718b0
VS
36432011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
3646 (kfreebsd.elf): Likewise.
3647 (pc-chainloader.elf): Likewise.
3648 (ntldr.elf): Likewise.
3649
50d2cc5a
VS
36502011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 Identify RAID by its UUID rather than (guessed) name.
3653
3654 * grub-core/disk/raid.c (ascii2hex): New function.
3655 (grub_raid_open): Accept mduuid/%s specification.
3656 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
3657 (get_mdadm_uuid): ... this.
3658 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
3659
e03f7bea
VS
36602011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
3663 to negative size.
3664
e74c3112
CW
36652011-04-13 Colin Watson <cjwatson@ubuntu.com>
3666
3667 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
3668 btrfs subvolume.
3669 * util/grub.d/20_linux_xen.in: Likewise.
3670
78fa584f
CW
36712011-04-13 Colin Watson <cjwatson@ubuntu.com>
3672
3673 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
3674 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
3675
3676 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3677 Build a list of relevant visible mounts using the mnt_id and
3678 parent_mnt_id fields, and then scan that list at the end.
3679
9d5f8162
CW
36802011-04-12 Colin Watson <cjwatson@ubuntu.com>
3681
3682 * docs/grub.texi (normal): New section.
3683 (normal_exit): New section.
3684 (Embedded configuration): Add reference to normal.
3685 (GRUB only offers a rescue shell): Likewise.
3686 * docs/grub-dev.texi (Error Handling): Fix typo.
3687
09a9d66f
CW
36882011-04-12 Colin Watson <cjwatson@ubuntu.com>
3689
3690 * NEWS: Drop obsolete entry about probe-only btrfs support.
3691
0c676933
CW
36922011-04-12 Colin Watson <cjwatson@ubuntu.com>
3693
3694 * util/import_gcry.py: Fix typo.
3695
ec9f5e0d
VS
36962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * NEWS: Add btrfs support.
3699
fe6b2cba
VS
37002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
37012011-04-11 Colin Watson <cjwatson@ubuntu.com>
3702
3703 BtrFS support. Written by me (Vladimir) with important bugfixes and
3704 even more important testing by Colin.
3705
3706 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
3707 * grub-core/Makefile.core.def (btrfs): Add crc.c.
3708 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
3709 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
3710 mem_input_off and mem_input. All users updated to accept in-RAM input.
3711 (gzio_seek): New function.
3712 (test_zlib_header): Likewise.
3713 (grub_gzio_read): Likewise.
3714 (grub_zlib_decompress): Likewise.
3715 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
3716 Accept partial and non-virtual mounts.
3717 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
3718 avoid receiving /dev/dm-X as device.
3719 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
3720 Handle bind and partial mounts.
3721 * grub-core/lib/crc.c: New file.
3722 * include/grub/deflate.h: Likewise.
3723 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
3724 proto.
3725 * include/grub/lib/crc.h: New file.
3726
e745cf0c
VS
37272011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 Implement automatic module license checking according to new GNU
3730 guidelines.
3731
3732 * grub-core/kern/dl.c (grub_dl_check_license): New function.
3733 (grub_dl_load_core): Use grub_dl_check_license.
3734 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
3735 (GRUB_MOD_LICENSE): Likewise.
3736 (GRUB_MOD_DUAL_LICENSE): Likewise.
3737 All modules updated.
3738
2a9bc016
CW
37392011-04-11 Colin Watson <cjwatson@ubuntu.com>
3740
3741 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
3742 reserved_first_sector to 1. btrfs reserves plenty of space for boot
3743 loaders.
3744 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
3745
8a3bc88e
VS
37462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
3749
af869a4a
VS
37502011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * util/grub-fstest.c (read_file): Report GRUB error if file opening
3753 failed.
3754
9ee8d94f
VS
37552011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/kern/file.c (grub_file_open): Don't take into account the
3758 parenthesis in the middle of the filename.
3759
b01abe3e
VS
37602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
3763 rather than trying to put initrd way too high.
3764 Reported by: Ryan Lortie <desrt@desrt.ca>
3765
335bda1e
VS
37662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
3769 improperly removed string.
3770
5ca1a64d
VS
37712011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
3774 is_disk.
3775 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
3776 (open_device) Likewise.
3777 (grub_util_biosdisk_close): Likewise.
d8ce9995 3778 Reported by: Mark Korenberg.
5ca1a64d 3779
cbac5b1e
AK
37802011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
3781
3782 * util/grub-mkconfig_lib.in: Add missing quotes.
3783
088cdb65
CW
37842011-04-10 Colin Watson <cjwatson@ubuntu.com>
3785
3786 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
3787 is NULL.
3788
8b8a81fa
VS
37892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 Dynamically count the number of lines for the lower banner.
3792
3793 * grub-core/normal/menu_entry.c (per_term_screen): New member
3794 num_entries.
3795 (print_down): Use num_entries.
3796 (update_screen): Likewise.
3797 (grub_menu_entry_run): Set num_entries.
3798 * grub-core/normal/menu_text.c (menu_viewer_data): New member
3799 num_entries.
3800 (grub_print_message_indented): Move real part to ...
3801 (grub_print_message_indented_real): ... here. Additional argument
3802 dry_run.
3803 (draw_border): Additional argument num_entries.
3804 (print_message): Additional argument dry_run.
3805 (print_entries): Receive menu viewer data.
3806 (grub_menu_init_page): New argment num_entries.
3807 (menu_text_set_chosen_entry): Use num_entries.
3808 (grub_menu_try_text): Likewise.
3809 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
3810 All users updated.
3811 (grub_ucs4_count_lines): New function.
3812 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
3813 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
3814 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
3815 (grub_term_border_height): Likewise.
3816 (grub_term_num_entries): Likewise.
3817
277f955b
VS
38182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
3821 Remove now unused string.
3822
536ce85a
CW
38232011-04-09 Colin Watson <cjwatson@ubuntu.com>
3824
3825 * docs/grub-dev.texi (Finding your way around): Update for 1.99
3826 build system.
3827 (Getting started): GRUB is developed in Bazaar now, not Subversion.
3828
3829 (Comment): Fix typo.
3830 (Getting started): General copy-editing.
3831 (Typical Development Experience): Likewise.
3832 (Error Handling): Likewise.
3833 (Video API): Likewise.
3834
2cf09e32
CW
38352011-04-09 Colin Watson <cjwatson@ubuntu.com>
3836
3837 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
3838 throughout.
3839
1ec652f4
VS
38402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * util/grub-mkimage.c (main): Handle special naming of yeeloong
3843 directory.
3844
2c583728
CW
38452011-04-08 Colin Watson <cjwatson@ubuntu.com>
3846
3847 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
3848 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
3849 "development".
3850
d7a565e9
VS
38512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
3854 grub_strcpy since the lines aren't necessarily 0-terminated.
3855
7c2e4909
VS
38562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
3859 root on legacy.
3860
34c09785
VS
38612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/commands/probe.c (options): Argument to set isn't optional.
3864 (GRUB_MOD_INIT): DEVICE isn't optional.
3865
6a6f8058
VS
38662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
3869 word on new line if it's too long anyway. Fixes a hang.
3870
2e335e90
VS
38712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
3874 const.
3875 * util/grub-setup.c (main): Reuse md device name if available.
3876 * util/raid.c (grub_util_raid_getmembers): Receive device name and
3877 not GRUB name as argument.
3878 Based on patch by: Florian Wagner <fwagner>.
3879
10a7a867
VS
38802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3883 Place mbi on low memory for better compatibility.
3884
7a3d6cd9
VS
38852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
3888
18dd6b47
VS
38892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
38902011-04-08 Colin Watson <cjwatson@ubuntu.com>
3891
3892 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 3893 * conf/Makefile.common: Likewise.
18dd6b47 3894
3c0e3f14
VS
38952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3896
f7148863
VS
3897 * grub-core/normal/menu.c: Add missing include.
3898
38992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 3902
6d1fa41f
MZ
39032011-04-08 Martin Zuther <mzuther@mzuther.de>
3904
3905 * util/grub-mkconfig.in: Ignore emacsen backup.
3906
478182a8
VS
39072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
3910 on open.
3911 (grub_util_biosdisk_close): Likewise.
3912
72a89a54
VS
39132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
3916 const attribute and use grub_isdigit.
3917
b5ebecfa
A
39182011-04-06 Andrey <dev_null@ukr.net>
3919
3920 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
3921 gcc warning.
3922
7755f66e
VS
39232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
3926 useful grub_dprintf's.
3927
461121ff
VS
39282011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
3931
2a961775
VS
39322011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
3935
adf594cc
VS
39362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 Output errors if theme loading failed.
3939
3940 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
3941 grub_gfxterm_fullscreen on error paths to ...
3942 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
3943 theme loading error.
3944
665900a3
VS
39452011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
3948 space for older compilers.
3949 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3950
a562b479
VS
39512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
3954 and report them as not RAID members since they are useless for GRUB.
3955 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3956
850e9373
VS
39572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 Increase LVM implementation robustness in order not to crash on
3960 configurations like pvmove. Previously code assumed that in some places
3961 only lvs or only pvs are used whereas it seems that they are used
3962 interchangeably.
3963
3964 * grub-core/disk/lvm.c (read_node): New function.
3965 (read_lv): Use read_node.
3966 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
3967 Match volumes only at the end when all lvs are found. Take both
3968 pvs (first) and lvs (second) into account.
3969 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
3970 mirror_* into node_*. All users updated.
3971 (grub_lvm_stripe): Merge this ...
3972 (grub_lvm_mirror): ... and this ...
3973 (grub_lvm_node): ... into this. All users updated.
3974
6f332153
VS
39752011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
3978 of function to allow further scanning for LVMs.
3979
829ea451
VS
39802011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
3983 on failed seek as it breaks open fd reusage.
3984
09ceb9a5
VS
39852011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * util/grub-install.in: Add a recommendation to use --recheck before
3988 reporting bugs.
3989
67e11623
VS
39902011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
3993 are obtained.
3994
caee5efd
VS
39952011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 GRUB developper manual based on existing Internals section and
3998 contributions by the various authors with active copyright assignment.
3999
4000 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
4001 * docs/font_char_metrics.png: New file.
4002 * docs/font_char_metrics.txt: Likewise.
4003 * docs/grub-dev.texi: Likewise.
4004 * docs/grub.texi (Internals): Move from here ...
4005 * docs/grub-dev.texi: ... here.
4006
2cccc747
CW
40072011-04-01 Colin Watson <cjwatson@ubuntu.com>
4008
4009 Store the loopback device as data on loopback grub_disk structures,
4010 rather than the file it points to. This fixes use of freed memory
4011 if an existing loopback device is replaced.
4012
4013 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
4014 disk->data, not dev->file.
4015 (grub_loopback_read): Adjust file assignment to match.
4016 Fixes Ubuntu bug #742967.
4017
186ae367
CW
40182011-04-01 Colin Watson <cjwatson@ubuntu.com>
4019
4020 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
4021 when replacing an existing device.
4022
cfed2ad0
VS
40232011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
4026 memory corruptions.
4027
4028 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
4029 unsigned.
4030 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
4031 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
4032 (grub_jfs_read_inode): Likewise.
4033 (grub_jfs_opendir): Likewise. Remove now useless casts.
4034 (grub_jfs_getent): Likewise.
4035 Make ino a grub_uint32_t rather than int.
4036 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
4037 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
4038 division and module with bit operations.
4039 (grub_jfs_find_file): Make ino a grub_uint32_t.
4040 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
4041
05d2ed32
CW
40422011-04-01 Colin Watson <cjwatson@ubuntu.com>
4043
4044 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
4045 warning. (This was in fact always initialised before use, but GCC
4046 wasn't smart enough to prove that.)
4047 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4048
91dc6073
VS
40492011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
4052 stack alignment.
4053 (efi_wrap_1): Likewise.
4054 (efi_wrap_2): Likewise.
4055 (efi_wrap_3): Likewise.
4056 (efi_wrap_4): Likewise.
4057 (efi_wrap_5): Likewise.
4058 (efi_wrap_6): Likewise.
4059 (efi_wrap_10): Likewise.
4060 Based on information by: Red Hat/Peter Jones.
4061
a8afc1d1
CW
40622011-03-31 Colin Watson <cjwatson@ubuntu.com>
4063
4064 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
4065 set-but-not-used variable.
4066
a826cc7d
CW
40672011-03-31 Colin Watson <cjwatson@ubuntu.com>
4068
4069 * docs/grub.texi (Simple configuration): Be more explicit about
4070 GRUB_DEFAULT, and add an example.
4071 Reported by: Leslie Rhorer.
4072
875b67ba
CW
40732011-03-30 Colin Watson <cjwatson@ubuntu.com>
4074
4075 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
4076 shell".
4077
fd7cd914
AS
40782011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4079
4080 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
4081 * util/grub.d/20_linux_xen.in: Likewise.
4082
090b1b6a
VS
40832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * util/grub.d/10_linux.in: Try alternative config filenames where
4086 we parse config file.
4087 * util/grub.d/20_linux_xen.in: Likewise.
4088
baad885c
AS
40892011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4090
4091 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
4092 * util/grub.d/20_linux_xen.in: Likewise.
4093
241e41f5
VS
40942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * grub-core/disk/raid.c (insert_array): Add few potentially
4097 useful grub_util_info.
4098 (grub_raid_register): Likewise.
4099
56445fb2
VS
41002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
4103 Preserve partition number in mdadm code path.
4104
c871b1c6
VS
41052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
4108 few potentially useful grub_util_info.
4109
5e631b4f
CW
41102011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
4113
2d5d0333
CW
41142011-03-30 Colin Watson <cjwatson@ubuntu.com>
4115
4116 * docs/grub.texi (default): Use @example rather than nested
4117 itemized lists to avoid breaking gendocs.
4118
3d7ed04e
CW
41192011-03-30 Colin Watson <cjwatson@ubuntu.com>
4120
4121 * docs/grub.texi (Future): Update.
4122
abf04200 41232011-03-30 Colin Watson <cjwatson@ubuntu.com>
4124
4125 * docs/grub.texi (Environment): New chapter.
4126 (Changes from GRUB Legacy): Link to "Environment block" section for
4127 details of limitations.
4128 (Simple configuration): Likewise. Link to documentation of gfxmode
4129 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
4130 respectively.
4131 (Shell-like scripting): Note that normal variables are stored in the
4132 environment.
4133 (gettext): Link to documentation of lang and locale_dir.
4134 (list_env): New section.
4135 (load_env): New section.
4136 (save_env): New section.
4137
4138 (Reporting bugs): Fix typo.
4139
e1ad0edd
VS
41402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
4143 the example.
4144
5d803174
VS
41452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/term/at_keyboard.c (set_scancodes)
4148 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
4149
2a2da1d0
CW
41502011-03-30 Colin Watson <cjwatson@ubuntu.com>
4151
4152 * docs/grub.texi (Menu-specific commands): Remove some semantics
4153 that were true in GRUB Legacy but not in GRUB 2.
4154 (submenu): New section.
4155 (false): New section.
4156 (read): New section.
4157 (true): New section.
4158
a7527639
CW
41592011-03-30 Colin Watson <cjwatson@ubuntu.com>
4160
4161 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
4162
41632011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
4164
4165 * docs/grub.texi (Simple configuration): Explain some of the
4166 current limitations of grub-mkconfig.
8a748df2 4167 Reported by: Leslie Rhorer.
e30af029 4168
fc858482
VS
41692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 Old macs search for boot.efi rather than for bootia32.efi.
4172
4173 * util/grub-install.in: Copy bootia32.efi to boot.efi.
4174 * util/grub-mkrescue.in: Likewise.
4175 Suggested by: Peter Jones.
4176
e1eb511d
VS
41772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
4180
70e75364
VS
41812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
4184 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
4185 (grub_lvm_mirror): New struct.
4186 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
4187 (grub_lvm_iterate): Iterate only visible volumes.
4188 (grub_lvm_read): Factor out to ..
4189 (read_lv): ... this. Support mirrors.
4190 (grub_lvm_read): New wrapper function.
4191 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
4192 stripped or mirrored.
4193
fc18f6a3
VS
41942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
4197
5c650f4c
CW
41982011-03-29 Colin Watson <cjwatson@ubuntu.com>
4199
4200 * docs/grub.texi (loopback): New section.
4201
61d7156b
CW
42022011-03-29 Colin Watson <cjwatson@ubuntu.com>
4203
4204 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
4205 removed -p option.
4206
994b8264
CW
42072011-03-29 Colin Watson <cjwatson@ubuntu.com>
4208
4209 * docs/grub.texi (BIOS installation): New section, partly based on
4210 previous text in other sections.
4211 (Installing GRUB using grub-install): Replace BIOS discussion with a
4212 cross-reference.
4213 (Images): Likewise.
4214
9e4d19e0
VS
42152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/kern/emu/hostdisk.c (find_partition_start)
4218 [HAVE_DIOCGDINFO]: Add safety checks.
4219
a307c0b2
VS
42202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
4223 per default compiled in kernel and prior to 8.0 isn't shipped at all.
4224
b4db4f39
CW
42252011-03-29 Colin Watson <cjwatson@ubuntu.com>
4226
4227 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
4228 real_sb->size is zero (e.g. RAID-0), get the disk size from
4229 real_sb->data_size instead.
4230 Fixes Ubuntu bug #743136.
4231
35e5f84c
VS
42322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
4235 printf clauses for printing size and start.
4236
d2e29d81
VS
42372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
4240 Reported and tested by: Timothy Nikkel.
4241
ed5587af
VS
42422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
4245 (dirty_region_add_real): ... this.
4246 (dirty_region_add): Don't discard margin refresh when performing
4247 scheduled repaint.
4248
a1dc717c
VS
42492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/lib/relocator.c (allocate_regstart)
4252 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
4253 terminals are capabple of malloc-free operation.
4254 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4255 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4256
9f3677d3
VS
42572011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
4258
4259 * util/grub-setup.c: Copy the partition table zone if floppy support
4260 is disabled, even if no partition table is found.
4261
4262 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
4263 during POST if an invalid partition table is contained in the PBR
4264 of the active partition when GRUB is installed to a partition.
4265
24148725
CW
42662011-03-28 Colin Watson <cjwatson@debian.org>
4267
4268 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
4269 comment.
4270
f329eda7
CW
42712011-03-28 Colin Watson <cjwatson@debian.org>
4272
4273 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
4274 to be specific about what kind of RAID device we're scanning for.
4275
c482ad98
SG
42762011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
4277
4278 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
4279 return freed string.
4280
5ee04984
VS
42812011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
4284
f4727da9
VS
42852011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 Use libgeom on FreeBSD to detect partitions.
4288
4289 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
4290 (grub-mkrelpath): Likewise.
4291 (grub-script-check): Likewise.
4292 (grub-editenv): Likewise.
4293 (grub-mkpasswd-pbkdf2): Likewise.
4294 (grub-fstest): Likewise.
4295 (grub-mkfont): Likewise.
4296 (grub-mkdevicemap): Likewise.
4297 (grub-probe): Likewise.
4298 (grub-setup): Likewise.
4299 (grub-ofpathname): Likewise.
4300 (grub-mklayout): Likewise.
4301 (example_unit_test): Likewise.
4302 (grub-menulst2cfg): Likewise.
4303 * grub-core/Makefile.core.def (grub-emu): Likewise.
4304 (grub-emu-lite): Likewise.
4305 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
4306 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
4307 define HAVE_DIOCGDINFO.
4308 (follow_geom_up) [FreeBSD]: New function.
4309 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
4310 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
4311 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
4312 unconditionally of HAVE_DIOCGDINFO.
4313
82fe6c75
VS
43142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 Fix FreeBSD compilation problem.
4317
4318 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
4319 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
4320
4c6c9431
CW
43212011-03-24 Colin Watson <cjwatson@ubuntu.com>
4322
4323 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
4324 Switch back to page zero before loading a kernel, since some kernel
4325 drivers expect that.
4326 Thanks to: Felix Kuehling.
4327
c7064d94
VS
43282011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
4331 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
4332 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
4333
3f71cded
VS
43342011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
4337 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
4338
ef6de21a
VS
43392011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
4342 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
4343 malloc is disabled.
4344
8bc66a2c
VS
43452011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
4348 for modules headers when counting the needed allocation size.
4349
5657722c
VS
43502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
4353 if no ASCII character is found to prevent crash.
4354
41a85f55
AK
43552011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
4356
4357 * grub-core/video/bitmap.c (match_extension): Ignore case.
4358
59e1e5f1
VS
43592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
4362
bd4d051a
VS
43632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * grub-core/script/parser.y: Declare "time" as valid argument.
4366
bae7fcc1
PJ
43672011-03-23 Peter Jones <pjones@redhat.com>
4368
4369 Fix incorrect assert failure reporting.
4370
4371 * grub-core/tests/example_functional_test.c (example_test): Add
4372 a failure comment.
4373 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
4374 (failure_start): ...this. Check that malloc succeeded.
4375 Don't call xvasprintf. Return failure struct.
4376 (failure_append_vtext): New function.
4377 (failure_append_text): Likewise.
4378 (add_failure): Likewise.
4379 (grub_test_assert_helper): Likewise.
4380 * include/grub/test.h (grub_test_assert_helper): New declaration.
4381 (grub_test_assert): Macro rewritten.
4382
537dc9be
VS
43832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
4386
fa3e01bf
VS
43872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
4390
b1d28404
VS
43912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
4394 into GRUB-style one.
4395
2e3e2e09
VS
43962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
4399 error and not grub_errno.
4400 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
4401
ed57e557
VS
44022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
4405 GRUB_USB_SPEED_NONE in case of failure and not the error code.
4406
d1611f01
VS
44072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * grub-core/efiemu/i386/pc/cfgtables.c
4410 (grub_machine_efiemu_init_tables): Make declaration a prototype.
4411 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
4412 (grub_xnu_unlock): Likewise.
4413 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
4414
7d4e39d6
VS
44152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
4418 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
4419 * grub-core/commands/hashsum.c (aliases): Likewise.
4420 * grub-core/commands/setpci.c (pci_registers): Likewise.
4421 * grub-core/disk/usbms.c (attach_hook): Likewise.
4422 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
4423 (zio_checksum_table): Likewise.
4424 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
4425 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
4426 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
4427 * grub-core/lib/relocator.c (leftovers): Likewise.
4428 (extra_blocks): Likewise.
4429 * grub-core/loader/i386/bsd.c (relocator): Likewise.
4430 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
4431 (modules_last): Likewise.
4432 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
4433 (devices): Likewise.
4434 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
4435 (modules_last): Likewise.
4436 * grub-core/normal/auth.c (users): Likewise.
4437 * grub-core/normal/context.c (initial_menu): Likewise.
4438 (current_menu): Likewise.
4439 * grub-core/normal/crypto.c (crypto_specs): Likewise.
4440 * grub-core/term/serial.c (grub_serial_ports): Likewise.
4441 (grub_serial_terminfo_input_template): Likewise.
4442 (grub_serial_terminfo_output_template): Likewise.
4443 (grub_serial_terminfo_input): Likewise.
4444 (grub_serial_terminfo_output): Likewise.
4445 (registered): Likewise.
4446 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
4447
40fc4659
VS
44482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
4451 grub_video_mode_type_t.
4452 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
4453 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
4454 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
4455
2da48d28
VS
44562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * util/grub-install.in: Correct the x86-64 name as x86_64.
4459
9b43bf39
CW
44602011-03-11 Colin Watson <cjwatson@ubuntu.com>
4461
4462 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
4463 initial chunk read from the kernel always includes GRUB's multiboot
4464 header, which is now outside the first sector.
4465
be1a7ce0
CW
44662011-03-09 Colin Watson <cjwatson@ubuntu.com>
4467
4468 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
4469 cached mmap_size, so that this works correctly when called multiple
4470 times.
4471 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
4472
83a3c48d
CW
44732011-03-09 Colin Watson <cjwatson@ubuntu.com>
4474
4475 * docs/grub.texi (Simple configuration): Tidy up formatting.
4476
57d75699
SJ
44772011-03-07 Szymon Janc <szymon@janc.net.pl>
4478
4479 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
4480 Set-but-not-used variable removed.
4481
028501a0
VS
44822011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 Workaround yet another IEEE1275 bug.
4485
4486 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4487 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
4488 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
4489 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
4490 is set.
4491 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4492 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
4493
d998657d
VS
44942011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
4497 error.
4498
fee7cdd4
CW
44992011-02-11 Colin Watson <cjwatson@ubuntu.com>
4500
4501 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
4502 empty, since in that case we can only generate either nothing or a
4503 syntactically invalid configuration file.
4504 Reported by: Michal Suchanek. Fixes Debian bug #612898.
4505
97286eb5
CW
45062011-02-09 Colin Watson <cjwatson@ubuntu.com>
4507
4508 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
4509 (Making a GRUB bootable CD-ROM): Likewise.
4510 (Invoking grub-mkrescue): New section.
4511 Reported by: Yann Dirson. Fixes Debian bug #612585.
4512
22b28eb3
CW
45132011-02-09 Colin Watson <cjwatson@ubuntu.com>
4514
4515 * util/grub-install.in: Remove unnecessary brackets from tr
4516 arguments.
4517 * util/grub.d/10_hurd.in: Likewise.
4518 * util/grub.d/10_kfreebsd.in: Likewise.
4519 * util/grub.d/10_linux.in: Likewise.
4520 * util/grub.d/20_linux_xen.in: Likewise.
4521 Reported by: Jamie Heilman. Fixes Debian bug #612564.
4522
7e735e43
CW
45232011-02-08 Colin Watson <cjwatson@ubuntu.com>
4524
4525 * include/grub/file.h (not_easly_seekable): Rename to ...
4526 (not_easily_seekable): ... this. Update all users.
4527
800f1881
CW
45282011-01-28 Colin Watson <cjwatson@ubuntu.com>
4529
4530 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
4531 grub-mkrescue.
4532
3281d3d6
VS
45332011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * util/grub-mkimage.c (generate_image): Refuse to create the images
4536 bigger than the actual flash (512K) in Loongson machines. 512K is also
4537 the biggest chip supported by them.
4538
3533413c
VS
45392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
4542
73ae4f4f
VS
45432011-01-22 Anthony DeRobertis <anthony@derobert.net>
4544
4545 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
4546 super_offset field.
4547
37f4f608
VS
45482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * util/grub-install.in: Ignore install device on platforms
4551 where it doesn't make sense. Always use UUIDs except on pc, efi and
4552 sparc64.
4553 Reported by: Daniel Kahn Gillmor.
4554
03a4ccb5
VS
45552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
4558
ffc8f4d8
VS
45592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
4562 (iterate_real): Don't rely on partition being non-NULL.
4563
80f23be7
VS
45642011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
4567 supported platforms. Put a compile time assert for this rather than
4568 generate a warning with 32-bit shift.
4569
5d4f4dd5
VS
45702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
4573 logical expression more readable.
4574
e489601a
VS
45752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
4578 even if some elements have a name.
4579 Reported by: Alexander GQ Gerasiov.
4580
96e0a6ea
CW
45812011-01-22 Colin Watson <cjwatson@ubuntu.com>
4582
4583 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
4584 path unreadable if `grub-probe -t abstraction' fails, for example if
4585 memberlist fails on an LVM volume group.
4586 Reported by: Darius Jahandarie.
4587
81431e2b
CW
45882011-01-22 Colin Watson <cjwatson@ubuntu.com>
4589
4590 * docs/grub.texi (Simple configuration): Document
4591 GRUB_PRELOAD_MODULES.
4592
5e79d66a
CW
45932011-01-17 Colin Watson <cjwatson@ubuntu.com>
4594
4595 * .bzrignore: Remove nonexistent grub-pbkdf2.
4596
646ada34
VS
45972011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * configure.ac: Bump version to 1.99~rc1.
4600
04360337
VS
46012011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
4604 for safety.
4605
46c9db88
VS
46062011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
4609 module.
4610
46112011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
4612
4613 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
4614
4fbf1852
VS
46152011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
4618 diskdevid.
4619
f1632d4d
VS
46202011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 Fix compilation on cygwin.
4623
4624 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
4625 -R .drectve on cygwin.
4626 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
4627 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
4628 (COND_CYGWIN): New condition.
4629 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
4630 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
4631 not @TARGET_OBJ2ELF@.
4632 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
4633 type to determine whether aux is to be used.
4634
0b5e127b
VS
46352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
4638 realpath'ed device string.
4639 Handle floppy (somewhat).
4640 Issue error in unknown case rather than garbage.
4641 Reported by: Axel Beckert.
4642
173b71e9
VS
46432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * util/grub.d/00_header.in (load_video): Handle the case when no video
4646 drivers available.
4647 Thanks to: Axel Beckert.
4648
f8f479db
VS
46492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
4652 variable. Fixes problem on big endian platforms.
4653
8fc0a245
VS
46542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
4657 It doesn't work well there.
4658
b8494fbe
VS
46592011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
4662 warning.
4663 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
4664 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
4665 counter.
4666
b44a558c
VS
46672011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 Use alias->path rather than buggy "canon".
4670
4671 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
4672 (ofdisk_hash_add): New argument curcan. All users updated.
4673
51fa856c
CW
46742011-01-11 Colin Watson <cjwatson@ubuntu.com>
4675
4676 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
4677
9da068a5
VS
46782011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
4681 loadmask before doing any calculations. Use correct type for offset.
4682 (grub_linux_load64): Likewise.
4683
86205c94
CW
46842011-01-11 Colin Watson <cjwatson@ubuntu.com>
4685
4686 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
4687 with NULL.
4688 (console_grub_equivalences_unshift): Likewise.
4689 Reported by: Daniel Dehennin.
4690
4531a206
VS
46912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
4694 (set_env_limn_ro): Likewise.
4695 (GRUB_MOD_INIT): Likewise.
4696 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
4697 ARRAY_SIZE while on it.
4698 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
4699 * grub-core/normal/context.c (grub_env_export): Move from here ...
4700 * grub-core/kern/env.c (grub_env_export): ... here.
4701 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
4702 prefix.
4703 * grub-core/kern/main.c (grub_main): Export root and prefix.
4704 * include/grub/env.h (grub_env_export): Export.
4705 Reported by: Seth Goldberg.
4706
45146057
VS
47072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4710 Take into account space used by ELF sections and multiboot palette.
4711 Reported by: Grégoire Sutre.
4712
f093110b
VS
47132011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * BUGS: New file.
4716
3395fe52
VS
47172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 Pass more appropriate video id to Linux.
4720
4721 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
4722 grub_video_get_driver_id and variable gfxpayloadforcelfb to
4723 fill have_vga.
4724 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
4725 shift params->lfb_size.
4726 * include/grub/i386/linux.h: Make an enume out of have_vga values.
4727
c2fa6cbb
VS
47282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * util/grub-menulst2cfg.c: Add missing include of misc.h.
4731
b3ff6ff0
VS
47322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
4735 separator and pass bootpath/devid even if only one of them is available.
4736 Reported by: Seth Goldberg.
4737
ae67942e
VS
47382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
4741 implementations bug on them.
4742
4743 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
4744 memory.
4745 (filter_memory_map): Likewise.
4746
d570097a
VS
47472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
4750 Reported by: nebuchadnezzar.
4751
a508e776
VS
47522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
4755 Reported by: nebuchadnezzar.
4756
dcb883b1
VS
47572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 Submenu default support.
4760
4761 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
4762 auto_boot. All users updated.
4763 Declared static.
4764 Handle chosen and default with submenus.
4765 (grub_menu_execute_with_fallback): Declared static.
4766 Don't notify failure if autobooted. Upper level does it.
4767 (menuentry_eq): New function.
4768 (get_entry_number): Use menuentry_eq.
4769 (show_menu): New parameter "autobooted". All users updated.
4770 (grub_show_menu): Likewise.
4771 * include/grub/normal.h (grub_show_menu): Likewise.
4772 * include/grub/menu.h (grub_menu_execute_entry): Removed.
4773 (grub_menu_execute_with_fallback): Likewise.
4774
6fef99b4
VS
47752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * util/grub-mklayout.c (usage): Update help text.
4778
47a77af5
VS
47792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
4782
ce6bb3ee
VS
47832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * util/grub-menulst2cfg.c (main): Trim the line.
4786
db87be2a
VS
47872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
4790 (grub_machine_init): Don't check amount of low memory as reportedly
4791 INT 12h can be broken and if low memory is too low we wouldn't have
4792 gotten into grub_machine_init anyway.
4793
c49849cc
VS
47942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
4797 (grub_machine_mmap_iterate): Take low memory into account
4798
b1969b30
VS
47992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
4802 badfs.
4803 Reported by: TiCPU.
4804
cf0eaf13
VS
48052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
4808 members errors.
4809
1f060f39
GS
48102011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4811
4812 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
4813 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
4814
a21e5672
GS
48152011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4816
4817 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
4818 openbsd and netbsd types being in part_bsd module.
4819
c88172fa
VS
48202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
4823 (_FILE_OFFSET_BITS): Likewise.
4824 Reported by: Seth Goldberg.
4825
53798c4b
GS
48262011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
4827
4828 * configure.ac: Check for libdevmapper header.
4829
e7121b69
VS
48302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
4833 avoid aliasing.
4834 (fzap_lookup): Likewise.
4835 (dnode_get): Likewise.
4836 (make_mdn): Likewise.
4837 (zfs_mount): Likewise.
4838 (fzap_iterate): Use temporary pointer to avoid aliasing.
4839 (grub_zfs_read): Likewise.
4840 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
4841 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
4842 pointers to avoid aliasing.
4843 (grub_cmd_xnu_kernel64): Likewise.
4844 (grub_xnu_load_driver): Likewise.
4845
fc836af9
VS
48462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
4849 aliasing warning.
4850 (grub_cmd_terminal_output): Likewise.
4851 Reported and tested by: Grégoire Sutre.
4852
f9f37648
VS
48532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
4856 warning.
4857 Reported and tested by: Grégoire Sutre.
4858
ec1dfd63
VS
48592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * configure.ac: Do CPU substitution even if it's specified explicitly.
4862 Reported and tested by: Alain Greppin.
4863
9462775a
VS
48642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
4867 Reported and tested by: Alain Greppin.
4868
0fd48e35
VS
48692011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 Satisfy some bison versions need for inttypes.h.
4872
4873 * grub-core/lib/posix_wrap/inttypes.h: New file.
4874 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
4875 (int16_t): Likewise.
4876 (int32_t): Likewise.
4877 (int64_t): Likewise.
4878 Reported and tested by: Alain Greppin.
4879
43f1bc83
VS
48802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
4883 Silence spurious warning.
4884 Reported and tested by: Alain Greppin.
4885
64d1f041
SJ
48862011-01-07 Szymon Janc <szymon@janc.net.pl>
4887
4888 * docs/grub.texi (Support automatic decompression): Update with xz
4889 decompression support.
4890
25953e10
SJ
48912011-01-07 Szymon Janc <szymon@janc.net.pl>
4892
4893 Improve loaders' kernel command line handling.
4894
4895 * grub-core/lib/cmdline.c: New file.
4896 * include/grub/lib/cmdline.h: Likewise.
4897 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
4898 grub_create_loader_cmdline to create kernel command line.
4899 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4900 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
4901 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
4902 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
4903 (linux): Add lib/cmdline.c on common.
4904
e72d259f
VS
49052011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
4908 inopos might be unaligned.
4909
c0cf26da
VS
49102011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4913 endian transformations.
4914 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4915 Based on report by: Doug Nazar.
4916
0ca09e6c
DN
49172011-01-07 Doug Nazar <nazard.michi@gmail.com>
4918
4919 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
4920 array->members[i].start_sector.
4921 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4922
014b6806
VS
49232011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
4926 Reported and tested by: Grégoire Sutre.
4927
415502c2
CW
49282011-01-06 Colin Watson <cjwatson@ubuntu.com>
4929
4930 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
4931 avoid causing test failures by clearing the screen.
4932
71b6a2b7
CW
49332011-01-06 Colin Watson <cjwatson@ubuntu.com>
4934
4935 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4936 Fix prefix check to handle the case where dir ends with a slash
4937 (most significantly, "/" itself).
4938 Reported by: Michael Vogt.
4939
b3f8d28a
VS
49402011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 Run terminfo_cls on initing terminfo output to clear the screen and
4943 move the cursor to (0,0).
4944
4945 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
4946 Call grub_terminfo_output_init.
4947 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
4948 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
4949 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
4950
4c3e4f37
VS
49512011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
4954 only when needed.
4955
488f71f1
VS
49562011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
4959 CTRL.
4960
18a38098
VS
49612011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 The E820 type 5 is BADRAM, not EXEC_CODE.
4964
4965 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
4966 (GRUB_E820_BADRAM): New define.
4967 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
4968 into reserved. Propagate BADRAM.
4969 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
4970 (GRUB_E820_BADRAM): New define.
4971
9eae2084
VS
49722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
4975 Ignore the memory post-4G.
4976 (grub_relocator_firmware_alloc_region): Additional debug statement.
4977
ebc71d28
VS
49782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
4981 names.
4982 Reported by: David Pravec.
4983
446fa400
VS
49842011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
4987 BIOSes.
4988
a0159f37
VS
49892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
4992 Prevent overflow.
4993 (grub_reed_solomon_recover): Likewise.
4994
e5146ca1
VS
49952011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
4998
49992011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
5000
5001 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
5002 variable.
5003
5b1bdf12
CW
50042011-01-04 Colin Watson <cjwatson@ubuntu.com>
5005
5006 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
5007 descriptions of extract_legacy_entries_source and
5008 extract_legacy_entries_configfile.
5009 Reported by: Seung Soo, Ha.
5010
99d925aa
CW
50112011-01-03 Colin Watson <cjwatson@ubuntu.com>
5012
5013 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
5014 on devices that do not implement function 0.
5015
4af0504b
DV
50162011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
5017
5018 * grub-core/fs/hfsplus.c: Make parent unsigned.
5019 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
5020 overflows.
5021 (grub_hfsplus_cmp_extkey): Likewise
5022
469ee10a
VS
50232011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * util/grub-install.in: Correctly use bootloader_id and not
5026 GRUB_DISTRIBUTOR on efibootmgr line.
5027
323a8e9c
VS
50282011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
5031
1b394975
IC
50322010-12-31 Ian Campbell <ijc@hellion.org.uk>
5033
5034 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
5035 Xen and reorder menu item wording to make it clearer that this entry
5036 will launch Xen. Print separate messages when loading Xen and
5037 Linux.
5038
275bff5f
VS
50392010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
5042 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
5043 loop in case of incorrect amiga partmap.
5044
307806cb
VS
50452010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
5048 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
5049 Reported by:EHeM.
5050
b12b923e
VS
50512010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
5054 spurious warning.
5055 Reported by: crocket
5056
14b48a19
VS
50572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
5060 Preload EFIemu.
5061 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
5062
693db2df
VS
50632010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
5066 is loaded
5067 (grub_cmd_xnu_kextdir): Likewise.
5068 (grub_cmd_xnu_splash): Likewise.
5069
c7638645
VS
50702010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 Avoid using Reed-Solomon with 0 redundancy.
5073
5074 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
5075 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
5076 or 0 redundancy.
5077 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
5078 (grub_reed_solomon_recover): Likewise.
5079
25dd4780
VS
50802010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 Don't use disk subsystem in freebsd_boot.
5083
5084 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
5085 (freebsd_biosdev): Likewise.
5086 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
5087 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
5088
0b2db943
VS
50892010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 Handling of files of unknown size is currently limited. They can't be
5092 used e.g. for initrd or modules. Moreover gzip handling of not
5093 easily seekable files is buggy. Disable unknown file size for now. May
5094 be inefficient but works.
5095
5096 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
5097 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5098
5c408d0f
MP
50992010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
5100
5101 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
5102 floppy probe.
5103
190a011a
JD
51042010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
5105
5106 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
5107
022d01b8
SL
51082010-12-25 Shea Levy <shlevy>
5109
5110 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
5111
c4855fdc
VS
51122010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
5115 Windows Server 2008.
5116 Reported by: Devin Giddings.
5117
0354b867
VS
51182010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
5121 writing an error message because of async power management.
5122 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
5123 (grub_reboot): Likewise.
5124
ab66c69f
JU
51252010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
5126
5127 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
5128 keep unit tests from failing when they shouldn't.
5129
1426ef35
CW
51302010-12-21 Colin Watson <cjwatson@ubuntu.com>
5131
5132 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
5133 previous patch increased the size of the RS code by 20 bytes (at
5134 least with gcc-4.4), so increase this by 20 bytes to match.
5135 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5136
20641b6b
CW
51372010-12-21 Colin Watson <cjwatson@ubuntu.com>
5138
5139 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
5140 scratch area. Make sure to initialise chosen in standalone mode as
5141 well as non-standalone.
5142 Reported by: Robert Hooker and Andy Whitcroft.
5143 Tested by: Andy Whitcroft.
5144
d060ad60
CW
51452010-12-21 Colin Watson <cjwatson@ubuntu.com>
5146
5147 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
5148 constructing a new unescaped string and passing it to grub_xputs in
5149 one go, rather than passing characters to grub_printf one at a time.
5150
b889cfad
CW
51512010-12-21 Colin Watson <cjwatson@ubuntu.com>
5152
5153 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
5154 initialising utf16.
5155
4e01b6c8
CW
51562010-12-21 Colin Watson <cjwatson@ubuntu.com>
5157
5158 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
5159 comment. Add an extra layer of quotation, requiring the output of
5160 this function to be used in a printf format string.
5161 (gettext_printf): New function.
5162 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
5163 Extract translatable strings from here-documents and use a temporary
5164 variable instead, so that xgettext can find them.
5165 * util/grub.d/10_kfreebsd.in: Likewise.
5166 * util/grub.d/10_linux.in: Likewise.
5167 * util/grub.d/20_linux_xen.in: Likewise.
5168
5169 * po/grub.d.sed: New file.
5170 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
5171 arguments. Set c-format flags on all strings extracted from
5172 util/grub.d/ (xgettext refuses to include these itself for strings
5173 it extracted from a shell file, but these really are c-format).
5174
5318fe98
VS
51752010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
5178 Avoid next pointing to nowhere.
5179
6c85b743
VS
51802010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
5183 rather than assuming than rootblock is exactly in the middle.
5184 (grub_affs_label): Likewise.
5185
a2a08a35
VS
51862010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
5189 reserved_first_sector to 0.
5190 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
5191 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
5192 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
5193
7059d1ec
VS
51942010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 Fix handling of UTF-16 UDF labels.
5197
5198 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
5199 (read_string): .. here.
5200 (grub_udf_label): Use read_string.
5201
30aff4cb
BC
52022010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
5203
5204 * grub-core/normal/menu_entry.c (run): Execute commands from menu
5205 editor under argument scope.
5206 Reported by: Jordan Uggla
5207
5cf86f4b
VS
52082010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
5211
32570200
CW
52122010-12-18 Colin Watson <cjwatson@ubuntu.com>
5213
5214 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
5215 line, and other keys scroll an entire page (previous handling was
5216 for \r and \n to scroll a page and other keys to scroll two lines).
5217
e1dffcf2
VS
52182010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5221 Set ptrdest to correct get_physical_target_address rather than
5222 incorrect get_virtual_current_address.
5223
b04298cf 52242010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
5225
5226 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
5227 correct cat to grub_uint8_t * rather than grub_uint32_t *.
5228
5367ecd3
CW
52292010-12-10 Colin Watson <cjwatson@ubuntu.com>
5230
5231 * .bzrignore: Ignore grub-core/rs_decoder.S.
5232
1fb430f8
CW
52332010-12-10 Colin Watson <cjwatson@ubuntu.com>
5234
5235 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
5236 .mo/.mo.gz opening sequence to ...
5237 (grub_mofile_open_lang): ... here.
5238 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
5239 * util/grub.d/00_header.in (grub_lang): Include country part of
5240 locale.
5241 Reported by: Mario Limonciello.
5242
a94a6671
RM
52432010-12-09 Robert Millan <rmh@gnu.org>
5244
5245 * NEWS: Document addition of ZFS support.
5246
24b7938b
CW
52472010-12-04 Colin Watson <cjwatson@ubuntu.com>
5248
5249 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
5250 rather than `/ 2', as the latter requires -Wa,--divide which would
5251 require bumping our minimum binutils version.
5252
bddc3ef6
BC
52532010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
5254
5255 * util/grub-script-check.c (main): Print script line number on
5256 error.
5257
bf78d5b2
RM
52582010-12-01 Robert Millan <rmh@gnu.org>
5259
5260 * grub-core/fs/zfs/zfs.c: New file.
5261 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
5262 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
5263 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
5264 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5265
5266 * include/grub/zfs/dmu.h: Likewise.
5267 * include/grub/zfs/dmu_objset.h: Likewise.
5268 * include/grub/zfs/dnode.h: Likewise.
5269 * include/grub/zfs/dsl_dataset.h: Likewise.
5270 * include/grub/zfs/dsl_dir.h: Likewise.
5271 * include/grub/zfs/sa_impl.h: Likewise.
5272 * include/grub/zfs/spa.h: Likewise.
5273 * include/grub/zfs/uberblock_impl.h: Likewise.
5274 * include/grub/zfs/vdev_impl.h: Likewise.
5275 * include/grub/zfs/zap_impl.h: Likewise.
5276 * include/grub/zfs/zap_leaf.h: Likewise.
5277 * include/grub/zfs/zfs.h: Likewise.
5278 * include/grub/zfs/zfs_acl.h: Likewise.
5279 * include/grub/zfs/zfs_znode.h: Likewise.
5280 * include/grub/zfs/zil.h: Likewise.
5281 * include/grub/zfs/zio.h: Likewise.
5282 * include/grub/zfs/zio_checksum.h: Likewise.
5283
5284 * Makefile.util.def: Build ZFS into libgrubmods.
5285 * grub-core/Makefile.core.def: Build zfs.mod.
5286
3f0f3831
SJ
52872010-11-30 Szymon Janc <szymon@janc.net.pl>
5288
5289 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
5290 variable.
5291 * grub-core/commands/wildcard.c (match_files): Likewise.
5292
3a4253b2
RM
52932010-11-30 Robert Millan <rmh@gnu.org>
5294
5295 * grub-core/loader/i386/bsd.c
5296 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
5297 whether kernel is loaded using grub_loader_is_loaded(), rather
5298 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
5299 certain error conditions.
5300
8c317b27
RM
53012010-11-30 Robert Millan <rmh@gnu.org>
5302
c5c9cd3e
RM
5303 * grub-core/commands/echo.c: Include `<grub/term.h>'.
5304 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 5305
49d3ab46
VS
53062010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 Avoid using tricks for initialising endian variables.
5309
5310 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
5311 Make const.
5312 (GRUB_MOD_INIT): Don't byte-swap.
5313 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5314 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
5315 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
5316 (grub_swap_bytes32_compile_time): Likewise.
5317 (grub_cpu_to_le32_compile_time): Likewise.
5318 (grub_cpu_to_le16_compile_time): Likewise.
5319
f420a804
VS
53202010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * util/grub-setup.c (setup): Stop recommending --force. People who
5323 understand the dangers of blocklists are able to find this option
5324 anyway and the ones who don't shouldn't use it anyway.
5325
4e7db17b
RM
53262010-11-26 Robert Millan <rmh@gnu.org>
5327
5328 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
5329 Update all users.
5330
9be57a0d
CW
53312010-11-26 Colin Watson <cjwatson@ubuntu.com>
5332
5333 Fix LVM-on-RAID probing.
5334
5335 * util/grub-probe.c (probe): Remember which disk was detected as
5336 RAID (perhaps an LVM physical volume). Use that disk's raidname
5337 rather than that of the top-level disk.
5338
2c7859b3 53392010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 5340
d7647bb6
BC
5341 Fix cmdline argument quotes for setparams command of menuentry
5342 definitions.
7e623b0d
BC
5343
5344 * grub-core/commands/menuentry.c (setparams_prefix): Use single
5345 quotes for arguments.
f866fe80 5346 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 5347 grub_strchrsub function instead.
f866fe80 5348
7955bea0 5349 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 5350
74f72a64
CW
53512010-11-24 Colin Watson <cjwatson@ubuntu.com>
5352
5353 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
5354 effort by skipping "." and ".." entries up-front.
5355 Suggested by: Michael Lazarev.
5356
5a407278
CW
53572010-11-24 Colin Watson <cjwatson@ubuntu.com>
5358
5359 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
5360 ldflags to ldadd, to fix link line ordering.
5361 (none_decompress): Likewise.
5362
3030d8ec
CW
53632010-11-24 Colin Watson <cjwatson@ubuntu.com>
5364
5365 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
5366 platforms.
5367 (grub-emu-lite): Remove kern/emu/cache.S.
5368
b7fbac12
CW
53692010-11-23 Colin Watson <cjwatson@ubuntu.com>
5370
5371 * util/deviceiter.c (compare_devices): If the by-id link for a
5372 device couldn't be resolved, fall back to sorting by the by-id link
5373 rather than segfaulting.
5374 Reported and tested by: Daniel Mierswa.
5375
5225f328
CW
53762010-11-23 Colin Watson <cjwatson@ubuntu.com>
5377
5378 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
5379 ldflags, to fix link line ordering.
5380
038b3ce8
CW
53812010-11-23 Colin Watson <cjwatson@ubuntu.com>
5382
5383 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
5384 linkers are picky about this.
5385
bf16e98e
CW
53862010-11-23 Colin Watson <cjwatson@ubuntu.com>
5387
5388 * grub-core/Makefile.am (command.lst): Adjust sed expression
5389 ordering so that extended and priority commands aren't treated as
5390 ordinary commands.
5391
7242bab6
CW
53922010-11-23 Colin Watson <cjwatson@ubuntu.com>
5393
5394 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5395 Remove byte-swapping function calls, which are not valid in
5396 structure initialisers.
5397 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
5398 non-const.
5399 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
5400 grub_gpt_partition_type_bios_boot.
5401
14e8b279
CW
54022010-11-22 Colin Watson <cjwatson@ubuntu.com>
5403
5404 Fix test program build on GNU/kFreeBSD.
5405
5406 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
5407 $(LIBNVPAIR)' library dependencies.
5408
e6f63338 54092010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
5410
5411 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
5412
cf8ffc38
CW
54132010-11-22 Colin Watson <cjwatson@ubuntu.com>
5414
5415 * util/grub-install.in: Remove excessive quoting that broke
5416 installations to RAID devices.
5417
7f8b0fd7
VS
54182010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
5421 bootloader version instead of 0.
5422
dfd240b1
VS
54232010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
5426 warning.
5427
7b61e609
VS
54282010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
5431 retrieve the metadat sector if size isn't known.
5432 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5433
9dfe92d0
RM
54342010-11-18 Robert Millan <rmh@gnu.org>
5435
5436 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
5437 with grub_memcmp().
5438
41cc919e
VS
54392010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
5442 arrow.
5443 Reported by: Jordan Uggla.
5444
1afcc914
VS
54452010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 Make better UTF compliant.
5448
5449 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
5450 sequences as incorrect.
5451 (grub_is_valid_utf8): Likewise.
5452 (grub_utf8_to_ucs4): Likewise.
5453 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
5454 (grub_ucs4_to_utf8_alloc): Likewise.
5455 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
5456
f1808884
VS
54572010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 Make legacy_source behave like source.
5460
5461 * grub-core/commands/legacycfg.c (legacy_file): Don't call
5462 grub_show_menu.
5463 (grub_cmd_legacy_source): Call grub_show_menu if needed.
5464
24ec575b
CW
54652010-11-16 Colin Watson <cjwatson@debian.org>
5466
5467 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
5468 (-Wunused implies -Wunused-parameter, but not vice versa).
5469
72b7c7aa
CW
54702010-11-16 Colin Watson <cjwatson@ubuntu.com>
5471
5472 * configure.ac: Make error messages less confusing by testing for
5473 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
5474 accepted, but produces a diagnostic if something else is wrong).
5475
e98937aa
VS
54762010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
5479 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
5480 (now unused).
5481 (grub_keyboard_controller_init)
5482 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
5483 read the initial state since controller isn't inited yet.
5484
f6bbabc3
VS
54852010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
5488 allocate_regbeg may need to create new chunk header.
5489
22e7dbb2
VS
54902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 Fix quoting in legacy parser.
5493
5494 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
5495 single quotes.
5496 (grub_legacy_parse): Likewise.
5497 Reported by: Jordan Uggla.
5498 Tested by: Jordan Uggla.
5499
03f80960
VS
55002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Don't add -lgcc on i386 and x86_64.
5503
5504 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
5505 * conf/Makefile.common (LDADD_KERNEL): Likewise.
5506 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
5507
779dc15b
VS
55082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * configure.ac: Add -Wno-trampolines when supported.
5511
d20a3b37
MV
55122010-11-14 Modestas Vainius <modax@debian.org>
5513
5514 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
5515 fakeraid.
5516
e5360933
GC
55172010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5518
5519 Add generic logical block size support for UDF.
5520
5521 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
5522 (GRUB_UDF_BLKSZ): Removed.
5523 (struct grub_udf_data): New field "lbshift" to hold the logical block
5524 size of the file system in log2 format. All users updated.
5525 (sblocklist): Change type to unsigned.
5526 (grub_udf_mount): Change type of "sblklist" to unsigned.
5527 Move AVDP search before VRS recognition, because the latter requires
5528 knowledge of the logical block size, which is detected during the
5529 former.
5530 Detect and validate logical block size during AVDP search, adding
5531 support for block sizes 512, 1024 and 4096.
5532 Make VRS recognition independent of block size.
5533
cb0229c5
GC
55342010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5535
5536 Properly handle deleted files on UDF.
5537
5538 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
5539 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
5540 set.
5541
406858a8
GC
55422010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5543
5544 Support reading files larger than 2 GiB.
5545
5546 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
5547 "offset" to grub_off_t.
5548 (grub_udf_read_file): Likewise for parameter "pos".
5549
130da6a7
VS
55502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
5553 unavailable.
5554 (Simple configuration): Refer to Changes from GRUB Legacy about
5555 save_env availability.
5556
65e93f6b
VS
55572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * util/grub-install.in: Ignore empty partition table detection
5560 instead of trying to include part_ module.
5561
1fd08bf1
VS
55622010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
5565 LVM on RAID support.
5566
de1a024f
VS
55672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 Properly define WORDS_BIGENDIAN in wrapped environments.
5570
5571 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
5572 definition.
5573 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
5574
5575 Reported by: Manoel Rebelo Abranches.
5576 Tested by: Manoel Rebelo Abranches.
5577
bc5dd0b9
VS
55782010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * util/grub-mkconfig.in: Fix quoting.
5581
58c184be
VS
55822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 Support big ext2 files.
5585
5586 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
5587 (grub_ext2_read_block): Support triple indirect blocks.
5588 (grub_ext2_read_file): Use 64-bit types and read size_high.
5589 (grub_ext2_open): Read size_high.
5590 Reported by: Ximin Luo.
5591 Tested by: Manoel Rebelo Abranches.
5592
5f0c02b3
VS
55932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * util/grub-install.in: Handle filenames containing spaces.
5596 Reported by: Jordan Uggla.
5597 Tested by: Jordan Uggla.
5598
4417aae6
VS
55992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * util/grub-mkconfig.in (grub_script_check): New variable.
5602 Use grub_script_check instead of grub-script-check.
5603 Reported by: Barry Jackson.
5604
7625a68e
VS
56052010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * docs/grub.texi (menu): Correct the order.
5608 Reported by: D. Hugh Redelmeier.
5609
10001ac5
VS
56102010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
5613 jump.
5614
9c4cf53b
MRA
56152010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
5616
10001ac5
VS
5617 * include/grub/elfload.h (grub_elf32_size): New parameter.
5618 All users updated.
9c4cf53b
MRA
5619 Return maximum segments alignment.
5620 (grub_elf64_size): Likewise.
5621 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
5622 Return maximum segments alignment.
5623 (grub_elf64_size): Likewise.
5624 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
5625 (grub_linux_claimmap_iterate): New function. Uses the
5626 "available" property in the "memory" node for memory allocation
5627 for kernel in the PowerPC loader.
9c4cf53b
MRA
5628 (grub_linux_load32): Correctly find linux entry point offset.
5629 (grub_linux_load64): Likewise.
5630
d2bf06bf
RM
56312010-11-07 Robert Millan <rmh@gnu.org>
5632
5633 On mips-yeeloong, build with -march=loongson2f when this flag is
5634 available (GCC >= 4.4).
5635 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
5636 `-march=mips3'.
5637 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
5638 or otherwise add -march=mips3.
5639
898c99a2
BC
56402010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
5641
87220a68
BC
5642 Suppress shell expansion on echo '*' and echo "*" like cases.
5643 Reported by: Jordan Uggla.
898c99a2
BC
5644
5645 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5646 string arguments before shell expansion.
5647 * tests/grub_cmd_echo.in: New testcases.
5648
4f9b406a
RM
56492010-11-07 Robert Millan <rmh@gnu.org>
5650
5651 * conf/mips-qemu-mips.rmk: Remove stale file from previous
5652 transition.
5653
80c6d25e
VS
56542010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * grub-core/kern/emu/hostdisk.c
5657 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
5658
4a1a0153
VS
56592010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
5662 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
5663 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
5664
34706ddc
VS
56652010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
5668
6972dea9
VS
56692010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * util/grub-install.in: Replace useless recomendation to pass
5672 --modules with a recomendation to report a bug.
5673
9c693bd6
VS
56742010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 Properly register serial terminfo.
5677 Reported by: Jordan Uggla
5678
5679 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
5680 const.
5681 (grub_serial_terminfo_output_template): Likewise.
5682 (grub_cmd_serial): Register "serial" with terminfo.
5683 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
5684 grub_serial_terminfo_output.
5685
6c9e4c0c
RM
56862010-11-05 Robert Millan <rmh@gnu.org>
5687
5688 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
5689 needed).
5690
b9b3839f
RM
56912010-11-05 Robert Millan <rmh@gnu.org>
5692
5693 On Yeeloong, pass machine type information to Linux.
5694
5695 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
5696 (LOONGSON_MACHTYPE): New macro, set to
5697 "machtype=lemote-yeeloong-2f-8.9inches".
5698 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
5699 additional argument to Linux.
5700
1a3aaff4
RM
57012010-11-04 Robert Millan <rmh@gnu.org>
5702
5703 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
5704 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
5705 (its SATA disks are detected as slaveless IDE master drives on
5706 kFreeBSD).
5707 Reported by Carsten Aulbert.
5708
a75f4f62
CW
57092010-11-02 Colin Watson <cjwatson@ubuntu.com>
5710
5711 * util/bin2h.c (main): Fix spelling error in generated output.
5712
33b4b0c6
GS
57132010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
5714
5715 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
5716
2b36fbf4
VS
57172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
5720 vga= option is supplied.
5721
74aaf558
VS
57222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
5725 * util/grub.d/10_kfreebsd.in: Likewise.
5726 * util/grub.d/10_linux.in: Likewise.
5727 * util/grub.d/20_linux_xen.in: Likewise.
5728
6428dec3
VS
57292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
5732 argument as an argument to no-argument option.
5733
f8729d98
VS
57342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * util/grub.d/10_linux.in: Add missing load_video with explicit
5737 GRUB_GFXPAYLOAD_LINUX.
5738
89d68fa6
VS
57392010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
5742
3a1197cd
VS
57432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
5746 elements with invlid index.
5747 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5748 * grub-core/disk/raid.c (insert_array): Automatically reallocate
5749 members.
5750 * include/grub/raid.h (grub_raid_member): New struct.
5751 (grub_raid_array): Transform devices and start_sector into usage of
5752 grub_raid_member. All users updated
5753 (allocated_devs): New member.
5754
71574288
VS
57552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
5758 is modified
5759
8d40ec65
BC
57602010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
5761
5762 NetBSD build fix for getline function conflict from gnulib.
5763
5764 * Makefile.util.def (libgrubkern.a): New library for grub kernel
5765 components that depend on gnulib headers.
5766 (libgrubmods.a): Renamed from earlier libgrub.a.
5767 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
5768
95b9257e
VS
57692010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
5772 install rather than creating a broken install.
5773
26c53dc6
VS
57742010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * util/grub-setup.c (argp): Remove misleading example of installing to
5777 a partition.
5778
4171b3c5
VS
57792010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * util/grub-setup.c (setup): Clarify the error message.
5782
18568d18
VS
57832010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
5786
4f6a2e21
VS
57872010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/kern/emu/misc.c
5790 (grub_make_system_path_relative_to_its_root)
5791 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
5792
57932010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
5794
5795 * grub-core/kern/emu/misc.c
5796 (grub_make_system_path_relative_to_its_root): Revert r2882.
5797
e138c458
VS
57982010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
5801 useless field head. All users updated.
5802 (free_subchunk): Correct handling of IN_REGION subchunk.
5803
0cbcdf0e
CW
58042010-10-22 Colin Watson <cjwatson@ubuntu.com>
5805
5806 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
5807 (Supported kernels): Likewise.
5808
b65ea155
GS
58092010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
5810
5811 Make mktemp invocations portable.
5812
5813 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
5814 exit if mktemp fails.
5815 * tests/grub_script_blockarg.in: Likewise.
5816 * tests/partmap_test.in: Likewise.
5817 * tests/util/grub-shell-tester.in: Likewise.
5818 * tests/util/grub-shell.in: Likewise.
5819 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5820 * Makefile.am: Likewise, and chain shell commands with `&&'
5821 instead of ';'.
5822 * util/grub-mkrescue.in: Use the same explicit template as above, and
5823 exit if mktemp fails.
5824
05f43cdd
BC
58252010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
5826
5827 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
5828 Linux kernel, reported by Dennis Schridde.
5829
800e6a9b
SJ
58302010-10-17 Szymon Janc <szymon@janc.net.pl>
5831
5832 * grub-core/normal/auth.c (grub_auth_check_authentication):
5833 Set-but-not-used variable removed.
5834
d82df574
VS
58352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * docs/grub.texi (GNU/Linux): Document APM unavailability with
5838 32-bit linux protocol.
5839
7bced458
VS
58402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
5843 cursor shape for sanity.
5844
5b027690
VS
58452010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * docs/grub.texi (Installation): Document buggy BIOS install.
5848
ba5f65cf
VS
58492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 * docs/grub.texi (Installation): Indent.
5852
fdf2ec9c
VS
58532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * util/grub-setup.c (setup): New parameter allow_floppy.
5856 (arguments): New member allow_floppy.
5857 (argp_parser): Handle --allow-floppy.
5858 (main): Pass allow_floppy.
5859 * util/grub-install.in: New option --allow-floppy passed though to
5860 grub-setup.
5861
861dfd4c
VS
58622010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * util/grub-install.in: Handle partitionless disks.
5865
f77a8c24
VS
58662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * util/grub-setup.c (setup): Don't clean blocklists before readability
5869 verfification.
5870
27d9ee32
VS
58712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * docs/grub.texi (Installation): Document embedding zone. Remove
5874 obsolete grub-install example.
5875
6bdda8f8
SJ
58762010-10-16 Szymon Janc <szymon@janc.net.pl>
5877
5878 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5879 Set-but-not-used variable ifdef'ed.
5880 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
5881 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
5882 variable removed.
5883 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
5884 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
5885 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5886 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
5887 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
5888 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
5889 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
5890 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
5891 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5892 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
5893 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
5894 Likewise.
5895
e19b016b
VS
58962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
5899 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
5900 enum value.
5901
6c8d3002
VS
59022010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
5905 synonym to _S5_. Needed for some DSDTs.
5906
c32b51c9
VS
59072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 Userspace ACPI parser debugging.
5910
5911 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
5912 headers and add relevant defines. Don't include standard headers.
5913 (main) [GRUB_DSDT_TEST]: New function.
5914 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
5915 Don't declare functions.
5916
fbfbeb39
VS
59172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 Remove dead grub_efi_mm_fini.
5920
5921 * grub-core/kern/efi/mm.c (allocated_page): Removed.
5922 (ALLOCATED_PAGES_SIZE): Likewise.
5923 (MAX_ALLOCATED_PAGES): Likewise.
5924 (allocated_pages): Likewise.
5925 (grub_efi_allocate_pages): Don't record allocated pages.
5926 (grub_efi_free_pages): Likewise.
5927 (grub_efi_mm_init): Likewise.
5928 (grub_efi_mm_fini): Removed.
5929
65f7ed7c
VS
59302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
5933 (grub_efi_mm_init): Take into account the memory map size increase.
5934
24977b44
VS
59352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
5938 (serial_hw_put): Wait based on real time rather than port reads. Don't
5939 roken ports.
5940 * include/grub/serial.h (grub_serial_port): New field broken.
5941
1eb01cd2
RM
59422010-10-16 Robert Millan <rmh@gnu.org>
5943
5944 * grub-core/kern/emu/misc.c
5945 (grub_make_system_path_relative_to_its_root): Fix premature return
5946 when processing non-root ZFS filesystems.
5f8b440b 5947 Reported by Sergio Talens-Oliag.
1eb01cd2 5948
2d5fed60
RM
59492010-10-15 Robert Millan <rmh@gnu.org>
5950
5951 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
5952 guarantee compressed ones are processed first.
5953
d0f4c1ea
VS
59542010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
5957 grub_efiemu_autocore.
5958
d87c681f
VS
59592010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
5962 rather than 0x1b.
5963 (grub_console_getkey): Use correct jae opcode rather than ja.
5964
219b3564
RM
59652010-10-12 Robert Millan <rmh@gnu.org>
5966
5967 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
5968 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
5969 variable. All references updated.
5970
5971 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
5972
20c6bb7e
VS
59732010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 Correctly distinguish mdraid flavours.
5976
5977 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
5978 (insert_array): New argument raid.
5979 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
5980 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
5981 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
5982
74baff84
VS
59832010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
5986 handling of special keys.
5987
3ef068df 59882010-10-02 Aleš Nesrsta <starous@volny.cz>
5989
c7980ad9
VS
5990 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
5991 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 5992
a9455194 59932010-10-02 Aleš Nesrsta <starous@volny.cz>
5994
c7980ad9
VS
5995 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
5996 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
5997 users updated.
a9455194 5998 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 5999 Use right endpoint when querying descriptor.
a9455194 6000
441cfe65
VS
60012010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 Clear out 0x80 color bit on EFI.
6004 Tested by: decoder
6005 Reported by: decoder and meta tech.
6006
6007 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
6008 (grub_console_setcolorstate): Clear out 0x80 bit.
6009 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
6010 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
6011 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
6012
bf26bcc4
VS
60132010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
6016 Set to "auto".
6017
6e3c515d
VS
60182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
6021 mo_file after freeing.
6022
e6d983ba
VS
60232010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
6026
74ccb5b5
VS
60272010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
6030 flags.
6031
17821956
VS
60322010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
6035 usage.
6036
ee74fa48
VS
60372010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 Put terminfo into core on ieee1275 and yeeloong (needed for console).
6040
6041 * gentpl.py: New groups terminfoinkernel and terminfomodule.
6042 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
6043 and terminfo.h when needed.
6044 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
6045 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
6046 (terminfo): Enable only on terminfokernel.
6047 (extcmd): Likewise.
6048 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
6049 * include/grub/lib/arg.h: Likewise.
6050 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
6051 incorrect usage of ->.
6052
aa438e68
VS
60532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
6056 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
6057
57994012
VS
60582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 Fix coreboot compilation.
6061
6062 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6063 Take VBE info into account even if only text is supported.
6064 (fill_vbe_info): Take into account the case when only VGA text
6065 is supported.
6066 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
6067 on coreboot, multiboot and qemu.
6068
2a406611
VS
60692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
6072 debug messages.
6073 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
6074
d33613fc
VS
60752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
6078 parameters.
6079
44a1b432
VS
60802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
6083 if they were BSD-style.
6084
edde54e6
VS
60852010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * grub-core/boot/i386/pc/lnxboot.S: Replace
6088 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
6089 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
6090
b65830fa
VS
60912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 Write embedding zone using Reed-Solomon.
6094
6095 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
6096 * grub-core/Makefile.am (rs_decoder.S): New target.
6097 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
6098 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
6099 (multiboot): Move to RS part.
6100 (post_reed_solomon): New label.
6101 (grub_boot_drive): Move to non-RS part since it's modified in memory
6102 on boot.
6103 Include rs_decoder.S.
6104 * grub-core/lib/reed_solomon.c: New file.
6105 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
6106 New definition.
6107 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
6108 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
6109 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
6110 * include/grub/partition.h (grub_partition_map): Change prototype of
6111 embed to allow returning additional sectors.
6112 * include/grub/reed_solomon.h: New file.
6113 * util/grub-setup.c (setup): Handle Reed-Solomon.
6114
0b4b227f
CW
61152010-09-28 Colin Watson <cjwatson@ubuntu.com>
6116
6117 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6118 i386 and x86-64 definedness tests.
6119
f772623b
YB
61202010-09-27 Yves Blusseau <blusseau@zetam.org>
6121
6122 Fix generation of kernel_syms.lst
6123
6124 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
6125 ASM_PREFIX
6126
8e57a6ca
RM
61272010-09-26 Robert Millan <rmh@gnu.org>
6128
6129 Support degraded ZFS arrays in "grub-probe -t device" resolution.
6130
6131 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
6132 the pool is an array of devices, iterate through it and return the
6133 first device that passes a stat() test (instead of blindly returning
6134 the first one).
6135
f9130836
RM
61362010-09-26 Robert Millan <rmh@gnu.org>
6137
6138 Build fixes for GNU/kFreeBSD.
6139
6140 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
6141 to programs that require ZFS conversion.
6142 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
6143 kernels that don't have FLOPPY_MAJOR.
6144
96510faf
BC
61452010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6146
6147 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
6148
449333eb
BC
61492010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6150
6151 Fix grub-emu build.
6152
6153 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
6154 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
6155 mdraid09 and mdraid1x.
6156
e1fd1939
CW
61572010-09-24 Colin Watson <cjwatson@ubuntu.com>
6158
6159 Re-enable grub-extras.
6160
6161 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
6162 avoid confusing Automake. Run autogen only twice, once for the top
6163 level and once for grub-core. Add Makefile.util.def and
6164 Makefile.core.def from extra modules to the appropriate autogen
6165 invocations. If Makefile.common exists in an extra module, include
6166 it in both Makefile.util.am and grub-core/Makefile.core.am;
6167 similarly, include any Makefile.util.common file in Makefile.util.am
6168 and any Makefile.core.common file in grub-core/Makefile.core.am.
6169 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
6170 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
6171 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
6172 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
6173
6174 * gentpl.py (gvar_add): Turn GVARS into a set.
6175 (global_variable_initializers): Sort global variables on output.
6176 (vars_init): New function.
6177 (first_time): Likewise.
6178 (library): Ensure that non-global variable initialisations are
6179 emitted before the first time we emit code for a library block.
6180 Append to variables rather than setting them. Only emit
6181 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
6182 each conditional path.
6183 (program): installdir() emits an Autogen macro, so must be passed to
6184 var_add rather than gvar_add.
6185 (data): Likewise.
6186 (script): Likewise.
6187 (rules): New function, centralising handling for different target
6188 types. Set up Guile association lists for first_time and vars_init,
6189 and send most output to a diversion so that variable initialisations
6190 can be emitted first.
6191 (module_rules): Use new rules function.
6192 (kernel_rules): Likewise.
6193 (image_rules): Likewise.
6194 (library_rules): Likewise.
6195 (program_rules): Likewise.
6196 (script_rules): Likewise.
6197 (data_rules): Likewise.
6198
6199 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
6200
6201 * .bzrignore: Add contrib and grub-core/contrib. Remove
6202 grub-core/Makefile.gcry.am.
6203
1d12cf29
YB
62042010-09-24 Yves Blusseau <blusseau@zetam.org>
6205
6206 * grub-core/lib/LzFind.c: Add missing include.
6207 * grub-core/lib/LzmaEnc.c: Likewise.
6208 * grub-core/script/lexer.c: Likewise.
6209 * grub-core/script/yylex.l: Likewise.
6210 * util/grub-macho2img.c: Likewise.
6211 * util/grub-menulst2cfg.c: Likewise.
6212 * util/grub-mklayout.c: Likewise.
6213 * util/grub-mkpasswd-pbkdf2.c
6214 * util/grub-mkrelpath.c: Likewise.
6215 * util/resolve.c: Likewise.
6216
dd363028
BC
62172010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
6218
6219 * Makefile.util.def (example_unit_test): Add
6220 grub-core/gnulib/libgnu.a.
6221
f5a109e2
GS
62222010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
6223
6224 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
6225
6d0fa83c
VS
62262010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 Support xz compression on yeeloong.
6229
6230 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
6231 * configure.ac: Check for LZMA.
6232 * grub-core/Makefile.core.def (xz_decompress): New target.
6233 (none_decompress): Likewise.
6234 * grub-core/boot/decompressor/minilib.c: New file.
6235 * grub-core/boot/decompressor/none.c: Likewise.
6236 * grub-core/boot/decompressor/xz.c: Likewise.
6237 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
6238 * grub-core/kern/mips/cache_flush.S: Likewise.
6239 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
6240 * grub-core/kern/mips/startup.S: Move first stage to ...
6241 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
6242 nomacro.
6243 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
6244 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
6245 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
6246 Allocate statically.
6247 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
6248 Allocate statically or use scratch. Don't check CRC32.
6249 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
6250 Allocate statically. Don't check CRC32.
6251 * include/grub/decompressor.h: New file.
6252 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
6253 Removed.
6254 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
6255 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
6256 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
6257 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
6258 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
6259 * util/grub-mkimage.c (grub_compression_t): New type.
6260 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
6261 (image_target_desc): New field default_compression.
6262 (image_targets): Adjust yeeloong targets.
6263 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
6264 (compress_kernel): New parameter comp.
6265 (generate_image): Likewise. Handle new compression case.
6266 (options): New option --compression
6267 (help): Likewise.
6268 (main): Handle new option.
6269
1b655af6
GS
62702010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
6271
6272 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
6273
8f03f0b5
CW
62742010-09-22 Colin Watson <cjwatson@ubuntu.com>
6275
6276 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6277 typo in __i386__ conditional.
6278
7835dfd3
VS
62792010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
6282 include.
6283
e255597e
VS
62842010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6285
6d0fa83c 6286 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
6287
6288 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
6289 new tags as supported.
6290 (acpiv2_size): New function.
6291 (grub_multiboot_get_mbi_size): Take new tags into account.
6292 (grub_multiboot_make_mbi): Add new tags.
6293 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 6294
6cc14051 62952010-09-21 Aleš Nesrsta <starous@volny.cz>
6296
6297 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
6298 Added missing configuration of USB device.
6299
df7769d8
CW
63002010-09-21 Colin Watson <cjwatson@ubuntu.com>
6301
6302 * grub-core/normal/menu_entry.c (run): Make sure we always return
6303 a value.
6304
b031012d
CW
63052010-09-21 Colin Watson <cjwatson@ubuntu.com>
6306
6307 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
6308 NumberOfPages is UINT64 according to the UEFI specification, not
6309 UINTN. Fix printf format.
6310
174de8f3
CW
63112010-09-21 Colin Watson <cjwatson@ubuntu.com>
6312
6313 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
6314 `err' to grub_usb_err_t.
6315 Reported and tested by: KESHAV P.R.
6316
d7dbe923
CW
63172010-09-21 Colin Watson <cjwatson@ubuntu.com>
6318
6319 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
6320 tpart non-const, so that we can assign to it. (Since this is a
6321 typedef, the constness refers to the pointer rather than what it
6322 points to.)
6323
8d5e2af3
CW
63242010-09-21 Colin Watson <cjwatson@ubuntu.com>
6325
6326 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
6327 $(top_srcdir)/grub-core/gnulib as well as
6328 $(top_builddir)/grub-core/gnulib.
6329 Reported by: KESHAV P.R.
6330
5c527783
CW
63312010-09-21 Colin Watson <cjwatson@ubuntu.com>
6332
6333 * util/grub-install.in: Fix the bootloader ID option to be
6334 consistently --bootloader-id, not --bootloader_id.
6335 Reported by: KESHAV P.R.
6336
d309a16e
CW
63372010-09-21 Colin Watson <cjwatson@ubuntu.com>
6338
6339 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
6340 check hash checksum." consistently translatable.
6341
b830cd16
YB
63422010-09-21 Yves Blusseau <blusseau@zetam.org>
6343
6344 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
6345 $(top_builddir).
6346
c4fe27a8
CW
63472010-09-21 Colin Watson <cjwatson@ubuntu.com>
6348
6349 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
6350 (GRUB_MOD_INIT): Register sha1sum command.
6351 (GRUB_MOD_FINI): Unregister sha1sum command.
6352
a4c1d277
YB
63532010-09-21 Yves Blusseau <blusseau@zetam.org>
6354
6355 Keep boot and grub directory names in sync with utils scripts
6356
6357 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
6358 * config.h.in: Add previous macros.
6359 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
6360 * util/grub-install.in: Use $bootdir and $grubdir variables.
6361
4eff79d2
CW
63622010-09-21 Colin Watson <cjwatson@ubuntu.com>
6363
6364 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
6365 convert partition names to disk names if the new `convert' parameter
6366 is set.
6367 (grub_util_biosdisk_get_grub_dev): If opening the disk device
6368 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
6369 disk in its own right. This can happen with Xen disk images.
6370
934d7e44
YB
63712010-09-21 Yves Blusseau <blusseau@zetam.org>
6372
6373 * util/grub-editenv.c: Update strings to avoid warnings when generating
6374 grub.pot file.
6375 * util/grub-setup.c: Likewise.
934d7e44 6376
df3367cc
VS
63772010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * configure.ac: Change version to 1.99~beta0.
6380
77a94e98
VS
63812010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6384 Add BADRAM.
6385 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
6386 Likewise.
6387 * include/multiboot.h: Resynced with specification.
6388 * include/multiboot2.h: Likewise.
6389
269004c1
CW
63902010-09-21 Colin Watson <cjwatson@ubuntu.com>
6391
6392 Fix po directory handling.
6393
6394 * configure.ac: Create po/Makefile.in rather than po/Makefile.
6395 * grub-core/gnulib/Makefile.am: Import gettext module.
6396 * m4/gnulib-cache.m4: Likewise.
6397 * m4/gnulib-comp.m4: Likewise.
6398 * m4/gettext.m4: New file, from gnulib.
6399 * m4/glibc2.m4: Likewise.
6400 * m4/iconv.m4: Likewise.
6401 * m4/intdiv0.m4: Likewise.
6402 * m4/intl.m4: Likewise.
6403 * m4/intldir.m4: Likewise.
6404 * m4/intlmacosx.m4: Likewise.
6405 * m4/intmax.m4: Likewise.
6406 * m4/inttypes-pri.m4: Likewise.
6407 * m4/lcmessage.m4: Likewise.
6408 * m4/lib-ld.m4: Likewise.
6409 * m4/lib-link.m4: Likewise.
6410 * m4/lib-prefix.m4: Likewise.
6411 * m4/lock.m4: Likewise.
6412 * m4/nls.m4: Likewise.
6413 * m4/po.m4: Likewise.
6414 * m4/printf-posix.m4: Likewise.
6415 * m4/progtest.m4: Likewise.
6416 * m4/threadlib.m4: Likewise.
6417 * m4/uintmax_t.m4: Likewise.
6418 * m4/visibility.m4: Likewise.
6419 * po/Makefile.am: Remove.
6420 * po/Makefile.in.in: New file, from gettext.
6421 ($(DOMAIN).pot-update): Support POTFILES-shell.
6422 * po/Makevars: New file.
6423 * po/POTFILES-shell: Rename to ...
6424 * po/POTFILES-shell.in: ... this. Update.
6425 * po/POTFILES: Rename to ...
6426 * po/POTFILES.in: ... this. Update.
6427 * po/Rules-quot: New file, from gettext.
6428 * po/boldquot.sed: Likewise.
6429 * po/en@boldquot.header: Likewise.
6430 * po/en@quot.header: Likewise.
6431 * po/insert-header.sin: Likewise.
6432 * po/quot.sed: Likewise.
6433 * po/remove-potcdate.sin: Likewise.
6434
3e0fa5d0
VS
64352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
6438
ade9bd66
VS
64392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * util/grub.d/20_linux_xen.in: Use submenus.
6442
fc55cc4c
VS
64432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 Support submenus.
6446
6447 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
6448 parameter submenu. All users updated.
6449 * grub-core/normal/main.c (free_menu): Rename to ...
6450 (grub_normal_free_menu): ... this. Made global.
6451 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
6452 if requested.
6453 * grub-core/normal/menu_entry.c (screen): New field submenu.
6454 (make_screen): Set submenu.
6455 (run): Open new context if requested.
6456 * include/grub/menu.h (grub_menu_entry): New field submenu.
6457 * include/grub/normal.h (grub_normal_free_menu): New proto.
6458
600cedf7
VS
64592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 Menu entries extractor.
6462
6463 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
6464 variants.
6465 (GRUB_MOD_INIT): Register new variants.
6466 (GRUB_MOD_FINI): Unregister new variants.
6467 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
6468 into grub_cmd_legacy_source.
6469 (grub_cmd_legacy_source): Implement extractor variants.
6470 (GRUB_MOD_INIT): Register new variants.
6471 (GRUB_MOD_FINI): Unregister new variants.
6472 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
6473 as an extractor.
6474 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
6475 search as an extractor.
6476 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
6477 test as an extractor.
6478 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
6479 as an extractor.
6480 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
6481 (grub_env_new_context): New function.
6482 (grub_env_context_open): Likewise.
6483 (grub_env_extractor_open): Likewise.
6484 (grub_env_extractor_close): Likewise.
6485 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6486 grub_extractor_level.
6487 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
6488 * include/grub/env.h (grub_env_extractor_open): New proto.
6489 (grub_env_extractor_close): Likewise.
6490 * include/grub/normal.h (grub_extractor_level): New external variable.
6491
7bda3a87
VS
64922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 Make cutmem accept a region specification.
6495 Suggested by: Samuel Thibault
6496
6497 * grub-core/mmap/mmap.c (parsemem): New function.
6498 (grub_cmd_cutmem): Handle new arguments.
6499
2ea57f88
VS
65002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 New command cutmem.
6503
6504 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
6505 (GRUB_MOD_INIT): Register new command.
6506 (GRUB_MOD_FINI): Unregister new command.
6507
74342e31
VS
65082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 Support some annoying BSD and Minix subpartitions.
6511
6512 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
6513 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
6514 Properly handle concatenation.
6515 * grub-core/kern/device.c (grub_device_iterate): Likewise.
6516 * grub-core/normal/completion.c (iterate_partition): Likewise.
6517 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
6518 contain partition. All users updated.
6519 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
6520 struct.
6521 (grub_openbsdlabel_partition_map): Likewise.
6522 (bsdlabel_partition_map_iterate): Rename to ..
6523 (iterate_real): ... this. New arguments sector, freebsd and pmap.
6524 (bsdlabel_partition_map_iterate): New function.
6525 (netopenbsdlabel_partition_map_iterate): Likewise.
6526 (netbsdlabel_partition_map_iterate): Likewise.
6527 (openbsdlabel_partition_map_iterate): Likewise.
6528 (GRUB_MOD_INIT): Register new partmaps.
6529 (GRUB_MOD_FINI): Unregister new partmaps.
6530 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
6531 (grub_partition_msdos_iterate): ... this. All users updated.
6532 Don't support embedding other than in a minix partition.
6533 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
6534 proto.
6535 * include/grub/partition.h (grub_partition): New field msdostype.
6536 * util/grub-install.in: Handle openbsd and netbsd types being in
6537 part_bsd module.
6538
1e8d555b
VS
65392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
6542
6543 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
6544 * grub-core/Makefile.core.def (mdraid): Renamed to ...
6545 (mdraid09): ... this.
6546 (mdraid1x): New module.
6547 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
6548 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
6549
899d8af4
VS
65502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
6553 vsprintf.
6554
40901acd
CW
65552010-09-20 Colin Watson <cjwatson@ubuntu.com>
6556
6557 * grub-core/commands/efi/lsefimmap.c: Correct header.
6558 * NEWS: Update.
6559
dfe3b247
CW
65602010-09-20 Colin Watson <cjwatson@ubuntu.com>
6561
6562 * util/grub-editenv.c (argp_parser): Don't pass translated strings
6563 as printf format strings; the translations might contain '%' which
6564 could cause a crash.
6565 (main): Likewise.
6566 * util/grub-fstest.c (argp_parser): Likewise.
6567 * util/grub-setup.c (argp_parser): Likewise.
6568 (main): Likewise.
6569
3286a4b4
VS
65702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 Use argp in grub-fstest.
6573
6574 * util/grub-fstest.c: Don't include getopt.h.
6575 Include argp.h.
6576 (root): New variable.
6577 (args_count): Likewise.
6578 (nparm): Likewise.
6579 (num_disks): Likewise.
6580 (images): Likewise.
6581 (cmd): Likewise.
6582 (debug_str): Likewise.
6583 (args): Likewise.
6584 (options): Transformed to argp.
6585 (usage): Removed.
6586 (main): Split argument parsing into ...
6587 (argp_parser): ... this. Changed to argp format.
6588 (argp): New variable.
6589 (main): Use argp_parse.
6590
3dccbe4b
TG
65912010-09-20 Tristan Gingold <gingold@free.fr>
65922010-09-20 Robert Millan <rmh.grub@aybabtu.com>
65932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * grub-core/commands/efi/lsefimmap.c: New file.
6596 * grub-core/Makefile.core.def (lsefimmap): New module.
6597 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
6598
38c259a7
VS
65992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 Pause the execution (10s max) if any errors are displayed so the user
6602 has a chance to see them.
6603
6604 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
6605 (grub_print_error): Increment grub_err_printed_errors.
6606 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
6607 execution if any errors were displayed.
6608 (show_menu): Remove old code for pause.
6609 * grub-core/normal/menu_entry.c (run): Likewise.
6610 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
6611 users updated.
6612 (grub_normal_get_char_counter): Likewise.
6613 * include/grub/err.h (grub_err_printed_errors): New external variable.
6614 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
6615
f218b09c
VS
66162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 Support multiboot VBE info.
6619
6620 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6621 Take VBE info into account.
6622 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
6623 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6624 Call fill_vbe_info when appropriate.
6625 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
6626 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
6627 as supported.
6628 (grub_multiboot_get_mbi_size): Take new tags into account.
6629 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
6630 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6631 Call fill_vbe_tag when appropriate.
6632 (grub_multiboot_make_mbi): Properly align tags.
6633 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
6634 function.
6635 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
6636 proto.
6637 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
6638
a9cc5438
VS
66392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 Suport manual terminal geometry specification.
6642
6643 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
6644 Save state in grub_ofconsole_terminfo_output.
6645 (grub_ofconsole_term): Use grub_terminfo_getwh.
6646 (grub_ofconsole_getwh): Removed.
6647 * grub-core/term/serial.c (grub_serial_getwh): Removed.
6648 (grub_serial_term): Use grub_terminfo_getwh.
6649 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
6650 (options): New struct.
6651 (OPTION_*): New enum.
6652 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
6653 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
6654 width and height.
6655 (grub_terminfo_getwh): New proto.
6656 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
6657
1a8fed20
VS
66582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 Handle legacy "terminal" command.
6661
6662 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
6663 and FLAG_TERMINAL.
6664 (legacy_commands): Add terminal and title.
6665 (grub_legacy_parse): Handle terminal. Simplify title handling.
6666
41e9c57d
VS
66672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
6670 parameters overflow.
6671
61c874c5
CW
66722010-09-20 Colin Watson <cjwatson@ubuntu.com>
6673
6674 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
6675 widthspec.h.
6676
6677 * docs/grub.texi (Shell-like scripting): Document `!'.
6678 (Network): Simplify using new i386-pc-pxe format. Mention
6679 grub-mknetdir.
6680
6681 * NEWS: Update.
6682
943682b4
CW
66832010-09-20 Colin Watson <cjwatson@ubuntu.com>
6684
6685 * Makefile.am (SUBDIRS): Restore "."; it's important to force
6686 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
6687 when needed.
6688
6d3d698d
CW
66892010-09-20 Colin Watson <cjwatson@ubuntu.com>
6690
6691 * grub-core/commands/efi/lsefisystab.c: Correct header.
6692 * grub-core/commands/efi/lssal.c: Likewise.
6693 * grub-core/commands/testload.c: Likewise.
6694
c982589f
CW
66952010-09-20 Colin Watson <cjwatson@ubuntu.com>
6696
6697 * util/grub-mkrescue.in: Add explicit root argument to --set to
6698 prevent the UUID being interpreted as an argument to --set (matches
6699 previous change to prepare_grub_to_access_device).
6700
a63c31b6
CW
67012010-09-20 Colin Watson <cjwatson@ubuntu.com>
6702
6703 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
6704 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
6705 the verbosity of later #ifs.
6706 (find_partition_start): Define this function on FreeBSD too.
6707 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
6708 function.
6709 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
6710 on FreeBSD.
6711
6439b8ee
YB
67122010-09-20 Yves Blusseau <blusseau@zetam.org>
6713
6714 * util/grub-editenv.c: Use argp instead of getopt.
6715
c5930ec8
YB
67162010-09-20 Yves Blusseau <blusseau@zetam.org>
6717
6718 * util/grub-setup.c: Use argp instead of getopt.
6719
15c69261
YB
67202010-09-20 Yves Blusseau <blusseau@zetam.org>
6721
6722 Use gnulib-tool to create gnulib source files.
6723
6724 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
6725 grub-core/gnulib directories
6726 * .bzignore: Add **/.deps and autogenerated gnulib files
6727 * configure.ac: Assign auxiliary directory to build-aux, add invocation
6728 of gnulib macros, add grub-core/gnulib/Makefile
6729 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
6730 include m4 directory to aclocal.
6731 * Makefile.util.def: Remove direct compilation of gnulib source files
6732 and use the new grub-core/gnulib/libgnu.a.
6733 * build-aux/config.rpath: move config.rpath from top directory to
6734 build-aux
6735 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
6736 in gnulib headers
6737 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
6738 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
6739 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
6740 header.
6741 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
6742 string.
6743
e511c9f5
YB
67442010-09-20 Yves Blusseau <blusseau@zetam.org>
6745
6746 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
6747 grub-core/genmod.sh and grub-core/gensyminfo.sh
6748
c2dede05
BC
67492010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
6750
6751 Add a test for echo command options.
6752
6753 * tests/grub_cmd_echo.in: New test.
6754 * Makefile.util.def: Rules for new test.
6755
c55f5018
SJ
67562010-09-20 Szymon Janc <szymon@janc.net.pl>
6757
6758 Remove crc.mod and move crc command to hashsum.mod.
6759 Remove lib/crc.c - users updated to use gcrypt implementation.
6760
6761 * grub-core/commands/crc.c: Removed.
6762 * grub-core/Makefile.core.def (crc): Module removed.
6763 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
6764 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
6765 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
6766 * grub-core/lib/crc.c: Removed.
6767 * include/grub/lib/crc.h: Removed.
6768 * Makefile.util.def (crc): Remove lib/crc.c
6769 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
6770 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
6771 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
6772 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
6773 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
6774 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
6775
e0337366
VS
67762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
6779
742f9232
VS
67802010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Split config.h for util and core.
6783
6784 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
6785 (ADDR32): Likewise.
6786 (DATA32): Likewise.
6787 (BSS_START_SYMBOL): Likewise.
6788 (END_SYMBOL): Likewise.
6789 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
6790 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
6791 * config.h.in: New file.
6792 * configure.ac: Use config-util.h as config define file.
6793 Rename MACHINE into GRUB_MACHINE. All users updated.
6794 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
6795 updated.
6796 (NESTED_FUNC_ATTR): Likewise.
6797 Substitue new variables.
6798 (COND_HAVE_ASM_USCORE): New conditional.
6799 * grub-core/Makefile.am (ASM_PREFIX): New variable.
6800 (kernel_syms.lst): Use ASM_PREFIX.
6801 * grub-core/kern/emu/console.c: Include config-util.h.
6802 * grub-core/kern/emu/misc.c: Likewise.
6803 * grub-core/kern/emu/mm.c: Likewise.
6804 * include/grub/emu/misc.h: Likewise.
6805 * include/grub/libgcc.h: Likewise.
6806
39feb0e8
VS
68072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
6810 constants usage.
6811 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
6812 Fix GRUB_TERM_KEY_* constants usage.
6813 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
6814
9af6dac3
VS
68152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
6818 print pointer.
6819 * grub-core/bus/usb/uhci.c: Remove empty define.
6820 (grub_uhci_check_transfer): Add missing cast.
6821 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
6822 print pointer.
6823 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
6824 PRIuGRUB_SIZE.
6825 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
6826
d6d94820
VS
68272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * grub-core/Makefile.core.def (legacycfg): Add
6830 lib/i386/pc/vesa_modes_table.c on emu.
6831
3572f2b6
BC
68322010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
6833
6834 Reduce number of temporary files generated by build system.
6835
6836 * grub-core/gencmdlist.sh: Removed.
6837 * grub-core/genfslist.sh: Removed.
6838 * grub-core/genhandlerlist.sh: Removed.
6839 * grub-core/genmodsrc.sh: Removed.
6840 * grub-core/genpartmaplist.sh: Removed.
6841 * grub-core/genparttoollist.sh: Removed.
6842 * grub-core/gentermiinallist.sh: Removed.
6843 * grub-core/genvideolist.sh: Removed.
6844
6845 * grub-core/genmod.sh.in: New file.
6846 * grub-core/gensyminfo.sh.in: New file.
6847
6848 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
6849 * conf/Makefile.extra-dist: Update with new files.
6850 * gentpl.py: Remove rules related to unnecessary temporary files.
6851 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
6852 and und-* files.
6853 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
6854 genmod.sh scripts.
6855 * grub-core/bus/usb/uhci.c: Remove empty #define.
6856 * grub-core/genmoddep.awk: Updated with new syminfo format.
6857 * util/bash-completion.d/Makefile.am: Add config.log to
6858 CLEANFILES.
6859
c836b030
YB
68602010-09-19 Yves Blusseau <blusseau@zetam.org>
6861
6862 * Makefile.util.def: Add forgotten $(LIBINTL) library.
6863
2f4e8053
BC
68642010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
6865
6866 * util/grub-mkconfig.in: Check the config script for syntax errors
6867 before saving.
6868
75831c34
CW
68692010-09-19 Colin Watson <cjwatson@ubuntu.com>
68702010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * Makefile.util.def (grub-install): Use util/grub-install.in on all
6873 platforms.
6874 * util/grub-install.in: Add EFI and IEEE1275 support.
6875 * util/i386/efi/grub-install.in: Removed.
6876 * util/ieee1275/grub-install.in: Likewise.
6877
eaf41b25
VS
68782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
6881 (grub_cmd_cmosclean): Likewise.
6882 (GRUB_MOD_INIT): Register command cmosclean.
6883 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
6884 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
6885
1a9130dd
CPE
68862010-09-18 Carles Pina i Estany <carles@pina.cat>
68872010-09-18 Aleš Nesrsta <starous@volny.cz>
68882010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 Add keyboard layouts support.
6891
6892 * Makefile.util.def (grub-mklayout): New file.
6893 (grub-kbdcomp): New script.
6894 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
6895 Add keyboard_layouts.h.
6896 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
6897 commands/boot.c on yeeloong.
6898 (keylayouts): New module.
6899 * grub-core/bus/usb/ohci.c
6900 * grub-core/bus/usb/uhci.c
6901 * grub-core/bus/usb/usbhub.c (rescan): New variable.
6902 (grub_usb_add_hub): Poll interrupt pipe for device handling.
6903 (attach_root_port): Likewise.
6904 (poll_nonroot_hub): Likewise.
6905 (grub_usb_poll_devices): Likewise.
6906 (detach_device): Close transfer.
6907 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
6908 function.
6909 (grub_usb_bulk_setup_readwrite): Likewise.
6910 (grub_usb_bulk_finish_readwrite): Likewise.
6911 * grub-core/commands/keylayouts.c: New file.
6912 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
6913 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
6914 aliases.
6915 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
6916 support scancode 2.
6917 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
6918 * include/grub/keyboard_layouts.h: New file.
6919 * util/grub-mklayout.c: New file.
6920 * util/grub-kbdcomp.in: Likewise.
6921
a1d84a5e
VS
69222010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 Unify memory types.
6925
6926 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
6927 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
6928 types.
6929 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
6930 (grub_upper_mem): Likewise.
6931 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
6932 * include/grub/memory.h (grub_memory_type_t): New enum.
6933 All users updated.
6934
9696382e
VS
69352010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * grub-core/Makefile.core.def (lsapm): New module.
6938 * grub-core/commands/i386/pc/lsapm.c: New file.
6939 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
6940 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
6941 Likewise.
6942 * include/grub/i386/pc/apm.h: New file.
6943 * include/multiboot.h (multiboot_apm_info): New struct.
6944
69452010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 GRUB-legacy configuration file support.
6948
6949 * Makefile.util.def (grub-menulst2cfg): New util.
6950 * docs/man/grub-menulst2cfg.h2m: New file.
6951 * grub-core/Makefile.core.def (legacycfg): New module.
6952 * grub-core/commands/legacycfg.c: New file.
6953 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
6954 (grub_normal_add_menu_entry): ... this.
6955 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
6956 (grub_normal_set_password): ...this.
6957 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
6958 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
6959 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
6960 * grub-core/lib/legacy_parse.c: New file.
6961 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
6962 * include/grub/i386/pc/vesa_modes_table.h: New file.
6963 * include/grub/legacy_parse.h: Likewise.
6964 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
6965 * util/grub-menulst2cfg.c: New file.
6966
bf8d1338
CW
69672010-09-17 Colin Watson <cjwatson@ubuntu.com>
6968
6969 * grub-core/kern/emu/hostdisk.c
6970 (convert_system_partition_to_system_disk): Initialise node.
6971
9c0bad2e
CW
69722010-09-17 Colin Watson <cjwatson@ubuntu.com>
6973
6974 * grub-core/kern/emu/hostdisk.c
6975 (convert_system_partition_to_system_disk): Fix devmapper memory pool
6976 leak.
6977 Reported and based on patch by: Modestas Vainius.
6978
a939d135
CW
69792010-09-17 Colin Watson <cjwatson@ubuntu.com>
6980
6981 Fix DM-RAID probing with recent versions of device-mapper udev
6982 rules.
6983
6984 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
6985 canonicalise device paths under /dev/mapper/.
6986 (convert_system_partition_to_system_disk): Compare the
6987 uncanonicalised path to /dev/mapper/ rather than the canonicalised
6988 path, since device nodes under /dev/mapper/ are often symlinks.
6989
0f7ee3c9
YB
69902010-09-17 Yves Blusseau <blusseau@zetam.org>
6991
6992 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
6993
10854d0d
YB
69942010-09-16 Yves Blusseau <blusseau@zetam.org>
6995
6996 * configure.ac: Avoid some annoying error messages if freetype-config
6997 program is not found.
6998
108538d8
CW
69992010-09-16 Colin Watson <cjwatson@ubuntu.com>
7000
7001 Support RAID on virtio devices, and others.
7002
7003 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
7004 Rename to ...
7005 [__MINGW32__] (grub_find_device): ... this.
7006 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
7007 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
7008 reasonable default if dir is NULL.
7009 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
7010 ...
7011 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
7012 (grub_guess_root_device): Update callers.
7013 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
7014
7015 * util/raid.c (grub_util_getdiskname): Remove.
7016 (grub_util_raid_getmembers): Use grub_find_device rather than
7017 grub_util_getdiskname.
7018
e5bfc130
CW
70192010-09-16 Colin Watson <cjwatson@ubuntu.com>
7020
7021 * docs/grub.texi (serial): Remove obsolete comment about GRUB
7022 needing to be compiled with serial support.
7023 (ls): Indicate that multiple files are accepted.
7024 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
7025 indicate that multiple files are accepted.
7026
be458ae2
CW
70272010-09-16 Colin Watson <cjwatson@ubuntu.com>
7028
7029 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
7030 libgrub_a_init.c, and util/bash-completion.d/grub.
7031
cb731b5e
VS
70322010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * util/grub-setup.c (setup): Fix incorrect container semantics.
7035
35139e8a
VS
70362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
7039 misusage.
7040 Reported by: J. Nick Terry
7041
e50fca4a
VS
70422010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 Move embedding routines to partmap sources files.
7045
7046 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
7047 [GRUB_UTIL]: New variable.
7048 (gpt_partition_map_iterate): Set part.parent.
7049 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
7050 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
7051 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
7052 New function.
7053 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
7054 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
7055 (grub_partition_map) [GRUB_UTIL]: New field embed.
7056 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
7057 (setup): Use ->embed.
7058
f00478b7
VS
70592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
7062 function.
7063 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
7064 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
7065
2b94e3ff
YB
70662010-09-15 Yves Blusseau <blusseau@zetam.org>
7067
7068 Add function to get completions from usage.
7069
7070 * util/bash-completion.d/grub-completion.bash.in: Add function to get
7071 completions from usage. Use LC_ALL=C to get options properly.
7072
2e04a006
VS
70732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * grub-core/gnulib/basename-lgpl.c: Imported.
7076 * grub-core/gnulib/basename.c: Likewise.
7077 * grub-core/gnulib/dirname-lgpl.c: Likewise.
7078 * grub-core/gnulib/dirname.c: Likewise.
7079 * grub-core/gnulib/dirname.h: Likewise.
7080 * grub-core/gnulib/stripslash.c: Likewise.
7081
5dcdf93a
VS
70822010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * grub-core/gnulib/error.c: Resynced.
7085 * grub-core/gnulib/getopt.c: Likewise.
7086 * grub-core/gnulib/getopt_int.h: Likewise.
7087 * grub-core/gnulib/regex.h: Likewise.
7088 * grub-core/gnulib/regex_internal.c: Likewise.
7089 * grub-core/gnulib/regex_internal.h: Likewise.
7090
014f47b7
SJ
70912010-09-15 Szymon Janc <szymon@janc.net.pl>
7092
7093 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
7094 CRC calculations and validity checks.
7095 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
7096 calculations.
7097
dd521a4a
SJ
70982010-09-15 Szymon Janc <szymon@janc.net.pl>
7099
7100 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
7101
79c4eeb9
VS
71022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 Fix incorrect echo options handling.
7105 Reported by: Yves Blusseau.
7106
7107 * include/grub/command.h (grub_command_flags_t): New flags
7108 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
7109 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
7110 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
7111
ed80f7d5
VS
71122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
7115 users updated.
7116 (GRUB_COMMAND_FLAG_MENU): Likewise.
7117 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7118 (GRUB_COMMAND_FLAG_TITLE): Removed.
7119 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7120 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
7121 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
7122 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
7123 (grub_command_flags_t): New enum. All users updated.
7124
5fe7620a
SG
71252010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
7126
7127 Fix solaris compilation.
7128
7129 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
7130 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
7131 (grub-emu-list): Likewise.
7132
545b752f
VS
71332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 Remove deprecated root command.
7136
7137 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
7138 updated.
7139
6c1a338c
VS
71402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * util/i386/pc/grub-setup.c: Merge this ...
7143 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
7144 * util/grub-setup.c: ... into this.
7145 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
7146 New struct.
7147
71482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
7151 possible.
7152
d2ea4551
VS
71532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
7156 allocate p.
7157
3c3b5040
VS
71582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7161 explicit root argument to set to prevent UUID to be interpreted as
7162 argument to set.
7163
b71c3fae
VS
71642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
7167
275433e6
VS
71682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 Don't export grub_gate_a20.
7171
7172 * grub-core/kern/i386/pc/init.c: Remove leftovers.
7173 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
7174 to ...
7175 (grub_gate_a20): ... this. All users updated.
7176 * include/grub/i386/pc/init.h: Removed. All users updated.
7177
a5dbb1f1
VS
71782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 Create euro.pf2 which supports most European languages.
7181
7182 * Makefile.am (grubdata_DATA): Add euro.pf2.
7183 (euro.pf2): New target.
7184 (CLEANFILES): Add euro.pf2.
7185
62a747cb
VS
71862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * configure.ac: Disable emu-usb by default to prevent inadvertent
7189 device takeover.
7190
608e43b1
VS
71912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 Disable usbserial on grub-emu since our libusb code isn't good enough
7194 yet.
7195
7196 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
7197 (usbserial_pl2303): Likewise.
7198 (usbserial_ftdi): Likewise.
7199
94564f81
VS
72002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 * include/grub/disk.h (grub_disk): Remove has_partitions.
7203 All users updated.
7204 * disk/loopback.c (grub_loopback): Remove has_partitions.
7205 All users updated.
7206 (options): Remove partitions. All users updated.
7207 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
7208 * util/i386/pc/grub-setup.c (setup): copy partition table only when
7209 actual partition table is found.
7210
3352800b
VS
72112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 Remove readability checks (too many false negatives).
7214
7215 * util/grub-install.in: Remove readability checks.
7216 * util/grub-mkconfig.in: Likewise.
7217 * util/grub.d/10_hurd.in: Likewise.
7218 * util/grub.d/10_kfreebsd.in: Likewise.
7219 * util/grub.d/10_linux.in: Likewise.
7220 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
7221 way.
7222
2419f17a
VS
72232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 Enable acpi shutdown on all ACPI platforms.
7226
7227 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
7228 on coreboo, multiboot and EFI.
7229 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
7230 (grub_acpi_halt): Likewise.
7231 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
7232 (grub_cmd_halt): Don't call grub_acpi_halt directly.
7233 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
7234 * grub-core/lib/i386/halt.c (grub_halt)
7235 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
7236
0575c7c3
VS
72372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
7240 context.
7241
54ac3cd1
VS
72422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 * grub-core/video/efi_gop.c: Fix over-80-chars line.
7245 * grub-core/video/efi_uga.c: Likewise.
7246
b2a30ac5
VS
72472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 Filter devaliases and never open same device twice.
7250
7251 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
7252 (last_ihandle): Likewise.
7253 (ofdisk_hash_ent): New member shortest.
7254 (ofdisk_hash_add): Add canonical path too.
7255 (scan): New function.
7256 (grub_ofdisk_iterate): Iterate over hashed entries.
7257 (compute_dev_path): Don't add :0.
7258 (grub_ofdisk_open): Don't really open the disk.
7259 (grub_ofdisk_close): Avoid closing unrelated disk.
7260 (grub_ofdisk_read): Implement reopen logic.
7261 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
7262 New function.
7263 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
7264 New proto.
7265
fb53b340
VS
72662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 Fix sparc64.
7269
7270 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
7271 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
7272 right address. Add sparc64_ieee1275_ldflags.
7273 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
7274 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
7275 to grub_host_to_target_addr
7276 (load_image): Likewise.
7277
f452b040
VS
72782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * grub-core/normal/completion.c (complete_file): Handle device
7281 containing slash.
7282 Fix based on patch by Doug Nazar.
7283
9b5b2541
VS
72842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 grub-mknetdir script.
7287
7288 * Makefile.util.def (grub-mknetdir): New module.
7289 * tests/util/grub-shell.in: Support boot=net
7290 * util/grub-mknetdir.in: New file.
7291
9d2be652
VS
72922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 videoinfo on non-vbe.
7295
7296 * grub-core/Makefile.core.def (vbeinfo): Removed.
7297 (vbetest): Removed.
7298 (videoinfo): New module.
7299 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
7300 * grub-core/commands/i386/pc/vbetest.c: Removed.
7301 * grub-core/commands/videoinfo.c: New file.
7302 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
7303 specification.
7304 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
7305 as vbetest.
7306 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
7307 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
7308 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
7309 mode_number. New parameter mode. All users updated.
7310 (grub_video_gop_iterate): New function.
7311 (grub_video_efi_gop): New member iterate.
7312 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
7313 (grub_vbe_set_video_mode): Remove setting useless fields.
7314 (vbe2videoinfo): New function.
7315 (grub_video_vbe_iterate): Likewise.
7316 (grub_video_vbe_setup): Use vbe2videoinfo.
7317 (grub_video_vbe_print_adapter_specific_info): New function.
7318 (grub_video_vbe_adapter): New fields iterate and
7319 print_adapter_specific_info.
7320 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
7321 All users updated.
7322 (grub_video_mode_info): New field mode_number.
7323 (grub_video_adapter): New fields iterate and
7324 print_adapter_specific_info.
7325
179503f5
TG
73262010-09-13 Tristan Gingold <gingold@free.fr>
73272010-09-13 Robert Millan <rmh.grub@aybabtu.com>
73282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * grub-core/commands/efi/lsefisystab.c: New file.
7331 * grub-core/commands/efi/lssal.c: Likewise.
7332 * grub-core/Makefile.core.def (lsacpi): New module.
7333 (lsefisystab): Likewise.
7334 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
7335 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
7336 (grub_efi_sal_system_table): New struct.
7337 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
7338 (grub_efi_sal_system_table_memory_descriptor): Likewise.
7339 (grub_efi_sal_system_table_platform_features): Likewise.
7340 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
7341 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
7342 (grub_efi_sal_system_table_ap_wakeup): Likewise.
7343 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
7344
cf9827de
VS
73452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 Support explicit user claim that a device is BIOS-visible.
7348
7349 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
7350 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
7351 * grub-core/kern/emu/hostdisk.c
7352 (convert_system_partition_to_system_disk): Support mdX.
7353 (find_system_device): New parameter add. All users updated.
7354 (grub_util_biosdisk_is_present): New function.
7355 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
7356 proto.
7357
53f0eb1f
VS
73582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 Search hints support.
7361
7362 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
7363 All users updated.
7364
b23ffd70
YB
73652010-09-13 Yves Blusseau <blusseau@zetam.org>
7366
7367 Bash completion script for util commands
7368
7369 * Makefile.am: Add util/bash-completion.d directory
7370 * configure.ac: Likewise.
7371 * util/bash-completion.d/Makefile.am: New file.
7372 * util/bash-completion.d/grub-completion.bash.in: Likewise.
7373
d547dc28
VS
73742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
7377 (print_backlog): set backlog_ucs4 and backlog_glyphs.
7378 Reported by: Yves Blusseau.
7379
2fc8ccb9
VS
73802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
7383 partition size and offset.
7384
d8a84076
VS
73852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
7388
84fb3b3d
VS
73892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
7392
768ec2e2
VS
73932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
7396 (grub_xvasprintf): Likewise.
7397
4870900f
VS
73982010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
7401
faca6bec
VS
74022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
7405 args ending with NULL.
7406
74072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
7408
7409 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
7410 pointer.
7411
3c70f225
SJ
74122010-09-11 Szymon Janc <szymon@janc.net.pl>
7413
7414 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
7415
4df7996d
VS
74162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 Shutdown using ACPI.
7419
7420 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
7421 * grub-core/commands/acpihalt.c: New file.
7422 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
7423 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
7424 (grub_acpi_halt): New proto.
7425 (GRUB_ACPI_SLP_EN): New const.
7426 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
7427 (GRUB_ACPI_OPCODE_*): New enum.
7428 (GRUB_ACPI_EXTOPCODE_*): Likewise.
7429
126b4c32
TG
74302010-09-11 Tristan Gingold <gingold@free.fr>
74312010-09-11 Robert Millan <rmh.grub@aybabtu.com>
74322010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * commands/lsacpi.c: New file.
7435 * grub-core/Makefile.core.def (lsacpi): New module.
7436 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
7437 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
7438 (grub_acpi_madt_entry_header): New struct.
7439 (grub_acpi_madt): Likewise.
7440 (grub_acpi_madt_entry_interrupt_override): Likewise.
7441 (grub_acpi_madt_entry_sapic): Likewise.
7442 (grub_acpi_madt_entry_lsapic): Likewise.
7443 (grub_acpi_madt_entry_platform_int_source): Likewise.
7444 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
7445 (PRIuGRUB_UINT32_T): Likewise.
7446 (PRIxGRUB_UINT64_T): Likewise.
7447
1aa4fe88
VS
74482010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 Implement loading palette on ieee1275_fb.
7451
7452 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
7453 (have_setcolors): Likewise.
7454 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
7455 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
7456 (grub_video_ieee1275_set_palette): Implement.
7457
25761e13
VS
74582010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
74592010-09-11 Colin Watson <cjwatson@ubuntu.com>
7460
7461 * util/grub-install.in (grub_partition): New variable.
7462 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
7463 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
7464 Fixes a bug reported by Yves Blusseau.
7465
050abaea
VS
74662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 Fix emu on mipsel.
7469
7470 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
7471 =grub_cpu_flush_cache on all mips and not only yeeloong.
7472 * configure.ac (COND_mips): New conditional.
7473 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
7474 platforms.
7475 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
7476 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
7477 [GRUB_LINKER_HAVE_INIT]: New function.
7478 (grub_emu_post_init): Likewise.
7479 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
7480 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
7481 * include/grub/cache.h (_mips): Include mips/cache.h.
7482 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
7483 LVM and RAID prototypes.
7484 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
7485 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
7486 function.
7487
5ed7d816
CW
74882010-09-10 Colin Watson <cjwatson@ubuntu.com>
7489
7490 * util/grub-install.in: Don't try to verify core.img until after
7491 running grub-mkimage to create it.
7492
90367e04
RM
74932010-09-10 Robert Millan <rmh@gnu.org>
7494
7495 * util/grub.d/10_hurd.in: Add misc readability checks.
7496 * util/grub.d/10_kfreebsd.in: Likewise.
7497 * util/grub.d/10_linux.in: Likewise.
7498
c452fa66
CW
74992010-09-10 Colin Watson <cjwatson@ubuntu.com>
7500
7501 * util/grub-install.in: ${imgext} won't be defined here until the
7502 install branch is merged. For the meantime, only verify core.img on
7503 i386-pc and sparc64-ieee1275 platforms.
7504
c38fe9f4
RM
75052010-09-10 Robert Millan <rmh@gnu.org>
7506
7507 Solaris support in grub_find_zpool_from_dir(). Thanks
7508 Seth Goldberg for referring to getextmntent() facility.
7509
7510 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
7511 `sys/mkdev.h'.
7512 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
7513 `<sys/mnttab.h>'.
7514 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
7515 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
7516 method for finding zpool name.
7517
905f7773
CW
75182010-09-10 Colin Watson <cjwatson@ubuntu.com>
7519
7520 grub-fstest needs the host and hostfs modules while other utilities
7521 actively require those modules to be absent, so grub-fstest needs
7522 its own initialisation and finalisation code.
7523
7524 * Makefile.am (grub_fstest.pp): New target.
7525 (grub_fstest_init.lst): Likewise.
7526 (grub_fstest_init.c): Likewise.
7527 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
7528
fb90b546
RM
75292010-09-10 Robert Millan <rmh@gnu.org>
7530
7531 * configure.ac: Check for `struct statfs.f_fstypename' and
7532 `struct statfs.f_mntfromname'.
7533
7534 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
7535 kFreeBSD-specific code.
7536
66d4bea5
RM
75372010-09-10 Robert Millan <rmh@gnu.org>
7538
7539 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
7540 on ZFS. Now non-main filesystems are supported as / too.
7541
b6a690ee
CW
75422010-09-09 Colin Watson <cjwatson@ubuntu.com>
7543
7544 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
7545 and grub-core/disk/host.c to ...
7546 (grub-fstest): ... here. Having the host disk implementation
7547 present confuses grub-probe and other utility programs.
7548
7549 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
7550 when writing to a file, not when writing to stdout.
7551
8901b00c 75522010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
7553
7554 * tests/partmap_test.in: New test for partitions.
7555 * Makefile.util.def: Rules for new test.
7556
7bf45fdd
RM
75572010-09-09 Robert Millan <rmh@gnu.org>
7558
7559 * util/grub-probe.c (probe): Fix a pair of unhandled error
7560 conditions.
7561
4dfbc574
RM
75622010-09-09 Robert Millan <rmh@gnu.org>
7563
7564 Basic Btrfs support (detection and UUID).
7565
7566 * grub-core/fs/btrfs.c: New file.
7567 * Makefile.util.def (library): Register btrfs.c.
7568 * grub-core/Makefile.core.def: Likewise.
7569
6b8e78ae
RM
75702010-09-08 Robert Millan <rmh@gnu.org>
7571
7572 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
7573 with (optional) parameters to specify device and relative path.
7574 * util/grub-install.in: Use is_path_readable_by_grub() to
7575 verify readability of a few critical files.
7576 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
7577 verify readability of grub.cfg.new.
7578
27f21a8b
VS
75792010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 Split minix.mod into minix.mod and minix2.mod.
7582
7583 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
7584 * grub-core/Makefile.core.def (minix2): New module.
7585 * grub-core/fs/minix.c: Use definitions instead of runtime version
7586 checking.
7587 * grub-core/fs/minix2.c: New file.
7588
c0e53ea5
YB
75892010-09-08 Yves Blusseau <blusseau@zetam.org>
7590
7591 Add new --boot-directory option to replace --root-directory
7592
7593 * util/grub-install.in: Add new --boot-directory option
7594 * util/grub-reboot.in: Likewise.
7595 * util/grub-set-default.in: Likewise.
7596
b9fe6ea2
YB
75972010-09-08 Yves Blusseau <blusseau@zetam.org>
7598
7599 * util/grub-mkconfig.in: Use new variable.
7600
d87aedff
YB
76012010-09-08 Yves Blusseau <blusseau@zetam.org>
7602
7603 * configure.ac: Define some useful variables.
7604
e55e8495
VS
76052010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7608 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
7609 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
7610 Use terminfo and don't use cursor-on/cursor-off unless it's known
7611 to work.
7612 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
7613 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
7614
6fa6d675
CW
76152010-09-08 Colin Watson <cjwatson@ubuntu.com>
7616
7617 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
7618 starts with "(,", fill the drive containing the loaded image in
7619 between those two characters, but expect that a full partition
7620 specification including partition map names will follow.
7621
92f2aef0
RM
76222010-09-08 Robert Millan <rmh@gnu.org>
7623
7624 * configure.ac: Remove `--enable-grub-fstest' option.
7625 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
7626
7627 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
7628 `grub-fstest' instead of `grub-probe' for readability verification.
7629 * util/grub-probe.c (probe): Remove readability verification kludge.
7630
99fd620d
RM
76312010-09-08 Robert Millan <rmh@gnu.org>
7632
7633 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
7634 initializing `GRUB_FS'.
7635
058e30ac 76362010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
7637
7638 Not command (!) support to GRUB script.
7639
7640 * tests/grub_script_not.in: New test.
7641 * Makefile.util.def: Rules for new test.
7642
7643 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
7644 ! command as a special case.
7645 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
7646
b61d05ed 76472010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7648
058e30ac 7649 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
7650 grub_free.
b61d05ed 7651
4d69c786 76522010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7653
7654 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
7655
aa3119c4 76562010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7657
7658 * docs/grub.texi (Shell-like scripting): Documentation for break,
7659 continue, shift and return commands.
7660
db0f7e3d
VS
76612010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 Rename CD-ROM to cd on BIOS.
7664
7665 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
7666 "cd".
7667 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
7668
88b87c93
VS
76692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
7672 * util/grub-probe.c (main): Likewise.
7673 * util/i386/pc/grub-setup.c (main): Likewise.
7674 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7675 Reported and debugged by: alexxy
7676
294f324d
VS
76772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
7680 diagnostic info.
7681
d7ee3441
JS
76822010-09-05 Jo Shields <directhex@apebox.org>
7683
7684 * util/grub.d/30_os-prober.in: Add missing classes.
7685
d7e06c1f
VS
76862010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * docs/grub.texi (Theme file format): Document new position format.
7689
fc157e53
VS
76902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
7693 a table. Use @code instead of @verbatim.
7694
506e9a1c
CB
76952010-09-05 Colin D Bennett <colin@gibibit.com>
7696
7697 Gfxmenu documentation.
7698
7699 * docs/grub.texi (Theme file format): New chapter.
7700
f0aff67c
SJ
77012010-09-05 Szymon Janc <szymon@janc.net.pl>
7702
7703 * grub-core/Makefile.core.def (xzio): New module.
7704 * grub-core/io/xzio.c: New file.
7705 * grub-core/lib/xzembed/xz.h: New file (from xembed).
7706 * grub-core/lib/xzembed/xz_config.h: Likewise.
7707 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
7708 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
7709 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
7710 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
7711 * grub-core/lib/xzembed/xz_private.h: Likewise.
7712 * grub-core/lib/xzembed/xz_stream.h: Likewise.
7713 * include/grub/file.h (grub_file_filter_id): New compression filter
7714 GRUB_FILE_FILTER_XZIO.
7715
82a85062
VS
77162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
7719 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
7720 size.
7721
3579415d
VS
77222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
7725 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
7726
5124ae6d
VS
77272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 Uncompressed checksum support.
7730
7731 * grub-core/commands/hashsum.c (options): Add option --uncompress.
7732 (check_list): New parameter uncompress.
7733 (grub_cmd_hashsum): Handle --uncompress.
7734
9aadb3d1
VS
77352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 Reintroduce testload.
7738
7739 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
7740 from here ...
7741 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
7742 (GRUB_MOD_INIT): New function.
7743 (GRUB_MOD_FINI): Likewise.
7744 * grub-core/Makefile.core.def (testload): New module.
7745
a17792c3
SJ
77462010-09-05 Szymon Janc <szymon@janc.net.pl>
7747
7748 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
7749 (uint8_t): New type.
7750 (uint16_t): Likewise.
7751 (uint32_t): Likewise.
7752 (uint64_t): Likewise.
7753
b81e40a3
SJ
77542010-09-05 Szymon Janc <szymon@janc.net.pl>
7755
7756 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
7757
fc2ef117
VS
77582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
7761 Made static.
7762 (grub_gzfile_open): Removed. All users updated.
7763 (GRUB_MOD_INIT): New function.
7764 (GRUB_MOD_FINI): Likewise.
7765 * grub-core/kern/file.c (grub_file_filters_all): New variable.
7766 (grub_file_filters_enabled): Likewise.
7767 (grub_file_open): Handle filters.
7768 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
7769 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
7770 * include/grub/file.h (grub_file_filter_id_t): New type.
7771 (grub_file_filter_t): Likewise.
7772 (grub_file_filters_all): New extern variable.
7773 (grub_file_filters_enabled): Likewise.
7774 (grub_file_filter_register): New inline function.
7775 (grub_file_filter_unregister): Likewise.
7776 (grub_file_filter_disable): Likewise.
7777 (grub_file_filter_disable_compression): Likewise.
7778 * include/grub/gzio.h: Removed.
7779
35ee15e0
BC
77802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7781
7782 Filename expansion support for wildcards in GRUB script.
7783
7784 * tests/grub_script_expansion.in: New test.
7785 * Makefile.util.def: Rule for new test.
7786
7787 * grub-core/commands/wildcard.c: New file, implements filename
7788 expansion support for GRUB script.
7789 * grub-core/Makefile.core.def: Rule update for regexp.mod.
7790 * grub-core/script/argv.c: Cosmetic changes.
7791 * grub-core/script/execute.c (grub_script_arglist_to_argv):
7792 Refactored to perform wildcard expansion on arguments.
7793 * include/grub/script_sh.h (grub_script_wildcard_translator): New
7794 struct.
7795
7796 * tests/util/grub-shell.in: Fix quoting for read input.
7797
5f0c4aca
BC
77982010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7799
7800 Support for updating environment variables with matched substrings
7801 of regexp.
7802
7803 * tests/grub_cmd_regexp.in: New test.
7804 * Makefile.util.def: Rule for new test.
7805
7806 * grub-core/commands/regexp.c: New option -s to update environment
7807 variables with regexp matches.
7808
3759a35f
SJ
78092010-09-04 Szymon Janc <szymon@janc.net.pl>
7810
7811 * include/grub/file.h (grub_file): New member not_easly_seekable.
7812 (grub_file_seekable): New inline function.
7813 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
7814 easily seekable.
7815 (grub_gzio_open): Set not_easly_seekable.
7816 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
7817 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
7818
ed8c6dec
BC
78192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7820
7821 Support for options to appear multiple times on cmdline.
7822
7823 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
7824 * grub-core/commands/extcmd.c: Support for repeatable option.
7825 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
7826 repeatable option support.
7827
7828 Refactor menuentry into a regular command.
7829
7830 * grub-core/commands/menuentry.c: New file, menuentry command
7831 implementation.
7832 * grub-core/Makefile.core.def: Rule update for normal.mod.
7833 * grub-core/normal/main.c: Moved menuentry creation to
7834 grub-core/commands/menuentry.c.
7835 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
7836 (grub_menu_execute_entry_real): Removed.
7837 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
7838 function.
7839 (grub_script_execute_menuentry): Removed.
7840 * grub-core/script/parser.y (menuentry): Removed.
7841 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
7842 * grub-core/script/yylex.l (menuentry): Removed.
7843 * include/grub/menu.h (grub_menu_init): New prototype.
7844 (grub_menu_fini): New prototype.
7845 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
7846 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
7847 (grub_script_execute_sourcecode): New prototype.
7848
dacd0cf0
BC
78492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7850
7851 "return" command for GRUB script functions.
7852
7853 * tests/grub_script_return.in: New test.
7854 * Makefile.util.def: Rules for new test.
7855
7856 * grub-core/script/execute.c (grub_script_return): New function.
7857 * grub-core/script/main.c: Register/unregister return commaond.
7858 * include/grub/script_sh.h (grub_script_return): New prototype.
7859
52e72f9d
BC
78602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7861
7862 "setparams" command to update positional parameters.
7863
7864 * tests/grub_script_setparams.in: New test.
7865 * Makefile.util.def: Rules for new test.
7866
7867 * grub-core/script/argv.c (grub_script_argv_make): New function.
7868 * grub-core/script/execute.c (replace_scope): New function.
7869 (grub_script_setparams): New function.
7870 * grub-core/script/lexer.c: Remove unused variables.
7871 * grub-core/script/main.c: Register/unregister setparams command.
7872 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
7873 (grub_script_setparams): New prototype.
7874
25b60c91
BC
78752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7876
7877 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
7878 grub_free order.
7879
37e7bf68
BC
78802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7881
7882 Support for passing block of commands as an argument to extcmds.
7883
7884 * Makefile.util.def: Rules for new test.
7885 * tests/grub_script_blockarg.in: New test.
7886 * grub-core/tests/test_blockarg.c: New file, block argument
7887 command used in the test.
7888
7889 * include/grub/extcmd.h (grub_extcmd_context): New struct.
7890 (grub_register_extcmd_prio): New function prototype.
7891 (grub_extcmd_dispatcher): New function prototype.
7892 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
7893 type.
7894 * include/grub/script_sh.h (struct grub_script): New members
7895 `children', `next_siblings' and `refcnt' for block arguments and
7896 reference counting.
7897 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
7898 (grub_script_arg): New member `script' for block argument.
7899 (grub_script_argv): New member `script' for block argument.
7900 (grub_parser_param): New member `scripts' for block argument.
7901 (grub_script_mem_free): New extern function prototype.
7902 (grub_script_ref): New function prototype.
7903 (grub_script_unref): New function prototype.
7904
7905 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
7906 extcmd form to support block arguments.
7907 * grub-core/script/argv.c: Block arguments support.
7908 * grub-core/script/execute.c: Likewise.
7909 * grub-core/script/lexer.c: Likewise.
7910 * grub-core/script/main.c: Likewise.
7911 * grub-core/script/script.c: Likewise.
7912 * grub-core/script/parser.y: Likewise. New `block' and `block0'
7913 non-terminals.
7914
7915 * grub-core/commands/acpi.c: Update extcmd implementations with
7916 grub_extcmd_context_t.
7917 * grub-core/commands/cat.c: Likewise.
7918 * grub-core/commands/echo.c: Likewise.
7919 * grub-core/commands/extcmd.c: Likewise.
7920 * grub-core/commands/hashsum.c: Likewise.
7921 * grub-core/commands/hdparm.c: Likewise.
7922 * grub-core/commands/help.c: Likewise.
7923 * grub-core/commands/hexdump.c: Likewise.
7924 * grub-core/commands/i386/cpuid.c: Likewise.
7925 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7926 * grub-core/commands/i386/pc/halt.c: Likewise.
7927 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7928 * grub-core/commands/iorw.c: Likewise.
7929 * grub-core/commands/keystatus.c: Likewise.
7930 * grub-core/commands/loadenv.c: Likewise.
7931 * grub-core/commands/ls.c: Likewise.
7932 * grub-core/commands/lspci.c: Likewise.
7933 * grub-core/commands/memrw.c: Likewise.
7934 * grub-core/commands/probe.c: Likewise.
7935 * grub-core/commands/search_wrap.c: Likewise.
7936 * grub-core/commands/setpci.c: Likewise.
7937 * grub-core/commands/sleep.c: Likewise.
7938 * grub-core/disk/loopback.c: Likewise.
7939 * grub-core/hello/hello.c: Likewise.
7940 * grub-core/loader/i386/bsd.c: Likewise.
7941 * grub-core/loader/xnu.c: Likewise.
7942 * grub-core/term/gfxterm.c: Likewise.
7943 * grub-core/term/serial.c: Likewise.
7944 * grub-core/tests/lib/functional_test.c: Likewise.
7945
888d1500
BC
79462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7947
7948 Multi-line quoted strings support.
7949
7950 * grub-core/script/lexer.c (append_newline): Removed.
7951 (grub_script_lexer_yywrap): Refactored.
7952 (grub_script_lexer_init): Refactored.
7953 * grub-core/script/yylex.l (yywrap): New function.
7954 (grub_lexer_resplit): New function.
7955 (grub_lexer_unput): New function.
7956 * include/grub/script_sh.h (grub_lexer_param): New members, unput
7957 and resplit.
7958 * tests/grub_script_echo1.in: Added few more testcases.
7959
dda060dd
VS
79602010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * grub-core/kern/misc.c: Don't add abort alias in utils.
7963 Reported by: echoline.
7964
6556eba9
BC
79652010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
7966
7967 Add missing files into "make dist" tarball for other platforms.
7968
7969 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
7970 * conf/Makefile.common (dist_noinst_DATA): New variable.
7971 * conf/Makefile.extra-dist: Added missing make dist files.
7972 * grub-core/Makefile.core.def: Likewise.
7973
c8e7bf5f
VS
79742010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 Compress grub_prefix.
7977
7978 * grub-core/boot/i386/pc/lnxboot.S: Use
7979 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
7980 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
7981 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
7982 GRUB_MACHINE_PREFIX_END. All users updated.
7983 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
7984 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
7985 + 0x40.
7986 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7987 * util/grub-mkimage.c (image_target_desc): Change data_end to
7988 prefix_end. All users updated.
7989
a7c00cdb
VS
79902010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
7993 value.
7994 (grub_openbsd_boot): Likewise.
7995 (grub_netbsd_boot): Likewise.
7996 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
7997 (grub_xnu_boot): Likewise.
7998
9f915872
VS
79992010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * configure.ac: Clean LIBS variable after tests.
8002
efa1bee7
CW
80032010-09-02 Colin Watson <cjwatson@ubuntu.com>
8004
8005 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
8006
61d720e5
VS
80072010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
8010 echo if libdevmapper will be used.
8011
ef8e0ec8
IT
80122010-09-02 Ian Turner <Ian.Turner@deshaw.com>
8013
8014 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
8015 constant for the same file.
8016
03e261d8
VS
80172010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
8020
c2a4eba6
CW
80212010-09-02 Colin Watson <cjwatson@ubuntu.com>
8022
8023 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
8024 grub-core/*.pp.
8025
9056cbf3
CW
80262010-09-02 Colin Watson <cjwatson@ubuntu.com>
8027
8028 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
8029 required by the boot protocol.
8030
8031 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
8032 ebp and edi members.
8033 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
8034 state.ebp and state.edi.
8035 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
8036 %ebp and %edi according to grub_relocator32_ebp and
8037 grub_relocator32_edi respectively.
8038 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
8039 and state.edi.
8040
529cc99a
VS
80412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 Add i386-pc-pxe image target.
8044
8045 * util/grub-mkimage.c (image_target_desc): New enum value
8046 IMAGE_I386_PC_PXE.
8047 (image_targets): New target i386-pc-pxe.
8048 (generate_image): Handle i386-pc-pxe image.
8049
9a093920
VS
80502010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 Fix grub_pxe_scan.
8053
8054 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
8055 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
8056 All users updated.
8057 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
8058 (grub_pxe_pxenv): Correct type.
8059
f9cefc4e
CW
80602010-09-01 Colin Watson <cjwatson@ubuntu.com>
8061
8062 * NEWS: Document most of the important changes since 1.98.
8063
4066f57f
CW
80642010-09-01 Colin Watson <cjwatson@ubuntu.com>
8065
8066 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
8067 generated manual page) a little.
8068
da2891f9
CW
80692010-09-01 Colin Watson <cjwatson@ubuntu.com>
8070
8071 * docs/grub.texi: Add myself as an author.
8072
ad717fae
VS
80732010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * Makefile.util.def (libgrub.a): Add missing sunpc.
8076 Reported by: Seth Goldberg.
8077
eefe8abd
VS
80782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 Interrupt wrapping and code simplifications.
8081
9494ef9a
VS
8082 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
8083 x86_noieee1275 which are functionaly equivalent in this case.
8084 (grub-install): Make source on each platform explicit. Enable on
8085 all noemu.
8086 * gentpl.py (x86_efi_pc): Removed group.
8087 (x86_noefi): Likewise.
8088 (i386_noefi): Likewise.
8089 (x86_noieee1275): Likewise.
8090 (i386_noieee1275): Likewise.
8091 (i386_noefi_noieee1275): Likewise.
8092 (i386_pc_qemu_coreboot): Likewise.
8093 (i386_coreboot_multiboot): Likewise.
8094 (i386_pc_coreboot_multiboot_qemu): Likewise.
8095 (x86_noefi_mips): Likewise.
8096 (noieee1275): Likewise.
8097 (ieee1275_mips): Likewise.
8098 (noemu_noieee1275): Likewise.
8099 (cmos): New group.
8100 (usb): Likewise.
8101 (videoinkernel): Likewise.
8102 (videomodules): Likewise.
eefe8abd 8103 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
8104 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
8105 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
8106 include/grub/loader.h, include/grub/msdos_partition.h,
8107 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
8108 include/grub/machine/console.h, include/grub/machine/vga.h,
8109 include/grub/machine/vbe.h, include/grub/machine/init.h,
8110 include/grub/machine/kernel.h, include/grub/cpu/time.h,
8111 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 8112 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
8113 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
8114 * grub-core/Makefile.core.def (kernel): Explicit the source for
8115 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
8116 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
8117 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
8118 Use videoinkernel tag.
8119 (usb): Enable on all usb.
8120 (usbserial_common): Likewise.
8121 (usbserial_pl2303): Likewise.
8122 (usbserial_ftdi): Likewise.
8123 (uhci): Enable on all x86.
8124 (ohci): Enable on all pci.
8125 (cmostest): Enable on all CMOS.
8126 (acpi): Include commands/acpi.c on all platforms.
8127 (halt): Add relevant lib/*/halt.c.
8128 (hdparm): Enable on all pci.
8129 (lspci): Likewise.
8130 (usbtest): Enable on all usb.
8131 (ata): Enable on all pci.
8132 (ata_pthru): Likewise.
8133 (usbms): Enable on all usb.
8134 (usb_keyboard): Likewise.
8135 (font): Use tag videomodules.
8136 (bufio): Likewise.
8137 (datetime): Use tag cmos. Enable on all noemu.
8138 (mmap): Use tags common and x86.
8139 (gfxterm): Use tag videomodules.
8140 (bitmap): Likewise.
8141 (bitmap_scale): Likewise.
8142 (video_fb): Likewise.
8143 (video): Likewise.
8144 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
8145 adjust padding accordingly. All users updated.
8146 (grub_ohci_transaction): Fix bad format specification.
8147 (GRUB_MOD_INIT): Add asserts for struct size.
8148 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
8149 (grub_alloc_td): Likewise.
8150 (grub_free_queue): Likewise.
8151 (grub_uhci_transfer): Likewise.
8152 (grub_uhci_transaction): Fix bad format specification.
8153 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8154 (grub_usb_bulk_readwrite): Likewise.
8155 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
8156 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
8157 Made static.
8158 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
8159 Made static.
8160 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
8161 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
8162 Transformed into C.
8163 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
8164 Moved from here ...
8165 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
8166 ... here. Transformed into C. Made static.
8167 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
8168 Moved from here ...
8169 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
8170 ... here. Transformed into C. Made static.
8171 * grub-core/kern/i386/pc/startup.S
8172 (grub_biosdisk_check_int13_extensions): Moved from here ...
8173 * grub-core/disk/i386/pc/biosdisk.c
8174 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
8175 Made static.
8176 * grub-core/kern/i386/pc/startup.S
8177 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
8178 * grub-core/disk/i386/pc/biosdisk.c
8179 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
8180 Transformed into C. Made static.
8181 * grub-core/kern/i386/pc/startup.S
8182 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
8183 * grub-core/disk/i386/pc/biosdisk.c
8184 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
8185 Transformed into C. Made static.
8186 * grub-core/kern/i386/pc/startup.S
8187 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
8188 * grub-core/disk/i386/pc/biosdisk.c
8189 (grub_biosdisk_get_diskinfo_standard): ... here.
8190 Transformed into C. Made static.
8191 * grub-core/kern/i386/pc/startup.S
8192 (grub_biosdisk_get_num_floppies): Moved from here ...
8193 * grub-core/disk/i386/pc/biosdisk.c
8194 (grub_biosdisk_get_num_floppies): ... here.
8195 Transformed into C. Made static.
8196 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
8197 New function.
8198 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
8199 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
8200 Transformed into C. Made static.
8201 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
8202 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
8203 Transformed into C. Made static.
8204 * grub-core/kern/i386/ieee1275/init.c: Removed.
8205 * grub-core/kern/i386/misc.S: Likewise.
8206 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
8207 Splitted from here ...
8208 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
8209 Transformed into C. Made static. All users updated.
8210 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
8211 Transformed into C. Made static. All users updated.
8212 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
8213 Moved from here...
8214 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
8215 Transformed into C. Made static. All users updated.
8216 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
8217 Moved from here...
8218 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
8219 Transformed into C. Made static. All users updated.
8220 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
8221 Removed (replaced by C version).
8222 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
8223 Moved from here...
8224 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
8225 Transformed into C. Made static.
8226 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
8227 Moved from here...
8228 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
8229 ... here. Transformed into C.
8230 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
8231 Moved from here...
8232 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
8233 ... here. Transformed into C.
8234 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
8235 Moved from here...
8236 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
8237 ... here. Transformed into C. Made static.
8238 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
8239 Moved from here...
8240 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
8241 ... here. Transformed into C.
21ed554b
VS
8242 * grub-core/kern/i386/pc/startup.S
8243 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
8244 * grub-core/video/i386/pc/vbe.c
8245 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
8246 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
8247 Moved from here...
8248 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
8249 ... here. Transformed into C.
8250 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
8251 Moved from here...
8252 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
8253 ... here. Transformed into C.
8254 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
8255 Moved from here...
8256 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
8257 ... here. Transformed into C.
8258 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
8259 Moved from here...
8260 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
8261 ... here. Transformed into C.
8262 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
8263 Moved from here...
8264 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
8265 ... here. Transformed into C. Made static.
8266 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
8267 Moved from here...
8268 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
8269 ... here. Transformed into C. Made static.
8270 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
8271 Moved from here...
8272 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
8273 ... here. Transformed into C. Made static.
8274 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
8275 pxe_rm_entry as third argument.
8276 (grub_bios_interrupt): New function.
8277 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
8278 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
8279 of calling grub_stop.
8280 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
8281 * grub-core/lib/efi/halt.c (grub_halt): ...here.
8282 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
8283 * grub-core/lib/emu/halt.c (grub_halt): ... here.
8284 * grub-core/lib/i386/halt.c: Moved from here ...
8285 * grub-core/lib/i386/halt.c: ... here.
8286 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
8287 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
8288 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
8289 grub_stop_floppy.
8290 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
8291 * include/grub/i386/coreboot/init.h: Removed.
8292 * include/grub/i386/multiboot/init.h: Likewise.
8293 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
8294 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
8295 * include/grub/i386/pc/int.h: New file.
8296 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
8297 (grub_pxe_scan): Removed.
8298 (grub_pxe_call): Update prototype.
8299 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
8300 prototypes.
8301 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
8302 * include/grub/i386/qemu/init.h: Removed.
8303 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
8304 noreturn.
8305 (grub_halt): Likewise.
8306 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
8307 (grub_reboot): Likewise.
8308 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
8309 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
8310 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
8311
215dd471
RM
83122010-08-30 Robert Millan <rmh@gnu.org>
8313
8314 * NEWS: Document addition of ZFS support in `grub-install' and
8315 `grub-mkconfig'.
8316
ebd65b82
BC
83172010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
8318
8319 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
8320 dprintf output.
8321
11721d19
VS
83222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 Remove leftover embedding of font objects.
8325
8326 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8327 * util/grub-install.in (font): Removed.
8328 * util/grub-mkimage.c (generate_image): Remove font support. All users
8329 updated.
8330
37837d4e
VS
83312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 Remove leftover embedding of font objects.
8334
8335 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8336 * util/grub-install.in (font): Removed.
8337 * util/grub-mkimage.c (generate_image): Remove font support. All users
8338 updated.
8339
b4c1aae0
VS
83402010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 8343 Reported by: Ian Turner
b4c1aae0 8344
8920a08d
VS
83452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
8348 timeout to avoid indefinite boot stalling.
8349
f21db033
VS
83502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
8353 (grub_env_write_color_highlight): Likewise.
8354
9a9de209
VS
83552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/normal/term.c (print_more): Return to normal and not
8358 to standard state after printing "---MORE---".
8359
3dca01d7
VS
83602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
8363 Mask out the bit 0x80 since it has other meaning that specifiing color.
8364
0b986c40
VS
83652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 New relocator. Allows for more kernel support and more straightforward
8368 loader writing.
8369
8370 * Makefile.am (BOOTTARGET): New variable.
8371 (QEMU32): Likewise.
8372 (linux.init.x86_64): New target.
8373 (linux.init.i386): Likewise.
8374 (multiboot.elf): Likewise.
8375 (kfreebsd.elf): Likewise.
8376 (kfreebsd.aout): Likewise.
8377 (pc-chainloader.elf): Likewise.
8378 (pc-chainloader.bin): Likewise.
8379 (ntldr.elf): Likewise.
8380 (ntldr.bin): Likewise.
8381 (multiboot2.elf): Likewise.
8382 (kfreebsd.init.x86_64): Likewise.
8383 (kfreebsd.init.i386): Likewise.
8384 (knetbsd.init.i386): Likewise.
8385 (kopenbsd.init.i386): Likewise.
8386 (knetbsd.init.x86_64): Likewise.
8387 (kopenbsd.init.x86_64): Likewise.
8388 (linux-initramfs.i386): Likewise.
8389 (linux-initramfs.x86_64): Likewise.
8390 (kfreebsd-mfsroot.i386.img): Likewise.
8391 (knetbsd.image.i386): Likewise.
8392 (kopenbsd.image.i386): Likewise.
8393 (kopenbsd.image.x86_64): Likewise.
8394 (knetbsd.miniroot-image.i386.img): Likewise.
8395 (kfreebsd-mfsroot.x86_64.img): Likewise.
8396 (knetbsd.image.x86_64): Likewise.
8397 (knetbsd.miniroot-image.x86_64.img): Likewise.
8398 (kfreebsd-mfsroot.i386.gz): Likewise.
8399 (bootcheck-kfreebsd-i386): Likewise.
8400 (kfreebsd-mfsroot.x86_64.gz): Likewise.
8401 (bootcheck-kfreebsd-x86_64): Likewise.
8402 (knetbsd.miniroot-image.i386.gz): Likewise.
8403 (bootcheck-knetbsd-i386): Likewise.
8404 (bootcheck-kopenbsd-i386): Likewise.
8405 (bootcheck-kopenbsd-x86_64): Likewise.
8406 (knetbsd.miniroot-image.x86_64.gz): Likewise.
8407 (bootcheck-knetbsd-x86_64): Likewise.
8408 (bootcheck-linux-i386): Likewise.
8409 (bootcheck-linux-x86_64): Likewise.
8410 (bootcheck-linux16-i386): Likewise.
8411 (bootcheck-linux16-x86_64): Likewise.
8412 (bootcheck-multiboot): Likewise.
8413 (bootcheck-multiboot2): Likewise.
8414 (bootcheck-kfreebsd-aout): Likewise.
8415 (bootcheck-pc-chainloader): Likewise.
8416 (bootcheck-ntldr): Likewise.
8417 (CLEANFILES): Add new targets.
8418 (BOOTCHECKS): New variable.
8419 (.PHONY): Add bootchecks.
8420 (SUCCESSFUL_BOOT_STRING): New variable.
8421 (BOOTCHECK_TIMEOUT): Likewise.
8422 (bootcheck): New target
8423 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
8424 * configure.ac: Correct efiemu excuse.
8425 * docs/grub.texi (Supported kernels): New chapter.
8426 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
8427 include/grub/mm_private.h. Simplify inclusion of
8428 include/grub/boot.h, include/grub/loader.h
8429 and include/grub/msdos_partition.h
8430 (KERNEL_HEADER_FILES) [i386_coreboot]:
8431 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
8432 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
8433 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
8434 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
8435 include/grub/machine/loader.h.
8436 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
8437 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
8438 extra_dist.
8439 (pci.mod): Enable on i386-multiboot.
8440 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
8441 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
8442 i386-qemu.
8443 (relocator.mod): Rewritten.
8444 (aout.mod): Enable on all x86.
8445 (bsd.mod): Likewise.
8446 (ntldr.mod): New module.
8447 (linux.mod): Use loader/i386/linux.c on all x86.
8448 (xnu.mod): Enable on all x86.
8449 (vga_text.mod): disable on EFI and QEMU.
8450 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
8451 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
8452 * grub-core/efiemu/loadcore.c: Likewise.
8453 * grub-core/efiemu/main.c: Likewise.
8454 (grub_efiemu_exit_boot_services): Removed.
8455 (grub_efiemu_finish_boot_services): Likewise.
8456 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
8457 function.
8458 * grub-core/efiemu/i386/nocfgtables.c: New file.
8459 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
8460 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
8461 (grub_efi_finish_boot_services): Moved from here ...
8462 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
8463 Fille finish memory map and related data.
8464 (finish_mmap_buf): New variable.
8465 (grub_efi_uintn_t finish_mmap_size): Likewise.
8466 (grub_efi_uintn_t finish_key): Likewise.
8467 (grub_efi_uintn_t finish_desc_size): Likewise.
8468 (grub_efi_uint32_t finish_desc_version): Likewise.
8469 (grub_efi_is_finished): Likewise.
8470 (grub_efi_get_memory_map): Use saved memory map if EFI is already
8471 finished.
8472 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
8473 (grub_elf64_phdr_iterate): Likewise.
8474 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
8475 (grub_os_area_size): Likewise.
8476 (grub_machine_init): Don't reserve os area.
8477 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
8478 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8479 * grub-core/kern/i386/loader.S: Removed.
8480 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
8481 (grub_os_area_size): Likewise.
8482 (grub_machine_init): Don't reserve os area.
8483 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8484 Don't call grub_dl_unload_all.
8485 Don't include loader.S.
8486 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8487 Declare the memory after _end as available.
8488 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 8489 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 8490 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
8491 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
8492 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
8493 * include/grub/mm_private.h (grub_mm_header): ... here.
8494 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
8495 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
8496 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
8497 (grub_mm_region): ..here. Removed addr. Added pre_size.
8498 All users updated.
8499 * grub-core/kern/mm.c (base): Renamed to ...
8500 (grub_mm_base): ... this. Made global.
8501 (grub_real_malloc): Alloc from end of region.
8502 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
8503 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
8504 * grub-core/kern/powerpc/cache_flush.S: ... here.
8505 * grub-core/lib/efi/relocator.c: New file.
8506 * grub-core/lib/i386/relocator.c: Rewritten.
8507 * grub-core/lib/i386/relocator16.S: New file.
8508 * grub-core/lib/i386/relocator32.S: Likewise.
8509 * grub-core/lib/i386/relocator64.S: Likewise.
8510 * grub-core/lib/i386/relocator_asm.S: Rewritten.
8511 * grub-core/lib/i386/relocator_common.S: New file.
8512 * grub-core/lib/ieee1275/relocator.c: Likewise.
8513 * grub-core/lib/mips/relocator.c: Rewritten.
8514 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
8515 stylistic adjustments.
8516 * grub-core/lib/powerpc/relocator.c: New file.
8517 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
8518 * grub-core/lib/relocator.c: Rewritten.
8519 * grub-core/lib/x86_64/relocator_asm.S: New file.
8520 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
8521 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
8522 (bsd_tag): New struct.
8523 (tags): New variable.
8524 (tags_last): Likewise.
8525 (netbsd_module): New struct.
8526 (netbsd_mods): New variable.
8527 (netbsd_mods_last): Likewise.
8528 (openbsd_opts): New parameter "serial".
8529 (OPENBSD_SERIAL_ARG): New definition.
8530 (netbsd_opts): New parameter "serial".
8531 (NETBSD_SERIAL_ARG): New definition.
8532 (grub_freebsd_add_meta): Reorganised into ...
8533 (grub_bsd_add_meta): ...this. All users updated.
8534 (grub_freebsd_add_mmap): Reorganised into ...
8535 (generate_e820_mmap): ...this...
8536 (grub_bsd_add_mmap): ...and this. All users updated.
8537 (grub_freebsd_list_modules): Use tags.
8538 (grub_netbsd_add_meta_module): New function.
8539 (grub_netbsd_list_modules): Likewise.
8540 (grub_freebsd_boot): Use relocator and finish EFI.
8541 (grub_openbsd_boot): Likewise.
8542 (grub_netbsd_setup_video): New function.
8543 (grub_netbsd_add_modules): Likewise.
8544 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
8545 and finish EFI.
8546 (grub_bsd_unload): Unload tags.
8547 (grub_bsd_load_aout): Use relocator.
8548 (grub_bsd_elf32_size_hook): New function.
8549 (grub_bsd_elf32_hook): Use relocator.
8550 (grub_bsd_elf64_size_hook): New function.
8551 (grub_bsd_elf64_hook): Use relocator.
8552 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
8553 (grub_bsd_load): Zero-out openbsd_ramdisk.
8554 (grub_bsd_load): Use relocator.
8555 (grub_cmd_openbsd): Support serial.
8556 (grub_cmd_netbsd): Support modules.
8557 (grub_cmd_freebsd_module): Use relocator.
8558 (grub_netbsd_module_load): New function.
8559 (grub_cmd_netbsd_module): Likewise.
8560 (grub_cmd_openbsd_ramdisk): Likewise.
8561 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
8562 kopenbsd_ramdisk.
8563 (GRUB_MOD_FINI): Unregister new commands.
8564 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
8565 (grub_freebsd_load_elfmodule_obj): Use relocator.
8566 (grub_freebsd_load_elfmodule): Likewise.
8567 (grub_freebsd_load_elf_meta): Likewise.
8568 (grub_netbsd_load_elf_meta): New function.
8569 (grub_openbsd_find_ramdisk): Likewise.
8570 * grub-core/loader/i386/bsd_helper.S: Removed.
8571 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
8572 * grub-core/loader/i386/bsd_trampoline.S: Removed.
8573 * grub-core/loader/i386/efi/linux.c: Likewise.
8574 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
8575 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
8576 (DEFAULT_VIDEO_MODE): Likewise.
8577 (real_mode_target): New variable.
8578 (prot_mode_target): Likewise.
8579 (initrd_mem_target): Likewise.
8580 (relocator): Likewise.
8581 (efi_mmap_buf): Likewise.
8582 (efi_mmap_size): Likewise.
8583 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
8584 (free_pages): Use relocator.
8585 (allocate_pages): Account for efi_mmap and use relocator. Return error.
8586 (grub_linux_setup_video): Return error.
8587 (grub_linux_trampoline_start): Removed.
8588 (grub_linux_trampoline_end): Likewise.
8589 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
8590 andd video parameters depending on firmware.
8591 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
8592 [GRUB_MACHINE_EFI]: Pass EFI parameters.
8593 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
8594 (grub_cmd_initrd): Use relocator.
8595 * grub-core/loader/i386/linux_trampoline.S: Removed.
8596 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
8597 (elf_sec_entsize): Likewise.
8598 (elf_sec_shstrndx): Likewise.
8599 (elf_sections): Likewise.
8600 (grub_multiboot_load): Use relocator.
8601 (grub_multiboot_get_mbi_size): Account for sections.
8602 (grub_multiboot_make_mbi): Use relocator and support sections.
8603 (grub_multiboot_add_elfsyms): New function.
8604 (grub_multiboot_free_mbi): Free sections.
8605 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
8606 (grub_linux_real_target): Likewise.
8607 (grub_linux_real_chunk): Likewise.
8608 (grub_linux16_prot_size): Likewise.
8609 (grub_linux16_boot): Use relocator.
8610 (grub_linux_unload): Unload relocator.
8611 (grub_cmd_linux): Use relocator.
8612 (grub_cmd_initrd): Likewise.
8613 * grub-core/loader/i386/pc/ntldr.c: New file.
8614 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
8615 Don't try to guess CPU frequency.
8616 (grub_xnu_set_video): Stretch bitmap.
8617 (grub_xnu_boot): Use relocator.
8618 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
8619 (grub_linux_unload): Free relocator.
8620 (grub_linux_load32): Use relocator.
8621 (grub_linux_load64): Likewise.
8622 (grub_cmd_initrd): Likewise.
8623 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
8624 (grub_multiboot_unload): Unload relocator.
8625 (grub_cmd_multiboot): Use relocator.
8626 (grub_cmd_module): Likewise.
8627 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
8628 Use relocator and support sections.
8629 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
8630 (elf_sec_entsize): Likewise.
8631 (elf_sec_shstrndx): Likewise.
8632 (elf_sections): Likewise.
8633 (grub_multiboot_load): Use relocator.
8634 (grub_multiboot_get_mbi_size): Account for sections.
8635 (grub_multiboot_make_mbi): Use relocator and support sections.
8636 (grub_multiboot_add_elfsyms): New function.
8637 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
8638 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
8639 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
8640 Prototype changed. All users updated.
8641 (grub_xnu_align_heap): Simplified.
8642 (grub_xnu_writetree_toheap): Likewise.
8643 (grub_xnu_unload): Unload relocator.
8644 (grub_cmd_xnu_kernel): Use relocator.
8645 (grub_cmd_xnu_kernel64): Likewise.
8646 (grub_xnu_register_memory): Simplified.
8647 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
8648 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
8649 EFI is finished.
8650 (grub_console_checkkey): Likewise.
8651 (grub_console_getkey): Likewise.
8652 (grub_console_getwh): Likewise.
8653 (grub_console_getxy): Likewise.
8654 (grub_console_gotoxy): Likewise.
8655 (grub_console_cls): Likewise.
8656 (grub_console_setcolorstate): Likewise.
8657 (grub_console_setcursor): Likewise.
8658 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
8659 * grub-core/tests/boot/kbsd.init-i386.S: New file.
8660 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
8661 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
8662 * grub-core/tests/boot/kernel-8086.S: Likewise.
8663 * grub-core/tests/boot/kernel-i386.S: Likewise.
8664 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
8665 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
8666 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
8667 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
8668 * grub-core/tests/boot/knetbsd.cfg: Likewise.
8669 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
8670 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
8671 * grub-core/tests/boot/linux.cfg: Likewise.
8672 * grub-core/tests/boot/linux.init-i386.S: Likewise.
8673 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
8674 * grub-core/tests/boot/linux16.cfg: Likewise.
8675 * grub-core/tests/boot/multiboot.cfg: Likewise.
8676 * grub-core/tests/boot/multiboot2.cfg: Likewise.
8677 * grub-core/tests/boot/ntldr.cfg: Likewise.
8678 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
8679 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
8680 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
8681 New definition.
8682 * include/grub/dl.h (grub_dl_unload_all): Removed.
8683 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
8684 (grub_efi_finish_boot_services): Change prototype.
8685 (grub_efi_is_finished): New variable.
8686 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
8687 Changed prototype.
8688 (grub_efiemu_finish_boot_services): Removed.
8689 (grub_machine_efiemu_init_tables): New prototype.
8690 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
8691 (grub_elf64_phdr_iterate): Likewise.
8692 * include/grub/i386/bsd.h: Include relocator.h.
8693 (freebsd_tag_header): New struct.
8694 (grub_openbsd_bios_mmap): Removed.
8695 (grub_unix_real_boot): Removed.
8696 (grub_freebsd_load_elfmodule32): Changed prototype.
8697 (grub_freebsd_load_elfmodule_obj64): Likewise.
8698 (grub_freebsd_load_elf_meta32): Likewise.
8699 (grub_freebsd_load_elf_meta64): Likewise.
8700 (grub_freebsd_add_meta): Removed.
8701 (grub_netbsd_load_elf_meta32): New prototype.
8702 (grub_netbsd_load_elf_meta64): Likewise.
8703 (grub_bsd_add_meta): Likewise.
8704 (grub_openbsd_ramdisk_descriptor): New struct.
8705 (grub_openbsd_find_ramdisk32): New prototype.
8706 (grub_openbsd_find_ramdisk64): Likewise.
8707 * include/grub/i386/coreboot/loader.h: Removed.
8708 * include/grub/i386/efi/loader.h: Likewise.
8709 * include/grub/i386/ieee1275/loader.h: Likewise.
8710 * include/grub/i386/linux.h (linux_kernel_header): Change void *
8711 to grub_uint32_t.
8712 * include/grub/i386/loader.h: Removed.
8713 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
8714 value.
8715 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
8716 (grub_phys_addr_t): New type.
8717 (grub_vtop): New inline function.
8718 (grub_map_memory): Likewise.
8719 (grub_unmap_memory): Likewise.
8720 * include/grub/i386/multiboot/loader.h: Removed.
8721 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
8722 (NETBSD_BTINFO_CONSOLE): New definition.
8723 (NETBSD_BTINFO_SYMTAB): Likewise.
8724 (NETBSD_BTINFO_MODULES): Likewise.
8725 (NETBSD_BTINFO_FRAMEBUF): Likewise.
8726 (grub_netbsd_bootinfo): New struct.
8727 (grub_netbsd_btinfo_common): Use explicit bitsize.
8728 (grub_netbsd_btinfo_mmap_entry): Removed.
8729 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
8730 (grub_netbsd_btinfo_bootdisk): New struct.
8731 (grub_netbsd_btinfo_symtab): Likewise.
8732 (grub_netbsd_btinfo_serial): Likewise.
8733 (grub_netbsd_btinfo_modules): Likewise.
8734 (grub_netbsd_btinfo_framebuf): Likewise.
8735 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
8736 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
8737 Likewise.
8738 (grub_openbsd_bootargs): Use explicit bitsize.
8739 (grub_openbsd_bootarg_console): New struct.
8740 (GRUB_OPENBSD_COM_MAJOR): New definition.
8741 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
8742 * include/grub/i386/pc/efiemu.h: Removed.
8743 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
8744 * include/grub/i386/qemu/loader.h: Removed.
8745 * include/grub/i386/relocator.h: Rewritten.
8746 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
8747 * include/grub/mips/memory.h: New file.
8748 * include/grub/mips/multiboot.h: Rewritten.
8749 * include/grub/mips/relocator.h: Rewritten.
8750 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
8751 (grub_vtop): New function.
8752 (grub_map_memory): Likewise.
8753 (grub_unmap_memory): Likewise.
8754 * include/grub/misc.h (ALIGN_DOWN): New definition.
8755 * include/grub/mm.h (grub_mm_check_real): New proto.
8756 (GRUB_MM_CHECK): New definition.
8757 * include/grub/mm_private.h: New file.
8758 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
8759 (grub_multiboot_get_mbi_size): Removed.
8760 (grub_multiboot_make_mbi): Change prottype.
8761 (grub_multiboot_set_accepts_video): New proto.
8762 (grub_multiboot_add_elfsyms): Likewise.
8763 (grub_multiboot_payload_eip): New variable.
8764 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
8765 New prototype.
8766 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
8767 New definition.
8768 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
8769 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
8770 * include/grub/powerpc/ieee1275/loader.h: Removed.
8771 * include/grub/powerpc/memory.h: New file.
8772 * include/grub/powerpc/relocator.h: Likewise.
8773 * include/grub/relocator.h: Likewise.
8774 * include/grub/relocator_private.h: Likewise.
8775 * include/grub/sparc64/ieee1275/loader.h: Removed.
8776 * include/grub/x86_64/memory.h: New file.
8777 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
8778 (grub_xnu_heap_malloc): Likewise.
8779 (grub_xnu_heap_real_start): Removed.
8780 (grub_xnu_heap_start): Likewise.
8781 (grub_xnu_relocator): New variable.
8782 (grub_xnu_heap_target_start): Likewise.
8783 * tests/util/grub-shell.in: Support non-pc.
8784 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 8785
5303b85d
VS
87862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
8789 on malloc error.
8790 (grub_bidi_logical_to_visual): Check that malloc succeded.
8791 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
8792 puts.
8793 (grub_xputs_normal): Likewise.
8794
d768d159
VS
87952010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
8798 extra_dist.
8799
88002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * grub-core/efiemu/runtime/efiemu.sh: Removed.
8803
5bf84df4
VS
88042010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
8807
3626810e
VS
88082010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
8811 dprintf.
8812
a7363f53
BC
88132010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
8814
8815 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
8816
902f75f6
VS
88172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * grub-core/normal/term.c (print_more): Fix a memory leak.
8820 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
8821 (grub_xputs_normal): Likewise.
8822
3c707967
VS
88232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
8826 the begining of the string
8827
2053cc07
VS
88282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * grub-core/script/script.c (grub_script_parse): Free parsed on
8831 failure.
8832
46422ebf
VS
88332010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
8836 on failure.
8837
9e0fa3f6
VS
88382010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
8841 return.
8842
3393cf16
VS
88432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
8846 (scroll_up): Fix a memory leak.
8847
b17540cb
VS
88482010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
8851 errors.
8852
67140446
VS
88532010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 Handle USB pendrives exposed as floppies.
8856
8857 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
8858 floppy.
8859 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
8860 Check for partitions on all devices.
8861
e35e46fc
VS
88622010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
8865 (readkey): Likewise.
8866
d24c6190
BC
88672010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8868
8869 Multiple variable names support to "export" command.
8870
8871 * normal/context.c (grub_cmd_export): "export" command supports
8872 multiple variable names.
8873
04ddcc6a
ST
88742010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
8875
8876 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
8877 --target=drive output to Mach device name.
8878
0c8b61d8
BC
88792010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
8880
8881 New Automake based build system for GRUB.
8882
8883 * ABOUT-NLS: New file.
8884 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
8885 in Makefile.util.def file.
8886 * Makefile.util.def: New file. Autogen build definitions file for
8887 GRUB host utils.
8888 * conf/Makefile.common: New file. Common variables for GRUB host
8889 utils and target modules.
8890 * conf/Makefile.extra-dist: New file. Extra files for make dist.
8891 * docs/Makefile.am: New file. Automake file for docs.
8892 * gentpl.py: New file. Python script to generate Autogen
8893 template.
8894 * grub-core/Makefile.am: New file. GRUB target modules' rules
8895 that doesn't fit in Makefile.core.def file.
8896 * grub-core/Makefile.core.def: New file. Autogen build
8897 definitions file for GRUB target modules.
8898 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
8899 specific setjmp.S file.
8900 * po/Makefile.am: New file.
8901
8902 * .bzrignore: New ignores.
8903 * INSTALL: New requirements, without Ruby.
8904 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
8905 * autogen.sh: Updated to invoke autogen as necessary.
8906 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
8907 and defines for Automake conditionals.
8908 * geninit.sh: Refactoring.
8909
8910 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
8911 necessary.
8912 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
8913 New prototype.
8914
8915 * include/grub/test.h: Fix functional test modules' naming.
8916 * grub-core/tests/example_functional_test.c: Fix test module name.
8917
8918 * util/misc.c: Hosted versions' of grub functions for libgrub.a
8919 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
8920 * util/grub-editenv.c: Likewise.
8921 * util/grub-fstest.c: Likewise.
8922 * util/grub-mkdevicemap.c: Likewise.
8923 * util/grub-mkfont.c: Likewise.
8924 * util/grub-mkimage.c: Likewise.
8925 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8926 * util/grub-probe.c: Likewise.
8927 * util/grub-script-check.c: Likewise.
8928 * util/i386/pc/grub-setup.c: Likewise.
8929 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8930
8931 * tests/util/grub-shell.in: Fix override directory path.
8932 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
8933 * util/import_gcry.py: Create Makefile.gcry.def file instead.
8934
8935 * util/lvm.c: Update #includes.
8936 * util/raid.c: Likewise.
8937 * util/resolve.c: Likewise.
8938 * grub-core/bus/emu/pci.c: Likewise.
8939 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
8940 * grub-core/lib/posix_wrap/string.h: Likewise.
8941 * grub-core/kern/emu/main.c: Likewise.
8942
8943 * grub-core/gensymlist.sh: New file. Script for generating kernel
8944 symbols file.
8945 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
8946
8947 * grub-core/gentrigtables.c: Fix unused variable warnings.
8948
8949 * Makefile.in: Removed.
8950 * conf/any-emu.rmk: Removed.
8951 * conf/common.rmk: Removed.
8952 * conf/i386-coreboot.rmk: Removed.
8953 * conf/i386-efi.rmk: Removed.
8954 * conf/i386-ieee1275.rmk: Removed.
8955 * conf/i386-multiboot.rmk: Removed.
8956 * conf/i386-pc.rmk: Removed.
8957 * conf/i386-qemu.rmk: Removed.
8958 * conf/i386.rmk: Removed.
8959 * conf/mips-yeeloong.rmk: Removed.
8960 * conf/mips.rmk: Removed.
8961 * conf/powerpc-ieee1275.rmk: Removed.
8962 * conf/sparc64-ieee1275.rmk: Removed.
8963 * conf/tests.rmk: Removed.
8964 * conf/x86-efi.rmk: Removed.
8965 * conf/x86_64-efi.rmk: Removed.
8966 * gendistlist.sh: Removed.
8967 * geninitheader.sh: Removed.
8968 * genkernsyms.sh.in: Removed.
8969 * genmk.rb: Removed.
8970 * gensymlist.sh.in: Removed.
8971 * mkinstalldirs: Removed.
8972 * boot: Moved ...
8973 * grub-core/boot: ... to here.
8974 * bus: Moved ...
8975 * grub-core/bus: ... to here.
8976 * commands: Moved ...
8977 * grub-core/commands: ... to here.
8978 * disk: Moved ...
8979 * grub-core/disk: ... to here.
8980 * efiemu: Moved ...
8981 * grub-core/efiemu: ... to here.
8982 * font: Moved ...
8983 * grub-core/font: ... to here.
8984 * fs: Moved ...
8985 * grub-core/fs: ... to here.
8986 * gencmdlist.sh: Moved ...
8987 * grub-core/gencmdlist.sh: ... to here.
8988 * genemuinit.sh: Moved ...
8989 * grub-core/genemuinit.sh: ... to here.
8990 * genemuinitheader.sh: Moved ...
8991 * grub-core/genemuinitheader.sh: ... to here.
8992 * genfslist.sh: Moved ...
8993 * grub-core/genfslist.sh: ... to here.
8994 * genhandlerlist.sh: Moved ...
8995 * grub-core/genhandlerlist.sh: ... to here.
8996 * genmoddep.awk: Moved ...
8997 * grub-core/genmoddep.awk: ... to here.
8998 * genmodsrc.sh: Moved ...
8999 * grub-core/genmodsrc.sh: ... to here.
9000 * genpartmaplist.sh: Moved ...
9001 * grub-core/genpartmaplist.sh: ... to here.
9002 * genparttoollist.sh: Moved ...
9003 * grub-core/genparttoollist.sh: ... to here.
9004 * genterminallist.sh: Moved ...
9005 * grub-core/genterminallist.sh: ... to here.
9006 * gentrigtables.c: Moved ...
9007 * grub-core/gentrigtables.c: ... to here.
9008 * genvideolist.sh: Moved ...
9009 * grub-core/genvideolist.sh: ... to here.
9010 * gettext: Moved ...
9011 * grub-core/gettext: ... to here.
9012 * gfxmenu: Moved ...
9013 * grub-core/gfxmenu: ... to here.
9014 * gnulib: Moved ...
9015 * grub-core/gnulib: ... to here.
9016 * hello: Moved ...
9017 * grub-core/hello: ... to here.
9018 * hook: Moved ...
9019 * grub-core/hook: ... to here.
9020 * io: Moved ...
9021 * grub-core/io: ... to here.
9022 * kern: Moved ...
9023 * grub-core/kern: ... to here.
9024 * lib: Moved ...
9025 * grub-core/lib: ... to here.
9026 * loader: Moved ...
9027 * grub-core/loader: ... to here.
9028 * mmap: Moved ...
9029 * grub-core/mmap: ... to here.
9030 * normal: Moved ...
9031 * grub-core/normal: ... to here.
9032 * partmap: Moved ...
9033 * grub-core/partmap: ... to here.
9034 * parttool: Moved ...
9035 * grub-core/parttool: ... to here.
9036 * script: Moved ...
9037 * grub-core/script: ... to here.
9038 * term: Moved ...
9039 * grub-core/term: ... to here
9040 * tests/example_functional_test.c: Moved ...
9041 * grub-core/tests/example_functional_test.c: ... to here.
9042 * tests/lib/functional_test.c: Moved ...
9043 * grub-core/tests/lib/functional_test.c: ... to here.
9044 * tests/lib/test.c: Moved ...
9045 * grub-core/tests/lib/test.c: ... to here.
9046 * video: Moved ...
9047 * grub-core/video: ... to here.
9048
645586e6
BC
90492010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9050
9051 Replace --enable-grub-emu-modules with grub-emu-lite.
9052
9053 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
9054 cache.S.
9055
9056 * include/grub/emu/misc.h (grub_emu_init): New prototype.
9057 * kern/emu/full.c: New file. For grub-emu specific initialization.
9058 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
9059 * kern/emu/main.c: Call initialization function grub_emu_init.
9060
9061 * Makefile.in: Include grub-emu-lite in install.
9062 * commands/parttool.c: Use grub_no_autoload to differentiate
9063 between grub-emu and grub-emu-lite.
9064 * include/grub/misc.h: New variable grub_no_autoload.
9065
9066 * conf/any-emu.rmk: New rules for grub-emu-lite.
9067 * configure.ac: Remove --enable-grub-emu-modules.
9068 * genmk.rb: Cleanup unnecessary rules.
9069 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
9070
9071 * normal/main.c: Don't load list files on grub-emu-lite.
9072 * util/misc.c (grub_arch_sync_caches): Removed.
9073
f86a4030
CW
90742010-08-23 Colin Watson <cjwatson@ubuntu.com>
9075
9076 * kern/mips/startup.S (grub_prefix): Update comment to refer to
9077 grub-mkimage rather than grub-mkelfimage.
9078 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9079
06776944
VS
90802010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
9083 a key after CapsLock or NumLock. It's just a qemu bug.
9084
df262419
VS
90852010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
9088 needed by libusb wrapper.
9089
b40ea81b
ST
90902010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9091
9092 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
9093
dee50575
VS
90942010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
9097 --nounzip is passed.
9098
fb1d7b79
VS
90992010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 USB hotunplugging and USB serial support.
9102
9103 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
9104 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
9105 (grub_uhci_transfer): Respect timeout and set *actual.
9106 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
9107 non-standard length.
9108 (grub_usb_device_attach): Autoload modules.
9109 (GRUB_MOD_INIT): Set grub_term_poll_usb.
9110 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
9111 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
9112 users updated.
9113 (grub_usb_add_hub): Fill nports and children.
9114 (attach_root_port): Receive hub instead of controller.
9115 All users updated. Fill hub->devices.
9116 (grub_usb_root_hub): Allocate hub->devices.
9117 (detach_device): New function.
9118 (poll_nonroot_hub): Fill children and detach devices.
9119 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
9120 actual arguments. All users updated.
9121 (grub_usb_bulk_read_extended): New function.
9122 * bus/usb/serial/common.c: New file.
9123 * bus/usb/serial/ftdi.c: Likewise.
9124 * bus/usb/serial/pl2303.c: Likewise.
9125 * commands/terminal.c (handle_command): Support wildcard.
9126 * commands/usbtest.c: Output "Unknown" instead of empty string.
9127 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
9128 (usbserial_common_mod_SOURCES): New variable.
9129 (usbserial_common_mod_CFLAGS): Likewise.
9130 (usbserial_common_mod_LDFLAGS): Likewise.
9131 (pkglib_MODULES): Add usbserial_pl2303.mod.
9132 (usbserial_pl2303_mod_SOURCES): New variable.
9133 (usbserial_pl2303_mod_CFLAGS): Likewise.
9134 (usbserial_pl2303_mod_LDFLAGS): Likewise.
9135 (pkglib_MODULES): Add usbserial_ftdi.mod.
9136 (usbserial_ftdi_mod_SOURCES): New variable.
9137 (usbserial_ftdi_mod_CFLAGS): Likewise.
9138 (usbserial_ftdi_mod_LDFLAGS): Likewise.
9139 (pkglib_MODULES): Add serial.mod.
9140 (serial_mod_SOURCES): New variable.
9141 (serial_mod_CFLAGS): Likewise.
9142 (serial_mod_LDFLAGS): Likewise.
9143 * conf/i386-pc.rmk: Likewise.
9144 * conf/mips-yeeloong.rmk: Likewise.
9145 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
9146 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9147 * disk/usbms.c (first_available_slot): New variable.
9148 (grub_usbms_attach): Don't reuse free slots due to potential cache
9149 problems.
9150 * include/grub/serial.h: Moved to ..
9151 * include/grub/ns8250.h: ...this.
9152 * include/grub/serial.h: New file.
9153 * include/grub/term.h (grub_term_poll_usb): New variable.
9154 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
9155 readkey. All users updated.
9156 (grub_terminfo_output_state): Pass term to put.
9157 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
9158 (grub_usb_controller_dev): Add timeout and actual arguments to
9159 transfer. All users updated.
9160 (grub_usb_interface): New field detach_data.
9161 (grub_usb_device): New fields children and nports.
9162 (grub_usb_ep_type_t): New type.
9163 (grub_usb_get_ep_type): New function.
9164 (grub_usb_bulk_read_extended): Likewise.
9165 * include/grub/usbdesc.h (grub_usb_desc): New type.
9166 * include/grub/usbserial.h: New file.
9167 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
9168 * kern/term.c (grub_term_poll_usb): New variable.
9169 (grub_getkey): Call grub_term_poll_usb if set.
9170 (grub_checkkey): Likewise.
9171 (grub_getkeystatus): Likewise.
9172 * term/serial.c: Moved controller-specific parts to ...
9173 * term/ns8250.c: ... here.
9174 * term/serial.c: Mostly rewritten.
9175 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
9176 according to spec.
9177
21a313de
RM
91782010-08-20 Robert Millan <rmh@gnu.org>
9179
9180 Make kFreeBSD code more generic to support ext2fs as root, ufs as
9181 a separate module and maybe other interesting combinations.
9182
9183 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
9184 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
9185 (kfreebsd_entry): Add generic filesystem module load routine.
9186 Map GRUB `ext2' to kFreeBSD `ext2fs'.
9187
63c734a6
CW
91882010-08-20 Colin Watson <cjwatson@ubuntu.com>
9189
9190 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
9191 "numcenter" (I misunderstood the purpose of this entry).
9192 * docs/grub.texi (sendkey): Likewise.
9193
c4d16542
CW
91942010-08-20 Colin Watson <cjwatson@ubuntu.com>
9195
9196 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
9197 status flag options; simply omitting the option is equivalent and
9198 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
9199 (keysym_table): Rename "num5numlock" to "numlock".
9200 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
9201 can uniformly say that only the last of multiple `sendkey'
9202 invocations has any effect.
9203 * docs/grub.texi (sendkey): New section.
9204
93541d66
CW
92052010-08-19 Colin Watson <cjwatson@ubuntu.com>
9206
9207 * commands/i386/pc/sendkey.c (options): Fix three typos.
9208
b4ece5e1
VS
92092010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 Implement sendkey support.
9212
9213 * commands/i386/pc/sendkey.c: New file.
9214 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
9215 (sendkey_mod_SOURCES): New variable.
9216 (sendkey_mod_CFLAGS): Likewise.
9217 (sendkey_mod_LDFLAGS): Likewise.
9218
51f1f5af
CW
92192010-08-18 Colin Watson <cjwatson@ubuntu.com>
9220
9221 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
9222 fix warnings from Autoconf.
9223
9da94e05
CW
92242010-08-18 Colin Watson <cjwatson@ubuntu.com>
9225
9226 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9227 to avoid false positives with some assemblers that output things
9228 like "someprefix_func" as part of their output.
9229
729a0f2e
RM
92302010-08-15 Robert Millan <rmh@gnu.org>
9231
9232 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
9233 errors.
9234 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
9235 grub_get_libzfs_handle() errors.
9236
f3710e08
RM
92372010-08-14 Robert Millan <rmh@gnu.org>
9238
9239 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
9240 filesystem is not ZFS.
9241
7a3c13de
BC
92422010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9243
9244 Fix for misspelled color names defaulting to black/black (bug
9245 reported by Doug Nazar)
9246
9247 * include/grub/normal.h (grub_parse_color_name_pair): Add return
9248 status to prototype.
9249 * normal/color.c (grub_parse_color_name_pair): Return failure
9250 status.
9251 (grub_env_write_color_normal): Ignore bad color names.
9252 (grub_env_write_color_highlight): Likewise.
9253 * normal/main.c (GRUB_MOD_INIT): Set default color names.
9254
ab8ba50d
BC
92552010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9256
9257 "shift" command support to GRUB script.
9258
9259 * include/grub/script_sh.h (grub_script_shift): New prototype.
9260 * script/execute.c (grub_script_shift): New function.
9261 * script/main.c (grub_script_init): Register shift command.
9262 (grub_script_fini): Unregister shift command.
9263 * util/grub-script-check.c (grub_script_cmd_shift): New function.
9264
9265 * tests/grub_script_shift.in: New testcase.
9266 * conf/tests.rmk: Rules for new testcase.
9267
4d61999e
BC
92682010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9269
9270 "continue" command support to GRUB script.
9271
9272 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
9273 (grub_script_break): Continue support.
9274 * script/main.c (grub_script_init): Register continue command.
9275 (grub_script_fini): Unregister continue command.
9276
9277 * tests/grub_script_continue.in: New testcase.
9278 * conf/tests.rmk: Rules for new testcase.
9279
4df51e00
BC
92802010-08-12 BVK Chaitanya <bvk@dbook>
9281
9282 "break" command support to GRUB script.
9283
9284 * conf/common.rmk: Rule updates to grub-script-check.
9285 * include/grub/misc.h (grub_min): New function.
9286 * include/grub/script_sh.h (grub_script_init): New prototype.
9287 (grub_script_fini): New prototype.
9288 (grub_script_break): New prototype.
9289 * script/main.c (grub_script_init): New function.
9290 (grub_script_fini): New function.
9291 * script/execute.c (grub_script_break): New function.
9292 * normal/main.c: Calls to grub_script_{init,fini}.
9293 * util/grub-script-check.c (grub_script_break): New function.
9294
9295 * tests/grub_script_break.in: New testcase.
9296 * conf/tests.rmk: Rules for new test case.
9297
f12c8420
BC
92982010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9299
9300 Function parameters support to GRUB script.
9301
9302 * script/yylex.l (VARIABLE): Regular expression update.
9303 * script/function.c (grub_script_function_call): Moved ...
9304 * script/execute.c (grub_script_function_call): ... to here.
9305 (grub_script_execute_arglist_to_argv): Removed.
9306 (grub_script_arglist_to_argv): New function.
9307 * script/argv.c: New file.
9308 (grub_script_argv_free): New function.
9309 (grub_script_argv_next): Likewise.
9310 (grub_script_argv_append): Likewise.
9311 (grub_script_argv_split_append): Likewise.
9312 * include/grub/script_sh.h (grub_script_argv): New struct.
9313 (grub_script_argv_free): New function.
9314 (grub_script_argv_next): Likewise.
9315 (grub_script_argv_append): Likewise.
9316 (grub_script_argv_split_append): Likewise.
9317
9318 * conf/common.rmk (normal.mod): New source script/argv.c.
9319
9320 * tests/grub_script_echo1.in: More tests.
9321 * tests/grub_script_vars1.in: Likewise.
9322 * tests/grub_script_functions.in: New test case.
9323 * conf/tests.rmk: Rules for new testcase.
9324
8022b748
BC
93252010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9326
9327 Remove grub_script_cmdblock struct.
9328
9329 * include/grub/script_sh.h: Remove grub_script_cmdblock.
9330 * script/parser.y: Likewise.
9331 * script/execute.c: Rename cmdblock suffix to cmdlist.
9332 * script/script.c: Likewise.
9333 * util/grub-script-check.c: Likewise.
9334
79a6ba61
YB
93352010-08-11 Yves Blusseau <blusseau@zetam.org>
9336
9337 * .bzrignore: add grub-macho2img
9338
d04b9414
VS
93392010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
9342
f947ab49
VS
93432010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 Remove the dump of sm712 initialisation sequence.
9346
9347 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
9348 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
9349 (GRUB_VGA_IO_MISC_WRITE): Likewise.
9350 (GRUB_VGA_CR_*): Added many registers.
9351 (GRUB_VGA_SR_*): Likewise.
9352 (GRUB_VGA_GR_*): Likewise.
9353 (grub_vga_write_arx): New function.
9354 (grub_video_hw_config): New struct.
9355 (grub_vga_set_geometry): New function.
9356 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
9357 GRUB_PCI_CLASS_SUBCLASS_VGA.
9358 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
9359 * video/sm712.c (grub_sm712_write_reg): New function
9360 (grub_sm712_read_reg): Likewise.
9361 (grub_sm712_sr_write): Likewise.
9362 (grub_sm712_gr_write): Likewise.
9363 (grub_sm712_cr_write): Likewise.
9364 (grub_sm712_write_arx): Likewise.
9365 (grub_sm712_cr_shadow_write): Likewise.
9366 (grub_sm712_write_dda_lookup): Likewise.
9367 (grub_video_sm712_setup): Initialise the video rather then
9368 blindly replay the dump.
9369 (main) [TEST]: Add a routine to be able to compile as standalone for
9370 tests.
9371 * video/sm712_init.c (sm712_init): Removed.
9372 (sm712_sr_seq1): New array.
9373 (sm712_sr_seq2): Likewise.
9374
f0206638
VS
93752010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * include/grub/vga.h: Add missing grub/pci.h include.
9378
2764da3b
YB
93792010-08-10 Yves Blusseau <blusseau@zetam.org>
9380
9381 * util/grub-macho2img.c (main): fix typo
9382
cf0c775e
VS
93832010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
9386 (grub_vga_gr_read): Likewise.
9387 (grub_vga_cr_write): Likewise.
9388 (grub_vga_cr_read): Likewise.
9389 (grub_vga_sr_write): Likewise.
9390 (grub_vga_sr_read): Likewise.
9391 (grub_vga_palette_read): Likewise.
9392 (grub_vga_palette_write): Likewise.
9393 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
9394 (grub_sm712_sr_read): New function.
9395 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
9396 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
9397
07f360e9
RM
93982010-08-09 Robert Millan <rmh@gnu.org>
9399
9400 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
9401 out unused variables on non-ZFS build.
9402
346c2072
RM
94032010-08-08 Robert Millan <rmh@gnu.org>
9404
9405 Fix path generation for sub-filesystems in ZFS.
9406
9407 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
9408 missing slash.
9409
71175420
RM
94102010-08-08 Robert Millan <rmh@gnu.org>
9411
9412 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
9413
0d8286f3
RM
94142010-08-08 Robert Millan <rmh@gnu.org>
9415
9416 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
9417 exist, issue a proper error message (rely on `ls' for translated
9418 strings).
9419
55dd2924
RM
94202010-08-08 Robert Millan <rmh@gnu.org>
9421
9422 Fix grub-probe invocation.
9423
9424 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
9425
d3dd9e80
RM
94262010-08-04 Robert Millan <rmh@gnu.org>
9427
9428 * configure.ac: Remove checks for getfsstat() and getmntany().
9429 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
9430 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
9431 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
9432 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
9433 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
9434 function.
9435 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
9436 via find_mount_point_from_dir() and getfsstat() / getmntany().
9437
0de22aa9
RM
94382010-08-04 Robert Millan <rmh@gnu.org>
9439
9440 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9441 (grub_find_zpool_from_mount_point): Merge into ...
9442 (grub_find_zpool_from_dir): ... this.
9443 * kern/emu/misc.c: Likewise.
9444
9445 * kern/emu/misc.c
9446 (grub_make_system_path_relative_to_its_root): Replace
9447 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
9448 with grub_find_zpool_from_dir().
9449 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
9450
62858144
RM
94512010-08-04 Robert Millan <rmh@gnu.org>
9452
9453 Support OpenSolaris in ZFS device resolution.
9454
9455 * configure.ac: Check for getmntany().
9456 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
9457 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
9458 support.
9459
9dd6fd50
RM
94602010-08-03 Robert Millan <rmh@gnu.org>
9461
9462 Fix grub-emu build.
9463
9464 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
9465 * include/grub/emu/misc.h: ... here.
9466
9467 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
9468 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
9469
9470 * util/misc.c: Remove `<grub/util/libzfs.h>'.
9471 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
9472 (grub_get_libzfs_handle): Move to ...
9473 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
9474 (grub_get_libzfs_handle): ... here.
9475
c9f7ff97
BC
94762010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
9477
9478 * script/execute.c (grub_script_execute_cmdline): Check for NULL
9479 as command name case.
9480
a870a783
CW
94812010-08-02 Colin Watson <cjwatson@ubuntu.com>
9482
9483 * disk/raid.c (insert_array): Select unique numbers for named arrays
9484 as well, for use as keys in the disk cache.
9485
c7db243b
RM
94862010-08-01 Robert Millan <rmh@gnu.org>
9487
9488 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
9489 kFreeBSD device name, except on ZFS where the filesystem label is
9490 used.
9491 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
9492 `/boot/zfs/zpool.cache'.
9493 Set mountfrom kernel variable using ${kfreebsd_device}.
9494
f7abdefb
RM
94952010-08-01 Robert Millan <rmh@gnu.org>
9496
9497 Make it even harder to use uninitialized `libzfs_handle' (and
9498 make the interface a bit simpler).
9499
9500 * include/grub/util/misc.h (grub_util_init_libzfs)
9501 (libzfs_handle): Remove.
9502 (grub_get_libzfs_handle): New prototype.
9503
9504 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
9505 attribute.
9506 (grub_util_init_libzfs): Remove.
9507 (grub_get_libzfs_handle): New function.
9508
9509 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
9510 grub_get_libzfs_handle() to obtain a libzfs handle instead of
9511 accessing `libzfs_handle' directly.
9512
c882acc0
RM
95132010-08-01 Robert Millan <rmh@gnu.org>
9514
9515 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9516 (grub_find_zpool_from_mount_point): New function prototypes.
9517
9518 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9519 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9520
9521 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9522 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9523 `static' attribute.
9524
9525 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9526 finding zpool from mount point into ...
9527 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9528
9529 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9530 requested path is part of a ZFS pool, use
9531 grub_find_zpool_from_mount_point() to detect its filesystem name,
9532 and generate a path with `/fsname@path' syntax.
9533
8bfe31d8
CW
95342010-08-01 Colin Watson <cjwatson@ubuntu.com>
9535
9536 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
9537 (void) rather than () so that this is a proper prototype.
9538
553df63d
VS
95392010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
9542
8687cf07
VS
95432010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
9546 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
9547
ea9be8ea
CW
95482010-08-01 Colin Watson <cjwatson@ubuntu.com>
9549
9550 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
9551
6eea041a
CW
95522010-08-01 Colin Watson <cjwatson@ubuntu.com>
9553
9554 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
9555
2cfb45df
CW
95562010-08-01 Colin Watson <cjwatson@ubuntu.com>
9557
9558 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
9559 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
9560 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
9561 disable gfxpayload.
9562 (Shell-like scripting): Add real content.
9563 (Serial terminal): Suggest `terminal_input serial; terminal_output
9564 serial' rather than putting the two commands on separate lines,
9565 since console input will be inoperative after the first command.
9566 (menuentry): Document --class, --users, and --hotkey options.
9567 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
9568 Vladimir Serbinenko).
9569
7decd202
VS
95702010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
95712010-08-01 Colin Watson <cjwatson@ubuntu.com>
9572
9573 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
9574
c882acc0
RM
95752010-08-01 Robert Millan <rmh@gnu.org>
9576
9577 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9578 (grub_find_zpool_from_mount_point): New function prototypes.
9579
9580 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9581 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9582
9583 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9584 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9585 `static' attribute.
9586
9587 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9588 finding zpool from mount point into ...
9589 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9590
9591 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9592 requested path is part of a ZFS pool, use
9593 grub_find_zpool_from_mount_point() to detect its filesystem name,
9594 and generate a path with `/fsname@path' syntax.
9595
deb0caa3
RM
95962010-08-01 Robert Millan <rmh@gnu.org>
9597
9598 Prevent accidental use of uninitialized libzfs_handle.
9599
9600 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
9601 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
9602 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
9603
ce04ef47
CW
96042010-08-01 Colin Watson <cjwatson@ubuntu.com>
9605
9606 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
9607 util/grub.d/10_linux.in). Fixes Debian bug #591093.
9608
ebf53056
RM
96092010-08-01 Robert Millan <rmh@gnu.org>
9610
9611 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 9612
3710bb6b
RM
96132010-07-31 Robert Millan <rmh@gnu.org>
9614
9615 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
9616
8072efeb
RM
96172010-07-31 Robert Millan <rmh@gnu.org>
9618
9619 * kern/emu/misc.c: Add missing license header.
9620
3169f4c7
RM
96212010-07-31 Robert Millan <rmh@gnu.org>
9622
9623 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
9624
9625 * include/grub/util/libnvpair.h: Include `<config.h>'.
9626 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
9627 declaring libnvpair prototypes ourselves.
9628 * include/grub/util/libzfs.h: Include `<config.h>'.
9629 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
9630 declaring libzfs prototypes ourselves.
9631
9632 (libzfs_handle): Moved to ...
9633 * include/grub/util/misc.h (libzfs_handle): ... here.
9634 Include `<grub/util/libzfs.h>'.
9635
c9a00aee
RM
96362010-07-30 Robert Millan <rmh@gnu.org>
9637
9638 * include/grub/emu/misc.h: Add missing license header.
9639
a184f9c8
RM
96402010-07-30 Robert Millan <rmh@gnu.org>
9641
9642 Enable `grub-probe -t device' resolution on ZFS.
9643
9644 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
9645 * include/grub/util/libnvpair.h: New file.
9646 * include/grub/util/libzfs.h: New file.
9647
9648 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
9649 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
9650 `<grub/util/libnvpair.h>'.
9651 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
9652
9653 (find_mount_point_from_dir): New static function.
9654 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
9655 function.
9656 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
9657 find_root_device_from_libzfs() before ressorting to find_root_device().
9658
9659 * include/grub/util/misc.h (grub_util_init_libzfs): New function
9660 prototype.
9661 * util/misc.c: Include `<grub/util/libzfs.h>'.
9662 (grub_util_init_libzfs): New function.
9663 [HAVE_LIBZFS] (libzfs_handle): New global variable.
9664 [HAVE_LIBZFS] (fini_libzfs): New static function.
9665 (grub_util_init_libzfs): New function.
9666 * util/grub-probe.c (main): Call grub_util_init_libzfs().
9667
f7790cdd
RM
96682010-07-30 Robert Millan <rmh@gnu.org>
9669
9670 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
9671 (xmalloc, xrealloc, xstrdup, xasprintf): Add
9672 `warn_unused_result' attribute.
9673 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
9674 (grub_xasprintf, grub_xvasprintf): Likewise.
9675 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
9676
0806b63c
RM
96772010-07-29 Robert Millan <rmh@gnu.org>
9678
9679 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
9680 (probe): Handle `PRINT_FS_LABEL'.
9681 (main): Handle `-t fs_label'.
9682
9f841f5c
RM
96832010-07-29 Robert Millan <rmh@gnu.org>
9684
9685 * configure.ac: Remove grub-mkisofs checks.
9686
46371121
VS
96872010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * util/ieee1275/grub-install.in: Don't use empty grub_device.
9690 Reported by: Lennart Sorensen.
9691
96922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
9695 prior to terminal_input/terminal_output separation. It's been over 1.5
9696 years and those versions weren't widely deployed.
9697
a9600892
CW
96982010-07-22 Colin Watson <cjwatson@ubuntu.com>
9699
9700 * disk/raid.c (insert_array): Don't count named arrays when looking
9701 for unused array numbers.
697e053c 9702 Reported and tested by: Michael Guntsche.
a9600892 9703
c03507df
CW
97042010-07-20 Colin Watson <cjwatson@ubuntu.com>
9705
9706 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
9707 implementation of this so that grub-emu links again, with a note
9708 that this should support hotplugging in the future.
9709
b26f1c11
CW
97102010-07-20 Colin Watson <cjwatson@ubuntu.com>
9711
9712 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
9713
efc9d7f1
CW
97142010-07-20 Colin Watson <cjwatson@ubuntu.com>
9715
9716 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
9717 handle on failure.
9718 (grub_loopback_close): Remove empty function.
9719 (grub_loopback_dev): Remove close method.
9720
dd8ff5c9
CW
97212010-07-20 Colin Watson <cjwatson@ubuntu.com>
9722
9723 Disable EFI cursor when the EFI console becomes inactive.
9724
9725 * term/efi/console.c (grub_efi_console_init): New function.
9726 (grub_efi_console_fini): New function.
9727 (grub_console_term_output): Register init and fini methods.
9728
5e3bec67
VS
97292010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * tests/util/grub-shell-tester.in: Remove bashism and declare as
9732 sh script.
9733
afaec079
VS
97342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * disk/loopback.c (grub_loopback): Replace filename with file.
9737 (delete_loopback): Handle new semantics.
9738 (grub_cmd_loopback): Likewise.
9739 (grub_loopback_iterate): Likewise.
9740 (grub_loopback_close): Likewise.
9741
a6a11f3c
VS
97422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
9745 with -p "".
9746 Reported by: Tito Keitel.
9747
64a638b0
VS
97482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 * docs/grub.texi (Naming convention): Document new naming convention.
9751
ab8ba957
VS
97522010-07-20 Vadim Solomin <vadic052@gmail.com>
97532010-07-20 Colin Watson <cjwatson@ubuntu.com>
9754
9755 Generate device.map in something closer to the old ordering.
9756
9757 * util/deviceiter.c (struct device): New declaration.
9758 (compare_file_names): Rename to ...
9759 (compare_devices): ... this. Sort by kernel name in preference to
9760 the stable by-id name, but keep the latter as a fallback comparison.
9761 Update header comment.
9762 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
9763 of `struct device' rather than of plain file names.
9764
a29d6a4b
TF
97652010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
9766
9767 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
9768 on i386.
9769
39d824e8
VS
97702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * commands/acpi.c (setup_common_tables): Use sizeof instead of
9773 hardcoding size.
9774 (setv1table): Likewise.
9775
f058276b
FZ
97762010-07-20 Colin Watson <cjwatson@ubuntu.com>
9777
9778 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
9779 removing the homehost if present.
9780 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
9781 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
9782 removing the homehost if present.
9783 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
9784 if possible.
9785 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
9786
9787 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
9788 parameter. Set its pointer target to 0.
9789 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
9790 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
9791 `data_offset' value from the superblock for 1.x metadata.
9792 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
9793 data on the device.
9794 (insert_array): Record the start sector of data on the device.
9795 (grub_raid_register): Pass start_sector parameters to
9796 grub_raid_list->detect and insert_array.
9797 * include/grub/raid.h (struct grub_raid_array): Add start_sector
9798 member.
9799 (struct grub_raid): Add start_sector parameter to `detect'.
9800
9801 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
9802 __attribute__ ((packed)), leaving a comment.
9803 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
9804 (grub_mdraid_detect_09): ... here and ...
9805 (grub_mdraid_detect_1x): ... here.
9806
98072010-07-20 Peter Henn <peter.henn@web.de>
9808
9809 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
9810 chunk size and disk size, which are already given as sector counts
9811 as distinct from the 0.90 units. Fetch the correct device number
9812 from the role table instead of using the table index.
9813
98142010-07-20 Felix Zielcke <fzielcke@z-51.de>
9815
9816 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
9817 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
9818 (WriteMostly1): New macro.
9819 Set array->name to NULL for metadata format 0.90. Add support for
9820 metadata 1.x. Fix some comments.
9821 * disk/raid.c (): Add support for name based RAID arrays. Fix a
9822 few comments.
9823 * util/getroot.c (grub_util_get_grub_dev): Add support for
9824 /dev/md/name style devices.
9825
4b761da9
CW
98262010-07-20 Colin Watson <cjwatson@ubuntu.com>
9827
9828 * .bzrignore: Ignore 20_linux_xen.
9829
5771289a
CW
98302010-07-17 Colin Watson <cjwatson@ubuntu.com>
9831
9832 * util/import_unicode.py: Remove unnecessary imports.
9833
5dab68df
AN
98342010-07-17 Aleš Nesrsta <starous@volny.cz>
9835
9836 Hotplugging and USB hub support.
9837
9838 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
9839 (grub_ohci): Likewise.
9840 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
9841 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
9842 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
9843 (GRUB_OHCI_CTRL_EDS): Likewise.
9844 (GRUB_OHCI_BULK_EDS): Likewise.
9845 (GRUB_OHCI_TDS): Likewise.
9846 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
9847 (grub_ohci_ed_phys2virt): New function.
9848 (grub_ohci_virt_to_phys): Likewise.
9849 (grub_ohci_td_phys2virt): Likewise.
9850 (grub_ohci_td_virt2phys): Likewise.
9851 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
9852 attachment.
9853 (grub_ohci_find_ed): New function.
9854 (grub_ohci_alloc_td): Likewise.
9855 (grub_ohci_free_td): Likewise.
9856 (grub_ohci_free_tds): Likewise.
9857 (grub_ohci_transfer): Use previously allocated memory.
9858 (grub_ohci_portstatus): Reset status changed bit.
9859 (grub_ohci_detect_dev): Supply status changed.
9860 (grub_ohci_fini_hw): Free memory.
9861 (grub_ohci_restore_hw): Reallocate memory.
9862 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
9863 Reset status change.
9864 (grub_uhci_detect_dev): Supply status_change.
9865 * bus/usb/usb.c (attach_hooks): New var.
9866 (grub_usb_device_attach): New function.
9867 (grub_usb_register_attach_hook_class): Likewise.
9868 (grub_usb_unregister_attach_hook_class): Likewise.
9869 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
9870 (grub_usb_add_hub): Reset connection changed bit.
9871 (attach_root_port): New function.
9872 (grub_usb_root_hub): Likewise.
9873 (poll_nonroot_hub): Likewise.
9874 (grub_usb_poll_devices): Likewise.
9875 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
9876 * disk/usbms.c (grub_usbms_open): Use device hooks.
9877 (grub_usbms_iterate) :Poll devices.
9878 (grub_usbms_finddevs): Split into ...
9879 (grub_usbms_attach): ... this ...
9880 (grub_usbms_attach): ... and this.
9881 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
9882 in detect_dev.
9883 (grub_usb_interface): New fields attached and detach_hook.
9884 (grub_usb_attach_hook_class): New type.
9885 (grub_usb_attach_desc): New struct.
9886 (grub_usb_register_attach_hook_class): New function.
9887 (grub_usb_unregister_attach_hook_class): Likewise.
9888 (grub_usb_poll_devices): Likewise.
9889 (grub_usb_device_attach): Likewise.
9890 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
9891 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
9892
3222efaf
VS
98932010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
9896 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
9897 delta determination style. Works with most NetBSD partitions too.
9898
139b714a
VS
98992010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
9902 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
9903
986aad56
VS
99042010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
9907
99be513c
AB
99082010-07-14 Anton Blanchard <anton@samba.org>
9909
9910 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
9911 ET_DYN files.
9912
18075f62
GS
99132010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9914
9915 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
9916
8d9a5b15
GS
99172010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9918
9919 * kern/partition.c (grub_partition_check_containment): New function to
9920 check that a partition is physically contained in a parent. Since
9921 offsets are relative (and non-negative), this reduces to checking that
9922 the partition ends before its parent.
9923 (grub_partition_map_probe): Discard out-of-range sub-partitions.
9924 (grub_partition_iterate): Likewise.
9925 * include/grub/partition.h (grub_partition_map): Slightly more detailed
9926 comments.
9927 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
9928 partitions that start before their parent, and add debug printfs.
9929
19563c25
CW
99302010-07-13 Colin Watson <cjwatson@ubuntu.com>
9931
9932 * Makefile.in (.SUFFIX): Spell correctly, as ...
9933 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
9934 bare module name without `.mod', e.g. `test') tried to invoke a
9935 Modula-2 compiler.
9936
1a1f1e67
CW
99372010-07-13 Colin Watson <cjwatson@ubuntu.com>
9938
9939 * README: Point to the Info manual.
9940
811b0dca
JS
99412010-07-13 Jiro SEKIBA <jir@unicus.jp>
9942
9943 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
9944 2nd superblock position from partition size.
9945
e4f4eafc
CW
99462010-07-10 Colin Watson <cjwatson@ubuntu.com>
9947
9948 * Makefile.in (MAINTAINER_CLEANFILES): Remove
9949 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
9950 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
9951 outputs.
9952
4274c30f
VS
99532010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 Restructure SCSI .id handling.
9956 Reported and tested by: Aleš Nesrsta.
9957
9958 * disk/ata.c (grub_atapi_close): Removed. All users updated.
9959 (grub_atapi_dev): Changed .name to "ata". New field .id.
9960 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
9961 (grub_usbms_dev): New field .id.
9962 * disk/scsi.c (grub_scsi_iterate): Generate name.
9963 (grub_scsi_open): Parse name.
9964 * include/grub/scsi.h (grub_make_scsi_id): New function.
9965 (grub_scsi_dev): Change iterate and open to number instead of naming
9966 busses. All users updated.
9967 (grub_scsi): Remove name. Add .bus.
9968
5bc24388
VS
99692010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * commands/help.c (grub_cmd_help): Fix a typo.
9972
249975ba
VS
99732010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
9976 Reported and tested by: Colin Watson.
9977
3eaac1a1
VS
99782010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
9981 in this context.
9982
becce1b1
VS
99832010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
9986
f7bf0918
CW
99872010-07-07 Colin Watson <cjwatson@ubuntu.com>
9988
9989 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
9990 indentation.
9991
0b0f9620
CW
99922010-07-06 Colin Watson <cjwatson@ubuntu.com>
9993
9994 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
9995 and disk/raid6_recover.c.
9996 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9997 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9998
1e545469
CW
99992010-07-06 Colin Watson <cjwatson@ubuntu.com>
10000
10001 * term/gfxterm.c (repaint_schedulded): Rename to ...
10002 (repaint_scheduled): ... this. Update all callers.
10003 (repaint_was_schedulded): Rename to ...
10004 (repaint_was_scheduled): ... this. Update all callers.
10005
5357687a
CW
100062010-07-06 Colin Watson <cjwatson@ubuntu.com>
10007
10008 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
10009 which we expect to be handled by upper layers.
10010
29d7e783
BC
100112010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
10012
10013 * bus/usb/usbhub.c: #include time.h header.
10014
37582066
CW
100152010-07-06 Colin Watson <cjwatson@ubuntu.com>
10016
10017 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
10018 entry_name also for entries without stat blocks (e.g. ".."); fixes
10019 corruption of the first entry in a directory.
10020
c8c06953
CW
100212010-07-06 Colin Watson <cjwatson@ubuntu.com>
10022
10023 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
10024 after setting gfxterm as the active terminal. GRUB_BACKGROUND
10025 doesn't work otherwise.
10026
e75056f1
CW
100272010-07-05 Colin Watson <cjwatson@ubuntu.com>
10028
10029 * docs/grub.texi (Features): Update list of supported file systems.
10030 (GNU/Linux): Update for GRUB 2.
10031 (Serial terminal): Remove mention of --disable-serial, which was a
10032 GRUB Legacy configure option. Update instructions to use
10033 `terminal_input' and `terminal_output' rather than `terminal'.
10034 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
10035 configuration' and `Installing GRUB using grub-install'.
10036 (Menu entry editor): Update for GRUB 2.
10037 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
10038 Document new -a, -u, and -v options.
10039 (initrd): New section.
10040 (initrd16): New section.
10041 (linux): New section.
10042 (linux16): New section.
10043 (search): The `var' argument to `--set' is optional.
10044 (GRUB only offers a rescue shell): Go into a little more detail on
10045 drive ordering.
10046
5cf69151
CW
100472010-07-05 Colin Watson <cjwatson@ubuntu.com>
10048
10049 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
10050
e3f90044
CW
100512010-07-05 Colin Watson <cjwatson@ubuntu.com>
10052
10053 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
10054 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
10055
38d8f4f3
CW
100562010-07-05 Colin Watson <cjwatson@ubuntu.com>
10057
10058 * util/i386/pc/grub-setup.c (setup): Rename prefix to
10059 install_prefix, in line with install_dos_part and install_bsd_part.
10060 Add new prefix variable, which is copied to install_prefix after
10061 comparing core.img in memory with the one read from disk in the
10062 no-embedding case, and use that rather than overwriting
10063 install_prefix immediately when installing to a partition.
10064 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
10065 Bicakci.
10066
57ebd41e
GS
100672010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10068
10069 * configure.ac: Avoid == in test command, it's not portable.
10070 * util/grub.d/30_os-prober.in: Likewise.
10071
cb7f64b2
CW
100722010-07-04 Colin Watson <cjwatson@ubuntu.com>
10073
10074 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
10075
6b654bb0
GS
100762010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10077
10078 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
10079 multiple (top-level) partmaps.
10080
72a2026d
VS
100812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 10084 Reported by: Tino Keitel.
72a2026d 10085
df3eb88f
VS
100862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 Bidi and diacritics support.
10089
10090 * Makefile.in (widthspec.bin): New target.
10091 (widthspec.h): Likewise.
10092 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
10093 * autogen.sh: Generate unidata.c.
10094 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
10095 * commands/ls.c (grub_ls_list_devices): Likewise.
10096 (grub_ls_list_files): Likewise.
10097 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
10098 (grub_mini_cmd_lsmod): Likewise.
10099 * commands/read.c: Likewise.
10100 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
10101 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
10102 * lib/arg.c (grub_arg_show_help): Likewise.
10103 * lib/crypto.c (grub_password_get): Likewise.
10104 * normal/auth.c (grub_username_get): Likewise.
10105 * normal/misc.c (grub_normal_print_device_info): Likewise.
10106 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
10107 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
10108 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
10109 (normal/charset.c_DEPENDENCIES): New variable.
10110 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
10111 (pkglib_MODULES): Remove charset.mod.
10112 (charset_mod_SOURCES): Removed.
10113 (charset_mod_CFLAGS): Likewise.
10114 (charset_mod_LDFLAGS): Likewise.
10115 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
10116 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
10117 and term/tparm.c.
10118 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10119 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10120 (kernel_img_HEADERS): Add terminfo.h.
10121 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
10122 Fill ->font. Reverse ascii bitmaps.
10123 (grub_font_get_xheight): New function.
10124 * font/font.c (grub_font_get_string_width): Moved from here ...
10125 * gfxmenu/font.c (grub_font_get_string_width): ... here.
10126 * font/font.c (grub_font_draw_string): Moved from here ...
10127 * gfxmenu/font.c (grub_font_draw_string): ... here.
10128 * font/font.c (grub_font_dup_glyph): New function.
10129 (grub_font_blit_glyph): Likewise.
10130 (grub_font_blit_glyph_mirror): Likewise.
10131 (blit_comb): Likewise.
10132 (grub_font_construct_dry_run): Likewise.
10133 (grub_font_get_constructed_device_width): Likewise.
10134 (grub_font_construct_glyph): Likewise.
10135 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
10136 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
10137 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
10138 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
10139 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
10140 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
10141 (grub_font_get_xheight): New proto.
10142 (grub_font_get_constructed_device_width): Likewise.
10143 (grub_font_construct_glyph): Likewise.
10144 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
10145 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
10146 * include/grub/font.h (grub_font_draw_string): Moved from here ...
10147 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
10148 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
10149 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
10150 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
10151 (grub_console_getcharwidth): Likewise.
10152 * include/grub/misc.h (grub_xputs): New proto.
10153 (grub_puts): Inlined.
10154 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
10155 (grub_normal_get_line_counter): Removed.
10156 (grub_install_newline_hook): Likewise.
10157 (grub_normal_get_char_counter): New proto.
10158 (grub_normal_reset_more): Likewise.
10159 (grub_xputs_normal): Likewise.
10160 * include/grub/powerpc/ieee1275/console.h: Removed.
10161 * include/grub/sparc64/ieee1275/console.h: Likewise.
10162 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
10163 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
10164 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
10165 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
10166 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
10167 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
10168 (grub_term_input): Pass reference to self. All users updated.
10169 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
10170 Pass reference to self. New fields normal_color, highlight_color and
10171 data. All users updated.
10172 (grub_putchar): Removed.
10173 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
10174 (grub_unicode_estimate_width): New function.
10175 (grub_term_getcharwidth): Add defaults.
10176 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
10177 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
10178 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
10179 (grub_cls): Remove EXPORT_FUNC.
10180 (grub_setcolorstate): Inline.
10181 (grub_newline_hook): Removed.
10182 * include/grub/terminfo.h: Rewritten. All users updated.
10183 * include/grub/unicode.h: New file.
10184 * include/grub/video.h (grub_video_signed_rect): New type.
10185 * kern/emu/console.c (grub_console_highlight_color): Removed.
10186 (grub_console_normal_color): Likewise.
10187 (grub_console_standard_color): Made static.
10188 (grub_ncurses_putchar): Remove mapping.
10189 (grub_ncurses_getcharwidth): Removed.
10190 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10191 (grub_ncurses_setcolor): Removed.
10192 (grub_ncurses_getcolor): Likewise.
10193 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
10194 (grub_console_putchar): ... this.
10195 (grub_console_putchar): Handle argument difference.
10196 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
10197 console_init_early and console_init_lately.
10198 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
10199 * kern/misc.c (grub_puts): Removed.
10200 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
10201 (grub_vsnprintf_real): Remove str = NULL support.
10202 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
10203 * normal/charset.c (grub_utf8_to_ucs4): ... here.
10204 * kern/term.c (grub_putcode): Renamed to ...
10205 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
10206 (grub_putchar): Removed.
10207 (grub_xputs_dumb): New function.
10208 (grub_xputs): New variable.
10209 * lib/charset.c: Move from here ...
10210 * normal/charset.c: ... to here.
10211 (grub_ucs4_to_utf8): New function.
10212 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
10213 (join_types): New variable.
10214 (unpack_join): New function.
10215 (bidi_types): New variable.
10216 (unpack_bidi): New function.
10217 (get_bidi_type): Likewise.
10218 (get_join_type): Likewise.
10219 (is_mirrored): Likewise.
10220 (grub_unicode_get_comb_type): Likewise.
10221 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
10222 (is_type_after): Likewise.
10223 (grub_unicode_aglomerate_comb): Likewise.
10224 (bidi_line_wrap): Likewise.
10225 (grub_bidi_line_logical_to_visual): Likewise.
10226 (grub_bidi_logical_to_visual): Likewise.
10227 (grub_unicode_mirror_code): Likewise.
10228 (grub_unicode_shape_code): Likewise.
10229 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
10230 Don't use grub_putchar.
10231 * normal/main.c (grub_normal_init_page): Use grub_putcode.
10232 (grub_normal_reader_init): Likewise.
10233 (grub_xputs_saved): New variable.
10234 (GRUB_MOD_INIT): Set grub_xputs.
10235 (GRUB_MOD_FINI): Restore grub_xputs.
10236 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
10237 (menu_init): Avoid printing gfxmenu error.
10238 (show_menu): Use grub_normal_get_char_counter.
10239 * normal/menu_entry.c (update_screen): Fix out-of-array.
10240 (complete): Avoid NULL dereferencing.
10241 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
10242 * normal/menu_text.c (print_spaces): Removed.
10243 (grub_print_ucs4): Likewise.
10244 (grub_print_message_indented): Use grub_print_ucs4.
10245 (print_message): Use grub_putcode.
10246 (print_entry): Hanlde diacritics.
10247 * normal/term.c (term_state): New type.
10248 (grub_more_lines): Removed.
10249 (term_states): New variable.
10250 (grub_normal_line_counter): Renamed to ..
10251 (grub_normal_char_counter): ...this. All users updated.
10252 (grub_normal_get_line_counter): Renamed to ...
10253 (grub_normal_get_char_counter): ... this.
10254 (grub_normal_reset_more): New function.
10255 (process_newline): Removed.
10256 (print_more): New function.
10257 (grub_install_newline_hook): Removed.
10258 (map_code): New function.
10259 (grub_puts_terminal): Use grub_print_ucs4.
10260 (putglyph): New function.
10261 (putcode_real): Likewise.
10262 (grub_putcode): Use putcode_real.
10263 (get_maxwidth): New function.
10264 (get_startwidth): Likewise.
10265 (print_ucs4_terminal): Likewise.
10266 (find_term_state): Likewise.
10267 (put_glyphs_terminal): Likewise.
10268 (print_backlog): Likewise.
10269 (print_ucs4_real): Likewise.
10270 (grub_print_ucs4): Likewise.
10271 (grub_xputs_normal): Likewise.
10272 * term/efi/console.c (grub_console_putchar): Output diacritics.
10273 (grub_console_getcharwidth): Removed.
10274 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10275 * term/gfxterm.c (clear_char): Free chars.
10276 (scroll_up): Avoid leaking memory.
10277 (grub_gfxterm_putchar): Support diacritics.
10278 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10279 * term/i386/pc/console.c (grub_console_term_output): Declare as
10280 GRUB_TERM_CODE_TYPE_VGA.
10281 * term/i386/pc/vga.c (grub_vga_term): Declare as
10282 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
10283 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
10284 GRUB_TERM_CODE_TYPE_VGA.
10285 * term/i386/vga_common.c (map_char): Removed.
10286 (grub_console_putchar): Likewise.
10287 (grub_console_getcharwidth): Likewise.
10288 * term/ieee1275/ofconsole.c: Simplify using terminfo.
10289 (colors): Reordered to match terminfo.
10290 (grub_ofconsole_normal_color): Removed.
10291 (grub_ofconsole_writeesc): Likewise.
10292 (grub_ofconsole_highlight_color): Likewise.
10293 (grub_ofconsole_getcharwidth): Likewise.
10294 (grub_ofconsole_setcolorstate): Likewise.
10295 (grub_ofconsole_setcolor): Likewise.
10296 (grub_ofconsole_getcolor): Likewise.
10297 (grub_ofconsole_readkey): Renamed to ...
10298 (readkey): ... this. Remove escape sequence handling. Return -1 on no
10299 key.
10300 (grub_ofconsole_checkkey): Removed.
10301 (grub_ofconsole_getkey): Likewise.
10302 (grub_ofconsole_getxy): Likewise.
10303 (grub_ofconsole_gotoxy): Likewise.
10304 (grub_ofconsole_cls): Likewise.
10305 (grub_ofconsole_refresh): Likewise.
10306 (grub_ofconsole_terminfo_input): New struct.
10307 (grub_ofconsole_terminfo_output): Likewise.
10308 (grub_ofconsole_term_input): Use terminfo.
10309 (grub_ofconsole_term_output): Likewise.
10310 (grub_console_init): Split into ...
10311 (grub_console_init_early): ...this and ...
10312 (grub_console_init_lately): ...this. Use terminfo.
10313 (grub_ofconsole_putchar): Renamed to ...
10314 (put): ... this. Remove mapping.
10315 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10316 * term/serial.c: Simplify using terminfo.
10317 (xpos): Removed.
10318 (ypos): Likewise.
10319 (keep_track): Likewise.
10320 (registered): Likewise.
10321 (input_buf): Likewise.
10322 (npending): Likewise.
10323 (serial_translate_key_sequence): Likewise.
10324 (fill_input_buf): Likewise.
10325 (grub_serial_checkkey): Likewise.
10326 (grub_serial_getkey): Likewise.
10327 (grub_serial_getxy): Likewise.
10328 (grub_serial_gotoxy): Likewise.
10329 (grub_serial_putchar): Likewise.
10330 (grub_serial_cls): Likewise.
10331 (grub_serial_setcolorstate): Likewise.
10332 (grub_serial_setcursor): Likewise.
10333 (serial_hw_init): Use serial_hw_fetch.
10334 (grub_serial_terminfo_input): New variable.
10335 (grub_serial_terminfo_output): Likewise.
10336 (grub_serial_term_input): Use terminfo.
10337 (grub_serial_term_output): Likewise.
10338 * term/terminfo.c (putstr): Use put.
10339 (grub_terminfo_all_free): New function
10340 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
10341 (grub_terminfo_output_register): New function.
10342 (grub_terminfo_output_unregister): Likewise.
10343 (grub_terminfo_getxy): Likewise.
10344 (grub_terminfo_readkey): Likewise.
10345 (grub_terminfo_checkkey): Likewise.
10346 (grub_terminfo_getkey): Likewise.
10347 (grub_terminfo_input_init): Likewise.
10348 (print_terminfo): Likewise.
10349 (grub_cmd_terminfo): Handle encoding.
10350 (grub_terminfo_gotoxy): Track position.
10351 (grub_terminfo_cls): Likewise.
10352 (grub_terminfo_putchar): Likewise.
10353 (grub_terminfo_setcolorstate): Handle colors
10354 (grub_terminfo_cursor_on): This ...
10355 (grub_terminfo_cursor_off): ... and this merged into ...
10356 (grub_terminfo_setcursor): ... this.
10357 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
10358 * unicode/ArabicShaping.txt: New file (imported from Unicode).
10359 * unicode/BidiMirroring.txt: Likewise.
10360 * unicode/UnicodeData.txt: Likewise.
10361 * unicode/COPYING: Likewise.
10362 * util/grub-editenv.c (grub_putchar): Removed.
10363 (grub_xputs_real): New function.
10364 (grub_xputs): New variable.
10365 * util/grub-fstest.c (grub_putchar): Removed.
10366 (grub_xputs_real): New function.
10367 (grub_xputs): New variable.
10368 * util/grub-mkdevicemap.c (grub_putchar): Removed.
10369 (grub_xputs_real): New function.
10370 (grub_xputs): New variable.
10371 * util/grub-probe.c (grub_putchar): Removed.
10372 (grub_xputs_real): New function.
10373 (grub_xputs): New variable.
10374 * util/grub-script-check.c (grub_putchar): Removed.
10375 (grub_xputs_real): New function.
10376 (grub_xputs): New variable.
10377 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
10378 (grub_xputs_real): New function.
10379 (grub_xputs): New variable.
10380 * util/import_unicode.py: New file.
10381 * util/grub-mkfont.c (ft_errmsgs): New array.
10382 (grub_glyph_info): Make bitmap a pointer.
10383 (file_formats): New type WIDTH_SPEC.
10384 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
10385 (options): Add width-spec.
10386 (help): Likewise.
10387 (add_char): Renamed to ...
10388 (add_glyph): ... this.
10389 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
10390 (glyph_replace): New type.
10391 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
10392 (add_char): New function.
10393 (add_subst): Likewise.
10394 (process_cursive): Likewise.
10395 (add_font): Handle GSUB.
10396 (write_font_width_spec): New function.
10397 (main): Sort glyphs.
10398 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
10399 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
10400 * kern/term.c (grub_cls): Moved from here...
10401 * normal/term.c (grub_cls): ... here.
10402
50f0bcda
CW
104032010-07-02 Colin Watson <cjwatson@ubuntu.com>
10404
10405 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
10406 suitable for using within the format argument of printf when
10407 converting grub_size_t.
10408 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
10409 "x" to convert grub_size_t arguments.
10410
40372103
VS
104112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
10414 too long captions.
10415 (list_get_minimal_size): Take selection box into account.
10416
942a10c7
VS
104172010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
10420 NULL font.
10421
2bdb2892
CW
104222010-07-02 Colin Watson <cjwatson@ubuntu.com>
10423
10424 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
10425 devices when iterating over /dev/disk/by-id; they will be handled
10426 later if appropriate, which they aren't always (e.g. LVM).
10427
e03ed6c1
CW
104282010-07-02 Colin Watson <cjwatson@ubuntu.com>
10429
10430 * include/grub/misc.h (grub_reboot): Declare as noreturn.
10431 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
10432 fails.
10433 (grub_halt): Likewise.
10434 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
10435 reset-all fails.
10436 (grub_halt): Don't return, even if all of shut-down, power-off, and
10437 poweroff fail.
10438
47695765
CW
104392010-07-02 Colin Watson <cjwatson@ubuntu.com>
10440
10441 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
10442 arguments, not three.
10443
507736c8
CW
104442010-07-02 Colin Watson <cjwatson@ubuntu.com>
10445
10446 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
10447 * util/grub.d/10_linux.in: Use it to check for LVM, so that
10448 LVM-on-RAID is handled correctly.
10449
e3c8cd37
CW
104502010-07-02 Colin Watson <cjwatson@ubuntu.com>
10451
10452 * docs/grub.texi (Changes from GRUB Legacy): New section.
10453 (Future): Fix typo.
10454
8d4a2fec
CW
104552010-07-02 Colin Watson <cjwatson@ubuntu.com>
10456
10457 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
10458 grub.d/README accidentally ends up executable for one reason or
10459 another. Ignore it.
10460
1c4827be
VS
104612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
10464 (gpt_partition_map_iterate): Support non-512B sectors.
10465
d9a0c941
VS
104662010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * kern/efi/init.c (grub_efi_init): Disable watchdog.
10469 Tested by: Seth Goldberg.
10470
48f27e87
VS
104712010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
10474 Properly align mbi.
10475 Reported by: Seth Goldberg.
10476
b0c4f956
VS
104772010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * util/grub-mkrescue.in: Avoid module duplication.
10480
105a2e8c
SF
104812010-07-01 Sean Finney <seanius@seanius.net>
10482
10483 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
10484
5944958c
SF
104852010-07-01 Sean Finney <seanius@seanius.net>
10486
10487 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
10488
104892010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * disk/lvm.c (grub_lvm_checkvalue): New function.
10492 (grub_lvm_check_flag): Likewise.
10493
b79889ba
RM
104942010-07-01 Robert Millan <rmh@gnu.org>
10495
10496 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
10497 Support 'p' as partition separator on kernel of FreeBSD (used
10498 with GPT labels).
10499 (grub_util_biosdisk_get_grub_dev): Likewise.
10500
ec1d04f1
VS
105012010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 Yeeloong firmware port.
10504
10505 * boot/mips/yeeloong/fwstart.S: New file.
10506 * bus/cs5536.c (gpiodump): New const.
10507 (set_io_space): New function.
10508 (set_iod): Likewise.
10509 (set_p2d): Likewise.
10510 (grub_cs5536_init_geode): Likewise.
10511 * commands/mips/yeeloong/lsspd.c: New file.
10512 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
10513 (serial_mod_SOURCES): New variable.
10514 (serial_mod_CFLAGS): Likewise.
10515 (serial_mod_LDFLAGS): Likewise.
10516 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
10517 term/terminfo.c and term/tparm.c.
10518 (pkglib_IMAGES): Add fwstart.img.
10519 (fwstart_img_SOURCES): New variable.
10520 (fwstart_img_CFLAGS): Likewise.
10521 (fwstart_img_ASFLAGS): Likewise.
10522 (fwstart_img_LDFLAGS): Likewise.
10523 (fwstart_img_FORMAT): Likewise.
10524 (pkglib_MODULES): Add lsspd.mod.
10525 (lsspd_mod_SOURCES): New variable.
10526 (lsspd_mod_CFLAGS): Likewise.
10527 (lsspd_mod_LDFLAGS): Likewise.
10528 (pkglib_MODULES): Add halt.mod.
10529 (halt_mod_SOURCES): New variable.
10530 (halt_mod_CFLAGS): Likewise.
10531 (halt_mod_LDFLAGS): Likewise.
10532 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
10533 (serial_mod_SOURCES): Removed.
10534 (serial_mod_CFLAGS): Likewise.
10535 (serial_mod_LDFLAGS): Likewise.
10536 * disk/ata.c (check_device): New function.
10537 (grub_ata_device_initialize): Use check_device.
10538 (grub_ata_iterate): Recheck devices.
10539 (grub_ata_open): Likewise.
10540 (grub_atapi_iterate): Likewise.
10541 (grub_atapi_open): Likewise.
10542 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
10543 (GRUB_ATA_CH1_PORT1): Likewise.
10544 (GRUB_ATA_CH0_PORT2): Likewise.
10545 (GRUB_ATA_CH1_PORT2): Likewise.
10546 * include/grub/mips/loongson.h: New file.
10547 * include/grub/mips/yeeloong/ec.h: Likewise.
10548 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
10549 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
10550 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
10551 * include/grub/misc.h (grub_halt): Declare as noreturn.
10552 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
10553 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
10554 (UART_ENABLE_FIFO_TRIGGER1): New definition.
10555 (UART_ENABLE_DTRRTS): Likewise.
10556 (UART_ENABLE_MODEM): Removed.
10557 (UART_ENABLE_OUT2): New const.
10558 * include/grub/term.h (grub_term_register_input_active): New function.
10559 (grub_term_register_output_active): Likewise.
10560 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
10561 argument.
10562 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
10563 (init_pci): New function.
10564 (grub_machine_init): Execute platform init when firmware. Init serial.
10565 (grub_halt): Implement.
10566 (grub_exit): Likewise.
10567 (grub_reboot): Likewise.
10568 * term/serial.c (serial_hw_init): Update macros.
10569 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
10570 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
10571 (image_targets): New target mipsel-yeeloong-flash.
10572 (generate_image): Support IMAGE_YEELOONG_FLASH.
10573 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
10574 (grub_video_sm712_setup): Init card.
10575 (grub_video_sm712_set_palette): Removed.
10576 * video/sm712_init.c: New file.
10577
ff4a70d2
CW
105782010-06-30 Colin Watson <cjwatson@ubuntu.com>
10579
10580 * Makefile.in (install-local): Temporarily prepend $(builddir) to
10581 PATH when running help2man and then run it on the unadorned
10582 executable names, rather than passing $(builddir)/* paths to
10583 help2man. This avoids the build directory ending up in generated
10584 manual pages.
10585
1246efeb
CW
105862010-06-29 Colin Watson <cjwatson@ubuntu.com>
10587
10588 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
10589 to avoid accidents when debugging with 'sh -x'.
10590 * util/grub-mkrescue.in: Likewise.
10591 * util/grub.d/00_header.in: Likewise.
10592 * util/grub.d/10_hurd.in: Likewise.
10593 * util/grub.d/10_kfreebsd.in: Likewise.
10594 * util/grub.d/10_linux.in: Likewise.
10595 * util/grub.d/10_netbsd.in: Likewise.
10596 * util/grub.d/10_windows.in: Likewise.
10597 * util/grub.d/20_linux_xen.in: Likewise.
10598 * util/grub.d/30_os-prober.in: Likewise.
10599 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10600
1ba9b889
CW
106012010-06-29 Colin Watson <cjwatson@ubuntu.com>
10602
10603 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
10604 last character in the buffer.
10605 Reported by: Vladimir Serbinenko.
10606
dccaf99d
RM
106072010-06-29 Robert Millan <rmh@gnu.org>
10608
10609 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
10610 (Command-line and menu entry commands): Document `badram' command.
10611
d500ed12
RM
106122010-06-28 Robert Millan <rmh@gnu.org>
10613
10614 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
10615 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
10616 command using ${GRUB_BADRAM} as parameter.
10617
20bc84a6
CW
106182010-06-28 Colin Watson <cjwatson@ubuntu.com>
10619
10620 * docs/grub.texi (Device map): New section.
10621 (Themes): New section (stub).
10622 * Makefile.in (docs/grub.info): The info documentation now builds
10623 without errors. Make sure it stays that way.
10624
4045dee1
VS
106252010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 Use normal parser for menu entries.
10628 Reported by: Thomas Frauendorfer
10629
10630 * include/grub/parser.h (grub_parser_execute): Don't export.
10631 * normal/menu.c (grub_menu_execute_entry_real): New function.
10632 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
10633
bca58c7b
CW
106342010-06-28 Colin Watson <cjwatson@ubuntu.com>
10635
10636 * docs/grub.texi (Embedded configuration): New section (replacing
10637 old "Preset Menu" stub).
10638 (Images): New section.
10639 (configfile): Note that any menu entries defined in `file' are shown
10640 immediately.
10641
dec53e63
JT
106422010-06-28 Josh Triplett <josh@joshtriplett.org>
10643
10644 * mmap/i386/pc/mmap_helper.S: Set CF on return.
10645
c06e40f7
CW
106462010-06-28 Colin Watson <cjwatson@ubuntu.com>
10647
10648 * util/grub-install.in: Add --debug-image= option.
10649
cb88052b
CW
106502010-06-28 Colin Watson <cjwatson@ubuntu.com>
10651
10652 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
10653 possible on Linux.
10654
10655 * util/deviceiter.c (check_device): Rename to ...
10656 (check_device_readable_unique): ... this. Update all callers.
10657 Maintain and check a list of which devices (by canonicalized name)
10658 have already been seen.
10659 (clear_seen_devices): New function.
10660 (compare_file_names) [__linux__]: New function.
10661 (grub_util_iterate_devices): Clear the list of seen devices on exit
10662 and (just in case) on entry.
10663 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
10664 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
10665 seen-devices list, superseded by general code in check_device.
10666
bbe34652
CW
106672010-06-28 Colin Watson <cjwatson@ubuntu.com>
10668
10669 * commands/cat.c (options): New variable.
10670 (grub_cmd_cat): Parse options. If the --dos option is given, print
10671 DOS-style "\r\n" line endings as simple newlines (Debian bug
10672 #586358).
10673 (GRUB_MOD_INIT): Use extcmd.
10674 (GRUB_MOD_FINI): Likewise.
10675 * docs/grub.texi (cat): Document --dos.
10676
412e09f3
VS
106772010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 XEN with Linux grub-mkconfig support.
10680
10681 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
10682 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
10683 GRUB_CMDLINE_XEN_DEFAULT.
10684 * util/grub.d/20_linux_xen.in: New file.
10685
53f3ef38 106862010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
10687
10688 Initialise VGA video on qemu ourselves.
10689
10690 * boot/i386/qemu/boot.S: Don't call 0xc000.
10691 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
10692 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
10693 (kernel_img_HEADERS): Add pci.h.
10694 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
10695 * configure.ac: Force unifont on qemu and yeeloong.
10696 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
10697 (grub_vga_palette_write): Use correct register.
10698 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
10699 Call grub_qemu_init_cirrus.
10700 * kern/i386/qemu/init.c: New file.
10701 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
10702
10703 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
10704
c75be4fb
PR
107052010-06-26 Pavel Roskin <proski@gnu.org>
10706
10707 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
10708 13.
10709
d8034603
CW
107102010-06-26 Colin Watson <cjwatson@ubuntu.com>
10711
10712 * docs/grub.texi (Simple configuration): Explain that
10713 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
10714 set to `true' to disable their respective recovery entries, not
10715 merely set.
10716
3fa06487
CW
107172010-06-26 Colin Watson <cjwatson@ubuntu.com>
10718
10719 Make the `source' command slightly faster.
10720
10721 * normal/main.c (grub_normal_execute): Don't re-read list files when
10722 nested.
10723
e9b29642
CW
107242010-06-23 Colin Watson <cjwatson@ubuntu.com>
10725
10726 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
10727 field position and mask size to red fields from mode_info, not
10728 green.
10729 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
10730 Remove redundant tag->common.framebuffer_type assignment.
10731 Reported by: Seth Goldberg.
10732
e726542f
CW
107332010-06-23 Colin Watson <cjwatson@ubuntu.com>
10734
10735 Sync up other versions of the Linux loader with Robert Millan's
10736 change of 2010-01-09, "Make loader output a bit more user-friendly".
10737
10738 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
10739 grub_dprintf().
10740 (grub_cmd_linux): Likewise.
10741 (grub_cmd_initrd): Likewise.
10742 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
10743 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10744
d6e98a17
CW
107452010-06-21 Colin Watson <cjwatson@ubuntu.com>
10746
10747 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
10748 larger than MEMORY_MAP_SIZE.
10749
14d3f08e
BC
107502010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
10751
10752 Fix parallel build.
10753
10754 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
10755 dependency.
10756 * script/parser.y: #include grub_script.tab.h header.
10757
4f9613a3
VS
107582010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 Support >3GiB and <16MiB RAM in i386-qemu.
10761
10762 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
10763 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
10764 (grub_lower_mem): Removed.
10765 (grub_upper_mem): Likewise.
10766 (mem_size): Made static.
10767 (above_4g): New variable.
10768 (grub_machine_mmap_init): Detect small mem_size and above_4g.
10769 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
10770 support.
10771
05e51879
VS
107722010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 Cirrus 5446 and Bochs video cards support.
10775
10776 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
10777 video_bochs.mod
10778 (video_cirrus_mod_SOURCES): New variable.
10779 (video_cirrus_mod_CFLAGS): Likewise.
10780 (video_cirrus_mod_LDFLAGS): Likewise.
10781 (video_bochs_mod_SOURCES): Likewise.
10782 (video_bochs_mod_CFLAGS): Likewise.
10783 (video_bochs_mod_LDFLAGS): Likewise.
10784 * include/grub/vga.h: New file.
10785 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
10786 (grub_video_fb_set_page_t): New type.
10787 (grub_video_fb_setup): New prototype.
10788 (grub_video_fb_swap_buffers): Likewise.
10789 (grub_video_fb_get_info_and_fini): Likewise.
10790 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
10791 (CRTC_DATA_PORT): Likewise.
10792 (CRTC_CURSOR): Likewise.
10793 (CRTC_CURSOR_ADDR_HIGH): Likewise.
10794 (CRTC_CURSOR_ADDR_LOW): Likewise.
10795 (CRTC_CURSOR_DISABLE): Likewise.
10796 (update_cursor): Use grub_vga_cr_write.
10797 (grub_vga_text_setcursor): Likewise.
10798 * video/bochs.c: New file.
10799 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
10800 (palette): Likewise.
10801 (palette_size): Likewise.
10802 (framebuffer): New variable.
10803 (grub_video_fb_init): Use 'framebuffer'.
10804 (grub_video_fb_fini): Likewise.
10805 (grub_video_fb_get_info): Likewise.
10806 (grub_video_fb_get_palette): Likewise.
10807 (grub_video_fb_set_palette): Likewise.
10808 (grub_video_fb_set_viewport): Likewise.
10809 (grub_video_fb_get_viewport): Likewise.
10810 (grub_video_fb_map_color): Likewise.
10811 (grub_video_fb_map_rgb): Likewise.
10812 (grub_video_fb_map_rgba): Likewise.
10813 (grub_video_fb_unmap_color): Likewise.
10814 (grub_video_fb_unmap_color_int): Likewise.
10815 (grub_video_fb_fill_rect): Likewise.
10816 (grub_video_fb_blit_bitmap): Likewise.
10817 (grub_video_fb_blit_render_target): Likewise.
10818 (grub_video_fb_scroll): Likewise.
10819 (grub_video_fb_create_render_target): Likewise.
10820 (grub_video_fb_doublebuf_blit_init): Likewise.
10821 (grub_video_fb_set_active_render_target): Handle doublebuffering.
10822 (doublebuf_pageflipping_update_screen): New function.
10823 (doublebuf_pageflipping_init): Likewise.
10824 (grub_video_fb_setup): Likewise.
10825 (grub_video_fb_swap_buffers): Likewise.
10826 (grub_video_fb_get_info_and_fini): Likewise.
10827 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
10828 All users updated.
10829 (doublebuf_pageflipping_commit): Restructured into ...
10830 (doublebuf_pageflipping_set_page): ... this.
10831 (doublebuf_pageflipping_update_screen): Removed.
10832 (doublebuf_pageflipping_init): Likewise.
10833 (double_buffering_init): Likewise.
10834 (grub_video_vbe_setup): Use grub_video_fb_setup.
10835 (grub_video_vbe_swap_buffers): Removed.
10836 (grub_video_vbe_set_active_render_target): Likewise.
10837 (grub_video_vbe_get_active_render_target): Likewise.
10838 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
10839 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
10840 grub_video_fb_set_active_render_target and
10841 grub_video_fb_get_active_render_target.
10842 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
10843 (SEQUENCER_DATA_PORT): Likewise.
10844 (MAP_MASK_REGISTER): Likewise.
10845 (CRTC_ADDR_PORT): Likewise.
10846 (CRTC_DATA_PORT): Likewise.
10847 (START_ADDR_HIGH_REGISTER): Likewise.
10848 (START_ADDR_LOW_REGISTER): Likewise.
10849 (GRAPHICS_ADDR_PORT): Likewise.
10850 (GRAPHICS_DATA_PORT): Likewise.
10851 (READ_MAP_REGISTER): Likewise.
10852 (INPUT_STATUS1_REGISTER): Likewise.
10853 (INPUT_STATUS1_VERTR_BIT): Likewise.
10854 (get_map_mask): Use grub_vga_sr_read.
10855 (set_map_mask): Use grub_vga_sr_write.
10856 (set_read_map): Use grub_vga_gr_write.
10857 (set_start_address): Use grub_vga_cr_write.
10858 * video/sm712.c (framebuffer): Remove leftover fields.
10859
4321c64a
CW
108602010-06-20 Colin Watson <cjwatson@ubuntu.com>
10861
10862 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
10863 setting GRUB_VIDEO_BACKEND. Make it available as a user override
10864 instead. Replace the gfxterm backend check with a check that
10865 ${GRUB_PREFIX}/video.lst is non-empty.
10866 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
10867 again.
10868 (load_video): New generated function. Call it before loading
10869 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
10870 * util/grub.d/10_linux.in (linux_entry): Call load_video.
10871 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
10872 * docs/grub.texi (Simple configuration): Document
10873 GRUB_VIDEO_BACKEND.
10874
108752010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 Use video functions in linux and xnu loaders.
10878
10879 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
10880 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
10881 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
10882 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
10883 loader/i386/pc/linux.c.
10884 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
10885 (find_line_len): Removed.
10886 (find_framebuf): Likewise.
10887 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
10888 * loader/i386/efi/xnu.c: Removed.
10889 * loader/i386/pc/xnu.c: Moved from here...
10890 * loader/i386/xnu.c: ...here.
10891
10892 Enable priorities in video drivers.
10893
10894 * include/grub/video.h (grub_video_adapter_prio_t): New type.
10895 (grub_video_adapter): New field prio.
10896 (grub_video_register): Respect prio when inserting.
10897 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
10898 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
10899 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
10900 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
10901 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
10902 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
10903 * video/sm712.c (grub_video_sm712_adapter): Likewise.
10904
10905 Fix SDL driver ID.
10906
10907 * include/grub/video.h (grub_video_driver_id_t): New value
10908 GRUB_VIDEO_DRIVER_SDL.
10909 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
10910
7d24e434
CW
109112010-06-17 Colin Watson <cjwatson@ubuntu.com>
10912
10913 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
10914 argument to printf.
10915 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10916
c88a83f6
CW
109172010-06-17 Colin Watson <cjwatson@ubuntu.com>
10918
10919 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
10920 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10921
094dfb69
CW
109222010-06-17 Colin Watson <cjwatson@ubuntu.com>
10923
10924 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
10925 directly, and recommend grub-install instead.
10926 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10927
2164da6b
CW
109282010-06-17 Colin Watson <cjwatson@ubuntu.com>
10929
10930 Fix i386-pc prefix handling with nested partitions (Debian bug
10931 #585068). Note that the case where the core image is booted using
10932 multiboot and relocated from its original location still requires
10933 more work.
10934
10935 * kern/i386/pc/init.c (make_install_device): If the prefix starts
10936 with "(,", fill the boot drive in between those two characters, but
10937 expect that a full partition specification including partition map
10938 names will follow.
10939 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
10940 specified, write a prefix without the drive name but including a
10941 full partition specification.
10942
044e2e60
CW
109432010-06-16 Colin Watson <cjwatson@ubuntu.com>
10944
10945 * util/grub-mkconfig.in: Ignore non-option arguments, for
10946 compatibility with older versions (before 2010-06-12) which did the
10947 same. In particular, this makes it easier to ship an update-grub
10948 wrapper which is compatible with that used with GRUB Legacy (Debian
10949 bug #586056).
10950
5591324f
GS
109512010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10952
10953 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
10954 for manual page generation.
10955
662e24d5
GS
109562010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10957
10958 * po/POTFILES: Remove leftover commands/handler.c.
10959
8d70754e
CW
109602010-06-14 Colin Watson <cjwatson@ubuntu.com>
10961
10962 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
10963 left this script non-functional.
10964
41160e2e
CW
109652010-06-14 Colin Watson <cjwatson@ubuntu.com>
10966
10967 * docs/man/grub-emu.h2m: New file.
10968
b5309cc1
CW
109692010-06-13 Colin Watson <cjwatson@ubuntu.com>
10970
10971 * docs/grub.texi (Commands): Document reduced command set in rescue
10972 mode.
10973 (cpuid): New section.
10974
fcb2d090
GS
109752010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
10976
10977 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
10978 new partition naming style.
10979 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
10980
96e5c556
BC
109812010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
10982
10983 Add "-o grub.iso" like cmdline options support.
10984
10985 * util/grub-install.in: Improve cmdline option parsing.
10986 * util/grub-mkconfig.in: Likewise.
10987 * util/grub-mkrescue.in: Likewise.
10988 * util/grub-reboot.in: Likewise.
10989 * util/grub-set-default.in: Likewise.
10990 * util/i386/efi/grub-install.in: Likewise.
10991 * util/ieee1275/grub-install.in: Likewise.
10992 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10993
c16be99b
CW
109942010-06-12 Colin Watson <cjwatson@ubuntu.com>
10995
10996 * .bzrignore: Ignore 41_custom.
10997
ce08a9fb
TS
109982010-06-12 Thomas Schmitt <scdbackup@gmx.net>
10999
11000 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
11001
7beac90c
CW
110022010-06-12 Colin Watson <cjwatson@ubuntu.com>
11003
11004 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
11005 prototype declarations.
11006
11007 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
11008 generating fs, partmap, and video lists.
11009 * include/grub/fs.h (grub_fs_register): Omit prototype if
11010 GRUB_LST_GENERATOR is defined.
11011 * include/grub/partition.h (grub_partition_map_register): Likewise.
11012 * include/grub/video.h (grub_video_register): Likewise.
11013
1c8f0f8d
JM
110142010-06-12 Javier Martín <lordhabbit@gmail.com>
11015
11016 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
11017
a6085973
TS
110182010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11019
11020 * util/grub-mkrescue.in: Support --xorriso argument.
11021
25c56d29
VS
110222010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
11025 Suggested by: Thomas Schmitt.
11026
e03e4b24
VS
110272010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
11030 Suggested by: Thomas Schmitt.
11031
57711df6
VS
110322010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 custom.cfg support.
11035
11036 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
11037 * util/grub.d/41_custom.in: New file.
11038
ee62c427
CW
110392010-06-12 Colin Watson <cjwatson@ubuntu.com>
11040
11041 * util/grub-mkrescue.in (make_image): Remove sh module, which has
11042 been merged back into normal.
11043
283af07a
CW
110442010-06-11 Colin Watson <cjwatson@ubuntu.com>
11045
11046 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
11047 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
11048
56a0d956
CW
110492010-06-11 Colin Watson <cjwatson@ubuntu.com>
11050
11051 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
11052 when generating manual pages.
11053 * docs/man/grub-bin2h.h2m: New file.
11054 * docs/man/grub-editenv.h2m: New file.
11055 * docs/man/grub-fstest.h2m: New file.
11056 * docs/man/grub-install.h2m: New file.
11057 * docs/man/grub-macho2img.h2m: New file.
11058 * docs/man/grub-mkconfig.h2m: New file.
11059 * docs/man/grub-mkdevicemap.h2m: New file.
11060 * docs/man/grub-mkfont.h2m: New file.
11061 * docs/man/grub-mkimage.h2m: New file.
11062 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
11063 * docs/man/grub-mkrelpath.h2m: New file.
11064 * docs/man/grub-mkrescue.h2m: New file.
11065 * docs/man/grub-ofpathname.h2m: New file.
11066 * docs/man/grub-pe2elf.h2m: New file.
11067 * docs/man/grub-probe.h2m: New file.
11068 * docs/man/grub-reboot.h2m: New file.
11069 * docs/man/grub-script-check.h2m: New file.
11070 * docs/man/grub-set-default.h2m: New file.
11071 * docs/man/grub-setup.h2m: New file.
11072
3a37e322
VS
110732010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 Use FOR_* macros instead of *_iterate whenever possible.
11076
11077 * commands/handler.c: Removed.
11078 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
11079 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
11080 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11081 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
11082 (grub_probe_SOURCES): Remove kern/parser.c.
11083 (util/grub-script-check.c_DEPENDENCIES): Removed.
11084 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
11085 and grub_script_check_init.c.
11086 (grub_script_check_init.lst): Removed.
11087 (grub_script_check_init.h): Likewise.
11088 (grub_script_check_init.c): Likewise.
11089 (pkglib_MODULES): Remove handler.mod and sh.mod.
11090 (handler_mod_SOURCES): Removed.
11091 (handler_mod_CFLAGS): Likewise.
11092 (handler_mod_LDFLAGS): Likewise.
11093 (normal_mod_SOURCES): Remove normal/handler.c.
11094 Add script/main.c, script/script.c, script/execute.c,
11095 script/function.c, script/lexer.c, grub_script.tab.c
11096 and grub_script.yy.c.
11097 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11098 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11099 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
11100 (grub_setup_SOURCES): Remove kern/parser.c.
11101 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11102 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
11103 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11104 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11105 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11106 (grub_setup_SOURCES): Remove kern/parser.c.
11107 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11108 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
11109 * include/grub/command.h (grub_command_iterate): Removed.
11110 (FOR_COMMANDS): New macro.
11111 * include/grub/dl.h (grub_dl): New member next.
11112 (grub_dl_iterate): Removed.
11113 (grub_dl_head): New variable declaration.
11114 (FOR_DL_MODULES): New macro.
11115 * include/grub/fs.h: Include list.h.
11116 (grub_fs): Make next first element.
11117 (grub_fs_list): New variable declaration.
11118 (grub_fs_register): Make inline.
11119 (grub_fs_unregister): Likewise.
11120 (grub_fs_iterate): Removed.
11121 (FOR_FILESYSTEMS): New macro.
11122 * include/grub/handler.h: Removed.
11123 * include/grub/list.h (grub_list_hook_t): Removed.
11124 (grub_list_test_t): Likewise.
11125 (grub_list_pop): Likewise.
11126 (grub_list_iterate): Likewise.
11127 (grub_list_insert): Likewise.
11128 (FOR_LIST_ELEMENTS): New macro.
11129 * include/grub/parser.h (grub_parser_class): Removed.
11130 (grub_parser_register): Likewise.
11131 (grub_parser_unregister): Likewise.
11132 (grub_parser_get_current): Likewise.
11133 (grub_parser_set_current): Likewise.
11134 (grub_register_rescue_parser): Likewise.
11135 (grub_rescue_parse_line): New function.
11136 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
11137 * include/grub/script_sh.h (grub_script_function_list): New variable
11138 declaration.
11139 (FOR_SCRIPT_FUNCTIONS): New macro.
11140 (grub_script_function_iterate): Removed.
11141 (grub_normal_parse_line): New prototype.
11142 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
11143 (FOR_DISABLED_TERM_INPUTS): Likewise.
11144 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11145 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11146 * include/grub/video.h (grub_video_adapter): Move 'next' to first
11147 element.
11148 (grub_video_register): Inline.
11149 (grub_video_unregister): Likewise.
11150 (grub_video_adapter_list): New variable declaration.
11151 (grub_video_iterate): Removed.
11152 (FOR_VIDEO_ADAPTERS): New macro.
11153 * kern/dl.c (grub_dl_list): Removed. All users updated.
11154 (grub_dl_iterate): Removed.
11155 * kern/fs.c (grub_fs_list): Make global.
11156 (grub_fs_register): Removed.
11157 (grub_fs_unregister): Likewise.
11158 (grub_fs_iterate): Likewise.
11159 * kern/handler.c: Removed.
11160 * kern/list.c (grub_list_pop): Removed.
11161 (grub_list_iterate): Likewise.
11162 (grub_list_insert): Likewise.
11163 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
11164 (grub_prio_list_insert): Don't use grub_list_insert.
11165 * kern/main.c (grub_register_rescue_parser): Don't call
11166 grub_register_rescue_parser.
11167 * kern/parser.c (grub_parser_class): Removed.
11168 (grub_parser_execute): Use grub_rescue_parse_line.
11169 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
11170 (grub_rescue_parser): Removed.
11171 (grub_register_rescue_parser): Likewise.
11172 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
11173 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
11174 (grub_auth_check_authentication): Likewise.
11175 * normal/completion.c (iterate_command): Removed.
11176 (grub_normal_do_completion): Use FOR_COMMANDS.
11177 * normal/handler.c: Removed.
11178 * normal/main.c (read_config_file): Remove parser changing.
11179 (grub_normal_execute): Don't call read_handler_list.
11180 (grub_normal_read_line_real): Statically allocate prompt.
11181 (grub_cmdline_run): Use grub_normal_parse_line.
11182 (GRUB_MOD_FINI): Don't call free_handler_list.
11183 * normal/menu_entry.c (run): Likewise.
11184 * script/function.c (grub_script_function_list): Make global.
11185 (grub_script_function_iterate): Removed.
11186 * script/main.c (grub_normal_parse_line): Make global.
11187 (grub_sh_parser): Removed.
11188 (GRUB_MOD_INIT): Likewise.
11189 (GRUB_MOD_FINI): Likewise.
11190 * tests/lib/functional_test.c (grub_functional_test): Use
11191 FOR_LIST_ELEMENTS.
11192 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
11193 (grub_test_run): Use FOR_LIST_ELEMENTS.
11194 * tests/lib/unit_test.c (main): Likewise.
11195 * util/deviceiter.c (grub_util_iterate_devices): Don't use
11196 grub_list_pop.
11197 * util/grub-fstest.c (grub_term_input_class): Removed.
11198 (grub_term_output_class): Likewise.
11199 * util/grub-probe.c: Likewise.
11200 * util/i386/pc/grub-setup.c: Likewise.
11201 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11202 * util/grub-script-check.c (main): Don't call grub_init_all and
11203 grub_fini_all.
11204 * video/video.c (grub_video_adapter_list): Make global.
11205 (grub_video_register): Removed.
11206 (grub_video_unregister): Likewise.
11207 (grub_video_iterate): Likewise.
11208
6289c3a7
VS
112092010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
11212 reported by Henrique Ferreiro.
11213
91460247
RM
112142010-06-09 Robert Millan <rmh@gnu.org>
11215
11216 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
11217 ones, when both are available.
11218
0ea7c4f9
GS
112192010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11220
11221 Make --version uniform and avoid hard-coded program name.
11222
11223 * util/grub-mkimage.c (main): Use `program_name' instead of
11224 hard-coded string.
11225 * util/i386/pc/grub-setup.c (main): Likewise.
11226 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
11227 * util/grub-install.in: Save the basename of $0 in $self, and use the
11228 latter in informational messages. Use the same format for --version
11229 as the binary programs.
11230 * util/grub-mkconfig.in: Likewise.
11231 * util/grub-mkrescue.in: Likewise.
11232 * util/grub-reboot.in: Likewise.
11233 * util/grub-set-default.in: Likewise.
11234 * util/i386/efi/grub-install.in: Likewise.
11235 * util/ieee1275/grub-install.in: Likewise.
11236 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11237
e8a6f3b6
GS
112382010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11239
11240 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
11241 embedding area. Use <= instead of == when checking for non-emptiness.
11242
f4d095d7
GS
112432010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11244
11245 * configure.ac: Add `.' to the directories searched for unifont.
11246
50e532ca
CW
112472010-06-08 Colin Watson <cjwatson@ubuntu.com>
11248
11249 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
11250 grub_script.yy.h.
11251
d39f3dec
CW
112522010-06-08 Colin Watson <cjwatson@ubuntu.com>
11253
11254 * docs/grub.texi (History): Expand to cover GRUB 2.
11255 (Serial terminal): Refer to `terminal_input' and `terminal_output'
11256 commands, not `terminal'.
11257 (serial): Likewise.
11258 (terminal_input): New section.
11259 (terminal_output): New section.
11260 (uppermem): New section (stub).
11261 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
11262
6ef0ddb4
CW
112632010-06-08 Colin Watson <cjwatson@ubuntu.com>
11264
11265 * docs/grub.texi (Security): Menu entries are unrestricted by
11266 default, not restricted to superusers as I had previously thought.
11267 Reword to account for this.
11268
e0f4c438
CW
112692010-06-07 Colin Watson <cjwatson@ubuntu.com>
11270
11271 * kern/emu/misc.c (device_mapper_null_log): New function.
11272 (grub_device_mapper_supported): New function.
11273 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
11274 prototype.
11275 * kern/emu/hostdisk.c (find_partition_start): Check whether
11276 device-mapper is supported before trying to use it.
11277 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
11278
da908200
CW
112792010-06-07 Colin Watson <cjwatson@ubuntu.com>
11280
11281 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
11282 (File name syntax): Likewise.
11283 (help): --all is no longer supported in GRUB 2. Be more precise
11284 about pattern matching.
11285
fb55c3ac
CW
112862010-06-07 Colin Watson <cjwatson@ubuntu.com>
11287
11288 * normal/completion.c (grub_normal_do_completion): When completing
11289 arguments to "set" and the current word contains an equals sign,
11290 skip to after the equals sign before starting completion.
11291
258c2573
CW
112922010-06-07 Colin Watson <cjwatson@ubuntu.com>
11293
11294 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
11295
ee75515e
CW
112962010-06-07 Colin Watson <cjwatson@ubuntu.com>
11297
11298 * docs/grub.texi (Network): New section.
11299 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
11300 `(nd)' as in GRUB Legacy.
11301 (pxe_unload): New section.
11302
a6a700aa
CW
113032010-06-07 Colin Watson <cjwatson@ubuntu.com>
11304
11305 * docs/grub.texi (Troubleshooting): `echo' is not usually available
11306 in the rescue shell, so recommend using `set' instead. Thanks,
11307 Jordan Uggla.
11308
4003dd38
CW
113092010-06-07 Colin Watson <cjwatson@ubuntu.com>
11310
11311 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
11312 (password): New section.
11313 (password_pbkdf2): New section.
11314 (search): New section.
11315 (Security): New section.
11316 (Troubleshooting): New section, currently very incomplete.
11317 (Invoking grub-mkpasswd-pbkdf2): New section.
11318 (Internals): New section, currently very incomplete.
11319
e1cbcc40
CW
113202010-06-07 Colin Watson <cjwatson@ubuntu.com>
11321
11322 * util/grub.d/00_header.in: Add some more quoting (of
11323 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
11324 work again.
11325 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
11326
db8fa1ad
CW
113272010-06-07 Colin Watson <cjwatson@ubuntu.com>
11328
11329 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
11330 to `count', fixing variable shadowing that broke the -c option.
11331
113322010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
11333
11334 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
11335 in case they contain spaces.
11336
f28a9212
CW
113372010-06-04 Colin Watson <cjwatson@ubuntu.com>
11338
11339 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
11340 "part_" to partmap module names, in line with grub-install.
11341 Reported by: Jindřich Makovička (Debian bug #584426).
11342
9cdfe32f
CW
113432010-06-04 Colin Watson <cjwatson@ubuntu.com>
11344
11345 * util/grub-mkimage.c: Make target-related error messages slightly
11346 more helpful; -O talks about "format". Explicitly point to the use
11347 of -O if no target is specified.
11348 Reported by: Didier Raboud (Debian bug #584415).
11349
795b593a
CW
113502010-06-03 Colin Watson <cjwatson@ubuntu.com>
11351
11352 * INSTALL: Document several build requirements for optional features
11353 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
11354
9d9b5833
GS
113552010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11356
11357 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
11358 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
11359 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
11360
0819fec8
CW
113612010-06-02 Colin Watson <cjwatson@ubuntu.com>
11362
11363 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
11364 Thanks to Jordan Uggla for spotting this.
11365
49396b4f
VS
113662010-06-02 Aleš Nesrsta <starous@volny.cz>
11367
11368 Finally make USB usable.
11369
11370 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
11371 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
11372 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
11373 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
11374 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
11375 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
11376 (GRUB_OHCI_FSMPS): Likewise.
11377 (GRUB_OHCI_PERIODIC_START): Likewise.
11378 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
11379 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
11380 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
11381 (GRUB_OHCI_SET_PORT_RESET): Likewise.
11382 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
11383 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
11384 (grub_ohci_transaction): Likewise.
11385 (grub_ohci_transfer): Improve condition detection algorithms.
11386 Handle toggle property. Program the transactions correctly.
11387 Improve error handling. Various important fixups.
11388 (grub_ohci_portstatus): Put register writes in right order.
11389 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
11390 (grub_uhci_transfer): Don't show "failed" message on success.
11391 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
11392 array.
11393 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
11394 determine its size.
11395 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
11396 before initialization is completed. Use IN direction for empty
11397 transfers. Use last_trans and compute toggle.
11398 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
11399 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
11400 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
11401 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
11402 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
11403 (grub_usb_device): Increase toggle to 256.
11404 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
11405 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
11406 GRUB_USBMS_SUBCLASS_SFF8070.
11407 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
11408 (grub_scsi_inquiry): New member page and alloc_length.
11409 (grub_scsi_request_sense): New structure.
11410 (grub_scsi_request_sense_data): Likewise.
11411 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
11412 control.
11413 * disk/scsi.c (grub_scsi_request_sense): New function.
11414 (grub_scsi_test_unit_ready): Likewise.
11415 (grub_scsi_inquiry): Fill new fields.
11416 (grub_scsi_read_capacity): Likewise.
11417 (grub_scsi_read10): Add request sense at the end.
11418 (grub_scsi_read12): Likewise.
11419 (grub_scsi_write10): Likewise.
11420 (grub_scsi_write12): Likewise.
11421 (grub_scsi_open): Add Test Unit Ready.
11422 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
11423 Support additional subclasses. Con't clear halt yet. Activate the
11424 proper config. Calculate LUNs correctly.
11425 (grub_usbms_transfer): Various important fixups.
11426
114272010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
11430 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
11431 (grub_ohci_fini_hw): New function.
11432 (grub_ohci_restore_hw): Likewise.
11433 (GRUB_MOD_INIT(ohci)): Register preboot hook.
11434 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
11435 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
11436
114372010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 Dedicated DMA allocations.
11440
11441 * bus/pci.c (grub_memalign_dma32): New function
11442 (grub_dma_free): Likewise.
11443 (grub_dma_get_virt): Likewise.
11444 (grub_dma_get_phys): Likewise.
11445 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
11446 (grub_ohci_pci_iter): Use dma32_alloc.
11447 (grub_ohci_transfer): Likewise.
11448 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11449 (grub_usb_bulk_readwrite): Likewise.
11450 * include/grub/pci.h: Add declarations.
11451
114522010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 CS5536 support.
11455
11456 * bus/cs5536.c: New file.
11457 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
11458 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
11459 (cs5536_mod_SOURCES): New variable.
11460 (cs5536_mod_CFLAGS): Likewise.
11461 (cs5536_mod_LDFLAGS): Likewise.
11462 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
11463 machine/pci.h.
11464 (kernel_img_SOURCES): Add bus/cs5536.c.
11465 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
11466 usb_keyboard.mod.
11467 (usb_mod_SOURCES): New variable.
11468 (usb_mod_CFLAGS): New variable.
11469 (usb_mod_LDFLAGS): New variable.
11470 (usbtest_mod_SOURCES): New variable.
11471 (usbtest_mod_CFLAGS): New variable.
11472 (usbtest_mod_LDFLAGS): New variable.
11473 (ohci_mod_SOURCES): New variable.
11474 (ohci_mod_CFLAGS): New variable.
11475 (ohci_mod_LDFLAGS): New variable.
11476 (usbms_mod_SOURCES): New variable.
11477 (usbms_mod_CFLAGS): New variable.
11478 (usbms_mod_LDFLAGS): New variable.
11479 (usb_keyboard_mod_SOURCES): New variable.
11480 (usb_keyboard_mod_CFLAGS): New variable.
11481 (usb_keyboard_mod_LDFLAGS): New variable.
11482 * include/grub/smbus.h: New file.
11483 * include/grub/cs5536.h: New file.
11484
0b35b2a9
CW
114852010-06-02 Colin Watson <cjwatson@ubuntu.com>
11486
11487 * util/grub.d/00_header.in: Add safety check to make sure that
11488 ${locale_dir} exists before trying to probe it.
11489
ca0afd5b
CW
114902010-06-02 Colin Watson <cjwatson@ubuntu.com>
11491
11492 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
11493 per the GNU Coding Standards; this is now too obscure to be worth
11494 documenting.
11495 (QNX): Likewise.
11496 (chainloader): Remove cross-reference to `SCO UnixWare'.
11497
1c41aa78
CW
114982010-06-02 Colin Watson <cjwatson@ubuntu.com>
11499
11500 * docs/grub.texi (Chain-loading): New section.
11501 (DOS/Windows): New section, borrowed from GRUB Legacy with details
11502 adjusted for GRUB 2.
11503 (SCO UnixWare): Likewise.
11504 (QNX): Likewise.
11505 (chainloader): Add reference to `Block list syntax'.
11506 (drivemap): New section.
11507 (parttool): New section.
11508
bb8ea0f5
CW
115092010-06-02 Colin Watson <cjwatson@ubuntu.com>
11510
11511 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
11512 the grub shell'.
11513 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
11514 (Installing GRUB using grub-install): Remove reference to the grub
11515 shell; mention `grub-mkimage' and `grub-setup' instead.
11516 (Invoking grub-install): Likewise.
11517 (Interface): Add reference to `Menu entry editor'.
11518 (serial): Remove `--device' option.
11519
288dd6ed
CW
115202010-06-02 Colin Watson <cjwatson@ubuntu.com>
11521
11522 * docs/grub.texi (Configuration): New section, documenting
11523 configuration file generation using grub-mkconfig. I've left a slot
11524 for documenting the full shell scripting format but have not yet
11525 started on writing that up.
11526 (Invoking grub-mkconfig): New section.
11527
34c9f0e9
CW
115282010-06-02 Colin Watson <cjwatson@ubuntu.com>
11529
11530 * docs/grub.texi (direntry): Remove grub-terminfo reference.
11531 (GNU GRUB manual): Likewise.
11532 (General commands): Update description of `terminfo' for GRUB 2.
11533
9121567e
CW
115342010-06-02 Colin Watson <cjwatson@ubuntu.com>
11535
11536 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
11537 (GRUB_MOD_INIT): Fix capitalisation.
11538 * docs/grub.texi (Command-line and menu entry commands): Document
11539 gettext and gptsync commands.
11540
ab631611
CW
115412010-06-02 Colin Watson <cjwatson@ubuntu.com>
11542
11543 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
11544 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
11545
bde4a9ac
CW
115462010-06-01 Colin Watson <cjwatson@ubuntu.com>
11547
11548 Add btrfs probing support, currently only in the single-device case.
11549
11550 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
11551 function.
11552 (grub_guess_root_device): Call find_root_device_from_mountinfo
11553 before looking in /dev.
11554
b1d17e10
VS
115552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
11558 GRUB_DISK_SIZE_UNKNOWN.
11559 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
11560
dfbfe004
JS
115612010-05-31 Jiro SEKIBA <jir@unicus.jp>
11562
11563 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
11564 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
11565 corrupted or not synced properly.
11566
c2ffc8e9
VS
115672010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
11570 Reported by: Seth Goldberg.
11571
56293166
VS
115722010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
11575 addition of dest.
11576 Reported by: Seth Goldberg.
11577
7620e7de
VS
115782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
11581 Reported by: Seth Goldberg.
11582
c837af3f
VS
115832010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
11586 64-bit address as signed on MIPS.
11587
c7c75cf4
CW
115882010-05-28 Colin Watson <cjwatson@ubuntu.com>
11589
11590 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
11591 to the empty string.
11592
fa4b8490
BC
115932010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
11594
11595 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
11596
11597 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
11598 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
11599 * kern/misc.c (__enable_execute_stack): Disable on
11600 GRUB_MACHINE_EMU.
11601
a33075b9
CW
116022010-05-28 Colin Watson <cjwatson@ubuntu.com>
11603
11604 Make grub-probe work with symbolic links under /dev/mapper as well
11605 as with real block devices. The Linux world seems to be (at best)
11606 in transition here, and GRUB shouldn't get caught in the middle.
11607
11608 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
11609 /dev/mapper.
11610
d8708134
CW
116112010-05-27 Colin Watson <cjwatson@ubuntu.com>
11612
11613 * util/grub-script-check.c (main): Ensure defined behaviour on empty
11614 input files (in which case exit zero).
11615
db2102a0
CW
116162010-05-27 Colin Watson <cjwatson@ubuntu.com>
11617
11618 * kern/emu/misc.c (canonicalize_file_name): realpath can still
11619 return NULL for various reasons even if it has a maximum-length
11620 buffer: for example, there might be a symlink loop, or the path
11621 might exceed PATH_MAX. If this happens, return NULL.
11622
5fdba519
RM
116232010-05-27 Robert Millan <rmh@gnu.org>
11624
11625 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
11626 partmap module to handle cross-partmap setups.
11627 Reported by Orestes Mas. Gràcies!
11628
d1d368e4
CW
116292010-05-27 Colin Watson <cjwatson@ubuntu.com>
11630
11631 * util/grub-mkrescue.in: Initialise override_dir rather than
11632 assuming that it's unset or empty in the environment.
11633
95ac3c73
GS
116342010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
11635
11636 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
11637 variable index into p_index to suppress a warning with -Wshadow.
11638
7d8c0213
BC
116392010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
11640
11641 * INSTALL: Added flex >= 2.5.35 requirement.
11642
db4d5813
VS
116432010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11644
11645 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
11646
f24f4300
VS
116472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 cmostest support.
11650
11651 * commands/i386/cmostest.c: New file.
11652 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
11653 (cmostest_mod_SOURCES): New variable.
11654 (cmostest_mod_CFLAGS): Likewise.
11655 (cmostest_mod_LDFLAGS): Likewise.
11656 * conf/i386-pc.rmk: Likewise.
11657 * docs/grub.texi (Vendor power-on keys): New section.
11658 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
11659 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
11660 and GRUB_BUTTON_CMOS_ADDRESS.
11661 * util/grub.d/00_header.in: Handle powering-on by separate button.
11662
ad603f61
VS
116632010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
11666 Removed drawing_scrollbar argument. All users updated
11667 Fixes #29792.
11668 Reported by Jo Shields
11669
3ecb080a
VS
116702010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
11673 buffer since gfxterm handles double repaint.
11674
5f2316c1
VS
116752010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
11678 * term/gfxterm.c (real_scroll): Likewise.
11679
9a25f885
VS
116802010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
11683 before calling BIOS.
11684
39fbb79a
VS
116852010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * include/grub/i18n.h: Always enable grub_gettext.
11688
228cfa97
VS
116892010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
11692 partition naming style.
11693
21717c8f
CW
116942010-05-21 Colin Watson <cjwatson@ubuntu.com>
11695
11696 * util/grub-mkconfig.in: Fix handling of -o so that it works when
11697 not the first option.
11698
c0f48e65
CW
116992010-05-20 Colin Watson <cjwatson@ubuntu.com>
11700
11701 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
11702
96779aec
CW
117032010-05-20 Colin Watson <cjwatson@ubuntu.com>
11704
11705 * util/misc.c: Move inclusion of <limits.h> to ...
11706 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
11707
fa9d256e
GS
117082010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
11709
11710 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
11711 Fix merge error in NetBSD code.
11712 (find_partition_start) [__NetBSD__]: Likewise.
11713
123b7a85
BC
117142010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
11715
11716 Fix grub-mkrescue usage unit testing.
11717
11718 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
11719
74276c0d
CF
117202010-05-18 Christian Franke <franke@computer.org>
11721
11722 * util/grub.d/10_windows.in: Use path names instead of
11723 drive letters to prevent warning from Cygwin 1.7.
11724 Add drivemap command to menuentry if needed.
11725
c4f7b523
ST
117262010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
11727
11728 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
11729 gnumach and gnumach.gz.
11730
95b97950
VS
117312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * include/grub/i18n.h (gettext): Inline instead of using #define.
11734 (grub_gettext): Likewise.
11735 (_): Likewise.
11736
01b8d2d7
VS
117372010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
11740 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
11741 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
11742 (main): Add a slash after pkglibdirroot.
11743
654e1d1e
VS
117442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * util/grub-install.in: Add missing "in" keyword.
11747
26966aeb
VS
117482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11749
11750 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
11751 Reported by: Seth Goldberg.
11752
75006747
VS
117532010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11754
11755 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
11756
74cbf5bd
CW
117572010-05-18 Colin Watson <cjwatson@ubuntu.com>
11758
11759 * configure.ac: Check for Linux device-mapper support.
11760
11761 * util/hostdisk.c (device_is_mapped): New function.
11762 (find_partition_start): New function, partly broken out from
11763 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
11764 device-mapper support added.
11765 (linux_find_partition): Use find_partition_start.
11766 (convert_system_partition_to_system_disk): Add `st' argument.
11767 Support Linux /dev/mapper/* devices if device-mapper support is
11768 available; only DM-RAID devices are understood at present.
11769 (find_system_device): Add `st' argument. Pass it to
11770 convert_system_partition_to_system_disk.
11771 (grub_util_biosdisk_get_grub_dev): Pass stat result to
11772 find_system_device and convert_system_partition_to_system_disk. Use
11773 find_partition_start.
11774
11775 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
11776 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
11777 * util/deviceiter.c [__linux__]: Define MINOR.
11778 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
11779 * util/mkdevicemap.c (grub_putchar): New function.
11780 (grub_getkey): New function.
11781 (grub_refresh): New function.
11782 (main): Set debug=all if -v -v is used.
11783
355b51e9
CW
117842010-05-18 Colin Watson <cjwatson@ubuntu.com>
11785
11786 Fix build with non-GNU libcs.
11787
11788 * util/misc.c (canonicalize_file_name): Move to ...
11789 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
11790 grub_make_system_path_relative_to_its_root.
11791
7fb5c25f
CW
117922010-05-18 Colin Watson <cjwatson@ubuntu.com>
11793
11794 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
11795 we handle finding grub-mkimage. Default to finding grub-mkimage in
11796 ${bindir} with program_transform_name applied, and provide a
11797 --grub-mkimage option to override this.
11798
1d3293d6
VS
117992010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11800
11801 Remove grub-mkisofs.
11802
11803 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
11804 (grub_mkisofs_SOURCES): Removed.
11805 (grub_mkisofs_CFLAGS): Removed.
11806 * util/mkisofs/defaults.h: Removed.
11807 * util/mkisofs/eltorito.c: Likewise.
11808 * util/mkisofs/exclude.h: Likewise.
11809 * util/mkisofs/hash.c: Likewise.
11810 * util/mkisofs/include/: Likewise.
11811 * util/mkisofs/include/fctldefs.h: Likewise.
11812 * util/mkisofs/include/mconfig.h: Likewise.
11813 * util/mkisofs/include/prototyp.h: Likewise.
11814 * util/mkisofs/include/statdefs.h: Likewise.
11815 * util/mkisofs/iso9660.h: Likewise.
11816 * util/mkisofs/joliet.c: Likewise.
11817 * util/mkisofs/match.c: Likewise.
11818 * util/mkisofs/match.h: Likewise.
11819 * util/mkisofs/mkisofs.c: Likewise.
11820 * util/mkisofs/mkisofs.h: Likewise.
11821 * util/mkisofs/msdos_partition.h: Likewise.
11822 * util/mkisofs/multi.c: Likewise.
11823 * util/mkisofs/name.c: Likewise.
11824 * util/mkisofs/rock.c: Likewise.
11825 * util/mkisofs/tree.c: Likewise.
11826 * util/mkisofs/write.c: Likewise.
11827
5dde9afe
VS
118282010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 Unify grub-mkimage accross platforms.
11831
11832 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
11833 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
11834 (grub_mkelfimage_SOURCES): Removed.
11835 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
11836 (util/grub-mkimage.c_DEPENDENCIES): .. this.
11837 (bin_UTILITIES): Add grub-mkimage.
11838 (grub_mkimage_SOURCES): New variable.
11839 (kernel_img_HEADERS): Remove machine/kernel.h.
11840 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
11841 (pkglib_PROGRAMS): Add kernel.img.
11842 (kernel_img_HEADERS): Add machine/kernel.h.
11843 (kernel_img_FORMAT): Removed.
11844 (bin_UTILITIES): Remove grub-mkimage.
11845 (grub_mkimage_SOURCES): Removed.
11846 (grub_mkimage_CFLAGS): Likewise.
11847 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11848 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
11849 (pkglib_PROGRAMS): Add kernel.img.
11850 (bin_UTILITIES): Remove grub-mkimage.
11851 (grub_mkimage_SOURCES): Removed.
11852 (grub_mkimage_CFLAGS): Likewise.
11853 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11854 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
11855 (pkglib_PROGRAMS): Add kernel.img.
11856 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
11857 (pkglib_PROGRAMS): Add kernel.img.
11858 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
11859 (grub_mkimage_SOURCES): Removed.
11860 (grub_mkimage_CFLAGS): Likewise.
11861 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11862 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
11863 (pkglib_PROGRAMS): Add kernel.img.
11864 (bin_UTILITIES): Remove grub-mkimage.
11865 (grub_mkimage_SOURCES): Removed.
11866 (grub_mkimage_CFLAGS): Likewise.
11867 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11868 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
11869 (grub_mkimage_SOURCES): Removed.
11870 (grub_mkimage_CFLAGS): Likewise.
11871 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11872 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
11873 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
11874 (grub_pe32_optional_header): ... this.
11875 (grub_pe64_optional_header): ... and this. All users updated.
11876 (GRUB_PE32_PE32_MAGIC): Split into ..
11877 (GRUB_PE32_PE32_MAGIC): .. this.
11878 (GRUB_PE32_PE64_MAGIC): .. and this.
11879 (GRUB_PE32_SIGNATURE_SIZE): New definition.
11880 * include/grub/elf.h (PT_GNU_STACK): New definition.
11881 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
11882 * include/grub/i386/efi/kernel.h: Likewise.
11883 * include/grub/i386/kernel.h: Likewise.
11884 * include/grub/i386/pc/kernel.h: Likewise.
11885 * include/grub/i386/qemu/boot.h: Likewise.
11886 * include/grub/mips/kernel.h: Likewise.
11887 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11888 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11889 * include/grub/powerpc/kernel.h: Likewise.
11890 * include/grub/sparc64/ieee1275/boot.h: Likewise.
11891 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11892 * include/grub/sparc64/kernel.h: Likewise.
11893 * include/grub/x86_64/efi/kernel.h: Likewise.
11894 * include/grub/x86_64/kernel.h: Likewise.
11895 * include/grub/offsets.h: New file.
11896 * include/grub/kernel.h (grub_module_info): Split into ...
11897 (grub_module_info32): ... this.
11898 (grub_module_info64): ... and this.
11899 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
11900 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
11901 (grub_boot_blocklist): Moved from here ...
11902 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
11903 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
11904 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
11905 * include/grub/types.h (grub_target_to_host16): Removed.
11906 (grub_target_to_host32): Likewise.
11907 (grub_target_to_host64): Likewise.
11908 (grub_host_to_target16): Likewise.
11909 (grub_host_to_target32): Likewise.
11910 (grub_host_to_target64): Likewise.
11911 (grub_host_to_target_addr): Likewise.
11912
11913 Support grub-mkrescue for efi, coreboot and qemu.
11914
11915 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
11916 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
11917 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
11918 * util/grub-mkrawimage.c: Moved from here ...
11919 * util/grub-mkimage.c: ... here. All users updated.
11920 (ALIGN_ADDR): Use image_target.
11921 (TARGET_NO_FIELD): New const.
11922 (image_target_desc): New type.
11923 (image_targets): New array.
11924 (grub_target_to_host64): Use image_target.
11925 (grub_target_to_host32): Likewise.
11926 (grub_target_to_host16): Likewise.
11927 (grub_host_to_target64): Likewise.
11928 (grub_host_to_target32): Likewise.
11929 (grub_host_to_target16): Likewise.
11930 (grub_host_to_target_addr): Likewise.
11931 (generate_image): Handle multiimage.
11932 (main): Require -O parameter. All users updated.
11933 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
11934 util/efi/grub-mkimage.c
11935 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
11936 New option --rom-directory.
11937 Use xorriso.
11938 * util/i386/efi/grub-mkimage.c: Removed.
11939 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
11940 (grub_target_to_host32): Likewise.
11941 (grub_target_to_host64): Likewise.
11942 (grub_host_to_target16): Likewise.
11943 (grub_host_to_target32): Likewise.
11944 (grub_host_to_target64): Likewise.
11945 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
11946 (grub_target_to_host32): Likewise.
11947 (grub_target_to_host64): Likewise.
11948 (grub_host_to_target16): Likewise.
11949 (grub_host_to_target32): Likewise.
11950 (grub_host_to_target64): Likewise.
11951
f4fc97d0
BC
119522010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
11953
11954 Source tree is reorganized for emu build.
11955
11956 * include/grub/util/console.h: Move from here...
11957 * include/grub/emu/console.h: ...to here.
11958 * include/grub/util/getroot.h: Move from here...
11959 * include/grub/emu/getroot.h: ...to here.
11960 * include/grub/util/hostdisk.h: Move from here...
11961 * include/grub/emu/hostdisk.h: ...to here.
11962 * util/console.c: Move from here...
11963 * kern/emu/console.c: ...to here.
11964 * util/getroot.c: Move from here...
11965 * kern/emu/getroot.c: ...to here.
11966 * util/grub-emu.c: Move from here...
11967 * kern/emu/main.c: ...to here.
11968 * util/hostdisk.c: Move from here...
11969 * kern/emu/hostdisk.c: ...to here.
11970 * util/hostfs.c: Move from here...
11971 * kern/emu/hostfs.c: ...to here.
11972 * util/mm.c: Move from here...
11973 * kern/emu/mm.c: ...to here.
11974 * util/pci.c: Move from here...
11975 * bus/emu/pci.c: ...to here.
11976 * util/sdl.c: Move from here...
11977 * video/emu/sdl.c: ...to here.
11978 * util/time.c: Move from here...
11979 * kern/emu/time.c: ...to here.
11980 * util/usb.c: Move from here...
11981 * bus/usb/emu/usb.c: ...to here.
11982
11983 * include/grub/emu/misc.h: New header for grub-emu functions.
11984 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
11985
11986 * conf/any-emu.rmk: Rule updates for above renames.
11987 * conf/common.rmk: Likewise.
11988 * conf/i386-pc.rmk: Likewise.
11989 * conf/i386-qemu.rmk: Likewise.
11990 * conf/mips.rmk: Likewise.
11991 * conf/sparc64-ieee1275.rmk: Likewise.
11992 * conf/x86-efi.rmk: Likewise.
11993
11994 * disk/lvm.h: #include updates for above renames.
11995 * util/grub-mkrelpath.c: Likewise.
11996 * util/grub-probe.c: Likewise.
11997 * util/i386/pc/grub-setup.c: Likewise.
11998 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11999 * kern/emu/console.c: Likewise.
12000 * kern/emu/getroot.c: Likewise.
12001 * kern/emu/hostdisk.c: Likewise.
12002 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
12003
12004 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
12005 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
12006 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
12007 * util/misc.c: Remove grub-emu functions.
12008
cced9145
VS
120092010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 Fix gfxmenu crash.
12012 Reported by: Thorsten Grützmacher.
12013
12014 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
12015 timeout hook.
12016 (circprog_set_property): Register and unregister timeout hook.
12017 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
12018 (label_destroy): Free template. and unregister hook.
12019 (label_set_state): New function.
12020 (label_set_property): Handle templates and hooks.
12021 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
12022 timeout hook.
12023 (progress_bar_set_property): Register and unregister timeout hook.
12024 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
12025 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
12026 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
12027 (update_timeout_visit): Removed.
12028 (update_timeouts): New function.
12029 (redraw_timeouts): Likewise.
12030 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
12031 (grub_gfxmenu_clear_timeout): Likewise.
12032 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
12033 (grub_gfxmenu_timeout_notify): Likewise.
12034 (grub_gfxmenu_timeout_notifications): New external variable.
12035 (grub_gfxmenu_timeout_register): New function.
12036 (grub_gfxmenu_timeout_unregister): Likewise.
12037
c6e5caab
VS
120382010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 Transform (broken) vga terminal into (working) vga video driver.
12041
12042 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
12043 video/i386/pc/vga.c.
12044 * include/grub/video.h (grub_video_driver_id):
12045 Add GRUB_VIDEO_DRIVER_VGA.
12046 * term/i386/pc/vga.c: Renamed to ...
12047 * video/i386/pc/vga.c: ...this
12048 (DEBUG_VGA): Removed.
12049 (CHAR_WIDTH): Likewise.
12050 (CHAR_HEIGHT): Likewise.
12051 (TEXT_WIDTH): Likewise.
12052 (TEXT_HEIGHT): Likewise.
12053 (DEFAULT_FG_COLOR): Likewise.
12054 (DEFAULT_BG_COLOR): Likewise.
12055 (colored_char): Likewise.
12056 (xpos): Likewise.
12057 (ypos): Likewise.
12058 (cursor_state): Likewise.
12059 (fg_color): Likewise.
12060 (bg_color): Likewise.
12061 (text_buf): Likewise.
12062 (page): Likewise.
12063 (font): Likewise.
12064 (framebuffer): New variable.
12065 (set_read_map): Disabled.
12066 (setup): New variable.
12067 (is_target): Likewise.
12068 (grub_vga_mod_init): Likewise.
12069 (grub_vga_mod_fini): Likewise.
12070 (check_vga_mem): Likewise.
12071 (write_char): Likewise.
12072 (write_cursor): Likewise.
12073 (scroll_up): Likewise.
12074 (grub_vga_putchar): Likewise.
12075 (grub_vga_getcharwidth): Likewise.
12076 (grub_vga_getwh): Likewise.
12077 (grub_vga_getxy): Likewise.
12078 (grub_vga_gotoxy): Likewise.
12079 (grub_vga_cls): Likewise.
12080 (grub_vga_setcolorstate): Likewise.
12081 (grub_vga_setcursor): Likewise.
12082 (grub_video_vga_init): New function.
12083 (grub_video_vga_setup): Likewise.
12084 (grub_video_vga_fini): Likewise.
12085 (update_target): Likewise.
12086 (grub_video_vga_blit_bitmap): Likewise.
12087 (grub_video_vga_blit_render_target): Likewise.
12088 (grub_video_vga_set_active_render_target): Likewise.
12089 (grub_video_vga_get_active_render_target): Likewise.
12090 (grub_video_vga_swap_buffers): Likewise.
12091 (grub_video_vga_set_palette): Likewise.
12092 (grub_video_vga_get_info_and_fini): Likewise.
12093 (grub_vga_term): Removed.
12094 (grub_video_vga_adapter): New variable.
12095 (GRUB_MOD_INIT): Register a video driver instead of terminal.
12096 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
12097
2bf61a98
VS
120982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12099
12100 * video/readers/jpeg.c: Indented.
12101
09ddcd11
VS
121022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 Various jpeg cleanups.
12105
12106 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
12107 (grub_jpeg_decode_quan_table): Use sizeof.
12108 (grub_jpeg_decode_du): Use ARRAY_SIZE.
12109
e5507505
PH
121102010-05-05 Peter Hurley <No e-mail available> (tiny change)
12111
12112 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
12113 tables. Ignore non-last ac bit.
12114 (grub_jpeg_decode_quan_table): Likewise.
12115
7e720a9b
VS
121162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
12119 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
12120 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12121 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
12122 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
12123 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
12124
a7fc080b
VS
121252010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
12128 error.
12129
2bf6012d
VS
121302010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
12133
265d68cd
VS
121342010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
12137 condition.
12138
121392010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
12140
12141 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
12142 part.
12143
265d68cd 121442010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
12145
12146 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
12147 pointers.
12148
265d68cd 121492010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
12150
12151 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
12152
d1b61374
CF
121532010-05-01 Christian Franke <franke@computer.org>
12154
12155 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
12156 Remove broken Cygwin path conversion.
12157 * util/misc.c: [__CYGWIN__] Add include and define.
12158 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
12159 for Cygwin 1.7.
12160 (make_system_path_relative_to_its_root): Simplify loop, replace early
12161 return by break.
12162 [__CYGWIN__] Add conversion to win32 path.
12163 Include "/" case in trailing slash removal.
12164
3558c6e9
VS
121652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 * kern/main.c (grub_load_config): Fix copy-pasted comment.
12168 Reported by: Seth Goldberg
12169
f5f3ff93
VS
121702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * commands/help.c (grub_cmd_help): Fix a typo.
12173 Reported by: Seth Goldberg
12174
d8b5cd40
VS
121752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
12178 name and add N_.
12179 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
12180 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
12181 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
12182 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
12183 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
12184 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
12185 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12186 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12187 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12188 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12189 * normal/context.c (GRUB_MOD_INIT): Likewise.
12190 * normal/main.c (GRUB_MOD_INIT): Likewise.
12191 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12192 * term/serial.c (GRUB_MOD_INIT): Likewise.
12193 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12194
88c14915
VS
121952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
12198 extra == 0.
12199
165134bc
VS
122002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * commands/iorw.c: New file.
12203 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
12204 (iorw_mod_SOURCES): New variable.
12205 (iorw_mod_CFLAGS): Likewise.
12206 (iorw_mod_LDFLAGS): Likewise.
12207
c5ac9b32
VS
122082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 Hotkey support
12211
12212 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
12213 * normal/main.c (hotkey_aliases): New variable.
12214 (grub_normal_add_menu_entry): Parse "--hotkey".
12215 * normal/menu_text.c (run_menu): Handle hotkeys.
12216
ce60689c
VS
122172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 * kern/i386/coreboot/init.c (grub_machine_init): Call
12220 grub_machine_mmap_init on qemu.
12221
0359d006
VS
122222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 * boot/i386/qemu/boot.S: Add a missing .code16.
12225
7819a456
VS
122262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 Use LBIO on coreboot.
12229
12230 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
12231 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
12232 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
12233 New declaration.
12234 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
12235 grub_machine_mmap_init on coreboot.
12236 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
12237 GRUB_LINUXBIOS_MEMBER_LINK.
12238 (grub_machine_mmap_iterate): Fix declaration.
12239 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
12240
7210dca9
VS
122412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 Split coreboot and multiboot ports.
12244
12245 * conf/i386-multiboot.rmk: New file.
12246 * configure.ac: Add multiboot port.
12247 * include/grub/i386/multiboot/boot.h: New file.
12248 * include/grub/i386/multiboot/console.h: Likewise.
12249 * include/grub/i386/multiboot/init.h: Likewise.
12250 * include/grub/i386/multiboot/kernel.h: Likewise.
12251 * include/grub/i386/multiboot/loader.h: Likewise.
12252 * include/grub/i386/multiboot/memory.h: Likewise.
12253 * include/grub/i386/multiboot/serial.h: Likewise.
12254 * include/grub/i386/multiboot/time.h: Likewise.
12255 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
12256 * loader/multiboot.c: Likewise.
12257 * loader/multiboot_mbi2.c: Likewise.
12258 * util/grub-mkrescue.in: Generate multiboot rescue.
12259
6f8aaf68
VS
122602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12261
3080f7a7
VS
12262 * kern/parser.c (grub_parser_execute): Cope with read-only config.
12263
122642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
12267
12268 * commands/terminal.c (abstract_terminal): New struct.
12269 (handle_command): New function. Based on grub_cmd_terminal_input.
12270 (grub_cmd_terminal_input): Use handle_command.
12271 (grub_cmd_terminal_output): Use handle_command.
12272
a8ebb841
BC
122732010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
12274
12275 Fix comment handling.
12276
12277 * tests/grub_script_comments.in: New testcase.
12278 * conf/tests.rmk: Rules for new testcase.
12279 * script/yylex.l: Updated flex rules.
12280
bb06ba08
ST
122812010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
12282
12283 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
12284 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
12285 if argc is 1.
bb06ba08 12286
cc9d2425
VS
122872010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
12290 autogen issues.
12291
460d8402
CF
122922010-04-26 Christian Franke <franke@computer.org>
12293
12294 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
12295 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
12296 (grub_get_prefix): Remove function.
12297 * util/grub-emu.c (main): Replace grub_get_prefix () call by
12298 make_system_path_relative_to_its_root ().
12299 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12300
553c01f9
CF
123012010-04-24 Christian Franke <franke@computer.org>
12302
12303 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
12304 (kernel_img_LDFLAGS): Remove -static-libgcc.
12305
2aec1692
CF
123062010-04-24 Christian Franke <franke@computer.org>
12307
12308 * configure.ac: Do not CHECK_BSS_START_SYMBOL
12309 and CHECK_END_SYMBOL if grub-emu is built.
12310 Unset TARGET_OBJ2ELF if grub-emu is built
12311 without module support.
12312
f67dc308
JS
123132010-04-24 Jiro SEKIBA <jir@unicus.jp>
12314
12315 Nilfs2 support.
12316
12317 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
12318 (grub_fstest_SOURCES): Likewise.
12319 (pkglib_MODULES): Add nilfs2.mod.
12320 (nilfs2_mod_SOURCES): New variable.
12321 (nilfs2_mod_CFLAGS): Likewise.
12322 (nilfs2_mod_LDFLAGS): Likewise.
12323 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12324 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12325 * fs/nilfs2.c: New file.
12326
4ba8d354
VS
123272010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
12330 is not supported.
12331
0d2c20c6
GS
123322010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
12333
12334 Add grub-mkconfig support for NetBSD.
12335
12336 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
12337 * util/grub-mkconfig.in: export new NetBSD specific variables.
12338 * po/POTFILES-shell: added 10_netbsd.in.
12339 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
12340
bc4a2d83
BC
123412010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
12342
12343 Fix emu build with grub-emu-pci and grub-emu-modules.
12344
12345 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
12346 functions.
12347 * include/grub/libpciaccess.h: New file.
12348 * conf/any-emu.rmk: Update kernel headers for emu build.
12349
f48c87aa
VS
123502010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
12353
18959385
VS
123542010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
12357
0037de3f
VS
123582010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
12361 Retrieve chosen/bootpath if bootpath isn't hardcoded.
12362 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
12363 util/ieee1275/ofpath.c.
12364 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
12365 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
12366 * include/grub/sparc64/ieee1275/boot.h
12367 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
12368 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
12369 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
12370 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
12371 const char *.
12372 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
12373 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
12374 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
12375 install.
12376
38e55e90
GS
123772010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12378
12379 * util/grub-mkconfig.in: Corrected two == equality tests.
12380 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
12381 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
12382 expect a number appended to it.
12383 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
12384 expects a number appended to it.
12385
a9e6ff28
VS
123862010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
12389
0b830b8f
VS
123902010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 * util/hostdisk.c (make_device_name): Change to new partition naming.
12393
0973daeb
VS
123942010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12395
12396 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
12397
460d8402 123982010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
12399
12400 * Makefile.in: Add missing localedir setting.
12401
0b456309
CW
124022010-04-14 Colin Watson <cjwatson@ubuntu.com>
12403
12404 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
12405 mistake in r2156. Noticed by Anthony Fok.
12406
12407 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
12408 @localedir@.
12409 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12410
08f46d62
BC
124112010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
12412
12413 Fix a spurious, uninitialized variable warning.
12414
12415 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
12416 Initialize variable, shdr.
12417 (grub_freebsd_load_elfmodule): Likewise.
12418 (grub_freebsd_load_elf_meta): Likewise.
12419
8c4a72d4
BC
124202010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
12421
12422 Fix for escaped dollar in double quoted strings.
12423
12424 * script/yylex.l: Updated flex rules.
12425 * conf/tests.rmk: Rule for new testcase.
12426 * tests/grub_script_dollar.in: New testcase.
12427
ce44826e
CPE
124282010-04-13 Carles Pina i Estany <carles@pina.cat>
124292010-04-13 Colin Watson <cjwatson@ubuntu.com>
12430
12431 Enclose all translated strings in grub.cfg in single quotes, and
12432 escape them appropriately (Ubuntu bug #552921).
12433
12434 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
12435 * util/grub.d/10_hurd.in: Use it.
12436 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12437 * util/grub.d/10_linux.in (linux_entry): Likewise.
12438
4b0cd8f8
VS
124392010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 Fix cygwin compilation.
12442
12443 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
12444 * include/grub/misc.h (__register_frame_info)
12445 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
12446 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12447 * kern/misc.c (__register_frame_info)
12448 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
12449 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12450
01fcf061
VS
124512010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12452
12453 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
12454
5d04b11e
VS
124552010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 Unify libgcc processing.
12458
12459 * Makefile.in (kernel_img_LDFLAGS): New variable.
12460 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
12461 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
12462 overwriting.
12463 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
12464 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
12465 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
12466 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
12467 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
12468 overwriting. Remove -lgcc and -static-libgcc
12469 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
12470 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12471 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12472 (kernel_img_LDFLAGS): Append instead of overwriting.
12473 Remove -lgcc and -static-libgcc
12474 * conf/sparc64-ieee1275.rmk: Likewise.
12475 * include/grub/powerpc/libgcc.h: Move to ...
12476 * include/grub/libgcc.h: .. this.
12477 * include/grub/libgcc.h: Don't export most of the function on x86.
12478 (__bswapsi2): New export.
12479 (__bswapdi2): Likewise.
12480 * include/grub/mips/libgcc.h: Removed.
12481 * include/grub/sparc64/libgcc.h: Likewise.
12482
b7f3ac29
VS
124832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
12486 disk_info_msg (conflicts with gettexting into languages with cases).
12487
2c7031b1
GS
124882010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12489
12490 Add grub-probe support for NetBSD.
12491
12492 * util/getroot.c (find_root_device): Convert block device to
12493 character device on NetBSD.
12494 * util/probe.c (probe): Require character device on NetBSD.
12495 * util/hostdisk.c: NetBSD specific headers.
12496 (configure_device_driver): new function to tune device driver
12497 parameters (currently only for NetBSD floppy driver).
12498 (grub_util_biosdisk_open): NetBSD specific code (get disk size
12499 via disklabel ioctl).
12500 (open_device): call configure_device_driver on NetBSD.
12501 (convert_system_partition_to_system_disk): NetBSD specific code.
12502 (device_is_wholedisk): Likewise.
12503 (grub_util_biosdisk_get_grub_dev): Likewise.
12504 (make_device_name): Fixed a typo in bsd_part_str.
12505 * configure.ac: check for opendisk() and getrawpartition() on
12506 NetBSD and set LIBUTIL.
12507 * Makefile.in: add LIBUTIL to LIBS.
12508
f516290c
BC
125092010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12510
12511 Documentation fix.
12512
12513 * util/grub-script-check.c: Better help message.
12514
d8dcc0df
BC
125152010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12516
12517 Fix FreeBSD build.
12518
12519 * configure.ac: Flex version check.
12520 * conf/common.rmk: Add -Wno-error to sh.mod.
12521 * script/yylex.l: Remove all #pragma.
12522
6734334a
VS
125232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 * include/grub/util/misc.h (canonicalise_file_name): Add missing
12526 prototype.
12527 Reported by: Seth Goldberg.
12528
daea6abd
VS
125292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12530
12531 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
12532 Rename "module" to "module2".
12533 Reported by: Seth Goldberg.
12534
f2fd9d2b
VS
125352010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12536
12537 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
12538 EXPORT_FUNC.
12539 Reported by: Seth Goldberg.
12540
be124579
VS
125412010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * lib/posix_wrap/locale.h: Add missing file.
12544 Reported by: Seth Goldberg.
12545
ef5da797
VS
125462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 grub-emu module load support.
12549
12550 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
12551 NO_DYNAMIC_MODULES switched to this.
12552 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
12553 (CFLAGS): Likewise.
12554 * conf/any-emu.rmk: Generate symlist.
12555 (kernel_img_HEADERS): Add util/datetime.h.
12556 (kernel_img_HEADERS) [sdl]: Add sdl.h.
12557 (kernel_img_HEADERS) [libusb]: Add libusb.h.
12558 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
12559 kern/$(target_cpu)/cache.S.
12560 * configure.ac (grub-emu-modules): New option.
12561 * genmk.rb: Handle multiple source lists.
12562 * include/grub/sdl.h: New file.
12563 * include/grub/libusb.h: Likewise.
12564 * util/grub-emu.c (main): Hanle (host) root.
12565 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
12566 GRUB_ERR_UNKNOWN_DEVICE.
12567 * util/misc.c: Move mm functions to ...
12568 * util/mm.c: ... here. All users updated.
12569
47822096
VS
125702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
12573 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
12574 missing files.
12575 (maintainer-clean): Remove libgcrypt-grub.
12576
5d7e7445
VS
125772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
12580
25f4e252
EC
125812010-04-09 EFI Coder <eficoder@hotmail.com>
12582
12583 * normal/menu_text.c (print_message): Clean up the message and show
12584 the Fn information when on EFI
12585 * term/efi/console.c (grub_console_checkkey): Add F4 support.
12586
027de555
VS
125872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
12590 All users updated.
12591 * normal/crypto.c (read_crypto_list): Likewise.
12592 * normal/dyncmd.c (read_command_list): Likewise.
12593 * normal/term.c (read_terminal_list): Likewise.
12594 * normal/main.c (read_lists): Use explicit prefix.
12595 (read_lists_hook): Use read_lists.
12596 (grub_normal_execute): Likewise.
12597
47779711
VS
125982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
12601 Reported by: Thomas Schmitt.
12602 Add -no-emul-boot to grub-mkisofs parameters.
12603
1118c32e
VS
126042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 * font/font.c: Indented.
12607
7d652447
BC
126082010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12609
12610 Elif support to GRUB script (by Deepak Vankadaru).
12611
12612 * tests/grub_script_if.in: New testcase.
12613 * conf/tests.rmk: Rule for new testcase.
12614 * script/parser.y: Grammar rules for elif.
12615
34bb22df
BC
126162010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12617
12618 While and until loops support to GRUB script.
12619
12620 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
12621 (grub_script_create_cmdwhile): New function prototype.
12622 (grub_script_execute_cmdwhile): New function prototype.
12623 * script/execute.c (grub_script_execute_cmdwhile): New function.
12624 * script/parser.y (command): New commands.
12625 (whilecmd): New grammar rule.
12626 (untilcmd): New grammar rule.
12627 * script/script.c (grub_script_create_cmdwhile): New function.
12628 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
12629 function.
12630
12631 * tests/grub_script_while1.in: New testcase.
12632 * conf/tests.rmk: Rule for new testcase.
12633
e215d8e0
VS
126342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
12637 as *.jpg.
12638
d7c43ba1
MV
126392010-04-09 Mario Vazquez <mariovazq@gmail.com>
12640
12641 GRUB_BACKGROUND support.
12642
12643 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
12644 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
12645
d64795c0
VS
126462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 12649 Idea by: Mario Vazquez
d64795c0
VS
12650
12651 * util/grub.d/00_header.in: Load pf2 and image modules.
12652
f267f83a
VS
126532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 grub-mkconfig multiple terminal support.
12656
12657 * util/grub-mkconfig.in: Handle multiple terminals correctly.
12658 * util/grub.d/00_header.in: Likewise.
12659
b7841ceb
VS
126602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * Makefile.in: Specify files explicitly instead of using $< and $@ since
12663 we use cd $(srcdir).
12664
df60998c
CW
126652010-04-08 Colin Watson <cjwatson@ubuntu.com>
12666
12667 * util/grub.d/10_linux.in: Only use the first word of
12668 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
12669 spaces in GRUB_DISTRIBUTOR.
12670 * util/grub.d/10_kfreebsd.in: Likewise.
12671 * util/grub.d/10_hurd.in: Likewise.
12672
fa09c82e
BC
126732010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
12674
14e18ae3 12675 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
12676
12677 * tests/util/grub-shell.in: Remove -serial stdio option.
12678
daf892b3
BC
126792010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 POSIX header file wrappers.
12682
12683 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
12684 equivalents.
12685 * lib/posix_wrap/ctype.h: Likewise.
12686 * lib/posix_wrap/errno.h: Likewise.
12687 * lib/posix_wrap/langinfo.h: Likewise.
12688 * lib/posix_wrap/limits.h: Likewise.
12689 * lib/posix_wrap/localcharset.h: Likewise.
12690 * lib/posix_wrap/stdint.h: Likewise.
12691 * lib/posix_wrap/stdio.h: Likewise.
12692 * lib/posix_wrap/stdlib.h: Likewise.
12693 * lib/posix_wrap/string.h: Likewise.
12694 * lib/posix_wrap/sys/types.h: Likewise.
12695 * lib/posix_wrap/unistd.h: Likewise.
12696 * lib/posix_wrap/wchar.h: Likewise.
12697 * lib/posix_wrap/wctype.h: Likewise.
12698 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
12699 (grub_script.yy.h): Likewise.
12700 * script/yylex.l: Remove POSIX emulation #defines.
12701 * Makefile.in (POSIX_CFLAGS): New variable.
12702 (GNULIB_UTIL_CFLAGS): Likewise.
12703
12704 Regexp support.
12705
12706 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
12707 (regexp_mod_SOURCES): New variable.
12708 (regexp_mod_CFLAGS): Likewise.
12709 (regexp_mod_LDFLAGS): Likewise.
12710 * commands/regexp.c: New file.
12711 * gnulib/regcomp.c: New file. Imported from gnulib.
12712 * gnulib/regex.c: Likewise.
12713 * gnulib/regex_internal.c: Likewise.
12714 * gnulib/regex_internal.h: Likewise.
12715 * gnulib/regexec.c: Likewise.
12716 * gnulib/regex.h: Likewise.
12717
974ac4f7
VS
127182010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
12721 unsupported video mode types.
12722
2622c3ff
VS
127232010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
12726
064cb524
VS
127272010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
12730 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
12731
a8c3b552
VS
127322010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 Remove unused grub_vga_get_font.
12735
12736 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
12737 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
12738
187bbe3d
GS
127392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12740
12741 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
12742 * include/grub/misc.h: Likewise.
12743
b9396631
GS
127442010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12745
12746 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
12747 for which failure is fatal.
12748
50479feb
GS
127492010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12750
12751 * util/grub-install.in: Use mkdir -p to create grub directory.
12752 * util/i386/efi/grub-install.in: Likewise.
12753 * util/ieee1275/grub-install.in: Likewise.
12754
b1654fdf
GS
127552010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12756
12757 * Makefile.in (LEX): new variable.
12758
bd5a6415
GS
127592010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12760
12761 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
12762 `=' and added double quotes on operands of this equality test.
12763
3db3a82b
VS
127642010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * Makefile.in (uninstall): Remove a leftover debug echo.
12767 Reported by: Grégoire Sutre
12768
38023412
VS
127692010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 MIPS multiboot2 support.
12772
12773 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
12774 (multiboot2_mod_SOURCES): New variable.
12775 (multiboot2_mod_CFLAGS): Likewise.
12776 (multiboot2_mod_LDFLAGS): Likewise.
12777 (multiboot2_mod_ASFLAGS): Likewise.
12778 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
12779 definition.
12780 (MULTIBOOT_ENTRY_REGISTER): Likewise.
12781 (MULTIBOOT_MBI_REGISTER): Likewise.
12782 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
12783 (MULTIBOOT_ELF32_MACHINE): Likewise.
12784 (MULTIBOOT_ELF64_MACHINE): Likewise.
12785 * include/grub/mips/multiboot.h: New file.
12786 * include/grub/video.h (grub_video_driver_id): New type
12787 GRUB_VIDEO_DRIVER_SM712.
12788 (grub_video_get_info_and_fini): Export.
12789 (grub_video_get_palette): Likewise.
12790 (grub_video_get_driver_id): Likewise.
12791 * include/multiboot2.h: Resynced with spec.
12792 * loader/i386/multiboot.c: Moved from here ...
12793 * loader/multiboot.c: ... here. All users updated.
12794 (grub_multiboot_boot): Use platform-specific macros.
12795 * loader/i386/multiboot_elfxx.c: Moved from here ...
12796 * loader/multiboot_elfxx.c: ... here. All users updated.
12797 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
12798 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
12799 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
12800
47674667
VS
128012010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 Import gnulib argp module.
12804
12805 * gnulib/argp-ba.c: New file.
12806 * gnulib/argp-eexst.c: Likewise.
12807 * gnulib/argp-fmtstream.c: Likewise.
12808 * gnulib/argp-fmtstream.h: Likewise.
12809 * gnulib/argp-fs-xinl.c: Likewise.
12810 * gnulib/argp-help.c: Likewise.
12811 * gnulib/argp-namefrob.h: Likewise.
12812 * gnulib/argp-parse.c: Likewise.
12813 * gnulib/argp-pin.c: Likewise.
12814 * gnulib/argp-pv.c: Likewise.
12815 * gnulib/argp-pvh.c: Likewise.
12816 * gnulib/argp-version-etc.c: Likewise.
12817 * gnulib/argp-version-etc.h: Likewise.
12818 * gnulib/argp-xinl.c: Likewise.
12819 * gnulib/argp.h: Likewise.
12820
495442ed
VS
128212010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * kern/device.c (grub_device_iterate): Clear errors after failed
12824 opening device.
12825
f9fd65df
VS
128262010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
12829 returned by firmware.
12830
af09641e
VS
128312010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
12834 compilation on coreboot and qemu
12835
016883a5
VS
128362010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 * include/multiboot2.h: Resync with spec.
12839
f97e1f7d
VS
128402010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 Multiboot2 tag support
12843
12844 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
12845 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
12846 Remove loader/multiboot_loader.c.
12847 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
12848 (grub_multiboot2_real_boot): Likewise.
12849 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
12850 (grub_get_multiboot_mmap_count): New proto.
12851 (grub_fill_multiboot_mmap): Likewise.
12852 (grub_multiboot_set_video_mode): Likewise.
12853 (grub_multiboot_set_console): Likewise.
12854 (grub_multiboot_load): Likewise.
12855 (grub_multiboot_load_elf): Likewise.
12856 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
12857 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
12858 * include/multiboot.h: Resynced with specification.
12859 * include/multiboot2.h: Resynced with specification.
12860 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
12861 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
12862 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
12863 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
12864 users updated.
12865 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
12866 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
12867 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
12868 Removed.
12869 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
12870 Moved from here...
12871 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
12872 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12873 Moved from here...
12874 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
12875 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
12876 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
12877 All users updated.
12878 * loader/i386/multiboot_mbi2.c: New file.
12879
3506b90b
VS
128802010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 Resync with gnulib.
12883
12884 * Makefile.in (GNULIB_CFLAGS): New variable.
12885 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
12886 (grub_script_check_CFLAGS): New variable.
12887 * gnulib/alloca.h: Resync with gnulib.
12888 * gnulib/error.c: Likewise.
12889 * gnulib/error.h: Likewise.
12890 * gnulib/fnmatch.c: Likewise.
12891 * gnulib/fnmatch_loop.c: Likewise.
12892 * gnulib/getdelim.c: Likewise.
12893 * gnulib/getline.c: Likewise.
12894 * gnulib/getopt.c: Likewise.
12895 * gnulib/getopt1.c: Likewise.
12896 * gnulib/getopt_int.h: Likewise.
12897 * gnulib/gettext.h: Likewise.
12898 * gnulib/progname.c: Likewise.
12899 * gnulib/progname.h: Likewise.
12900
394a3120
GS
129012010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
12902
12903 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
12904 which is the case with --disabled-nls.
12905
12906 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
12907 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
12908 * util/misc.c: Likewise.
12909 * util/mkisofs/mkisofs.c: Likewise.
12910 * util/mkisofs/mkisofs.h: Likewise.
12911
969d1c78
VS
129122010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 Simplify Apple CC support.
12915
12916 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
12917 Add 0 byte at the end not to have a symbol with empty target.
12918 * mmap/i386/pc/mmap_helper.S: Likewise.
12919 * genmk.rb: Ignore errors 2030 and 2050.
12920 * kern/i386/pc/startup.S: Use LOCAL when possible.
12921
8d2977bb
BC
129222010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
12923
12924 Testcase and the fix for final semicolon on cmdline.
12925
12926 * tests/grub_script_final_semicolon.in: New testcase.
12927 * conf/tests.rmk: Rules for the new testcase.
12928 * script/parser.y: Grammar fix.
12929
a7bd6915
BC
129302010-03-26 BVK Chaitanya <bvk@localhost>
12931
12932 Blank lines testcase for GRUB script.
12933
12934 * tests/grub_script_blanklines.in: New testcase.
12935 * conf/tests.rmk: Rules for the new testcase.
12936
e4ff6628
VS
129372010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 Don't use __FILE__.
12940
12941 * genmk.rb: Add -DGRUB_FILE to all C targets.
12942 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
12943 * include/grub/list.h: Likewise.
12944 * include/grub/misc.h: Likewise.
12945 * include/grub/mm.h: Likewise.
12946 * include/grub/test.h: Likewise.
12947 * kern/mm.c: Likewise.
12948 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12949
6a5cf6b6
VS
129502010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12951
12952 Sunpc partitions support.
12953
12954 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
12955 (grub_fstest_SOURCES): Likewise.
12956 (pkglib_MODULES): Add part_sunpc.mod.
12957 (part_sunpc_mod_SOURCES): New variable.
12958 (part_sunpc_mod_CFLAGS): Likewise.
12959 (part_sunpc_mod_LDFLAGS): Likewise.
12960 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
12961 * partmap/sunpc.c: New file.
12962
746d9045
BC
129632010-03-26 BVK Chaitanya <bvk@localhost>
12964
12965 For loop support to GRUB script.
12966
12967 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
12968 (grub_script_create_cmdfor): New function prototype.
12969 (grub_script_execute_cmdfor): New function prototype.
12970 * script/execute.c (grub_script_execute_cmdfor): New function.
12971 * script/parser.y (command): New for command.
12972 (forcmd): New grammar rule.
12973 * script/script.c (grub_script_create_cmdfor): New function.
12974 * util/grub-script-check.c (grub_script_execute_cmdfor): New
12975 function.
12976 * tests/grub_script_for1.in: New testcase.
12977 * conf/tests.rmk: Rules for new testcase.
12978
18486b18
VS
129792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 Nested partitions
12982
12983 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
12984 'partition' is NULL, grub_partition_get_start already does that.
12985 * commands/loadenv.c (check_blocklists): Likewise.
12986 (write_blocklists): Likewise.
12987 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
12988 (grub_fstest_SOURCES): Likewise.
12989 (pkglib_MODULES): Add part_bsd.mod.
12990 (part_bsd_mod_SOURCES): New variable.
12991 (part_bsd_mod_CFLAGS): Likewise.
12992 (part_bsd_mod_LDFLAGS): Likewise.
12993 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
12994 (grub_emu_SOURCES): Likewise.
12995 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12996 * include/grub/bsdlabel.h: New file.
12997 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
12998 'get_name'.
12999 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
13000 (grub_partition_map_list): New variable.
13001 (grub_partition_map_register): Inline.
13002 (grub_partition_map_unregister): Likewise.
13003 (FOR_PARTITION_MAPS): New macro.
13004 (grub_partition_map_iterate): Removed.
13005 (grub_partition_get_start): Handle nested partitions.
13006 * include/grub/msdos_partition.h: Remove bsd-related entries.
13007 (grub_pc_partition): Remove.
13008 * kern/disk.c (grub_disk_close): Free partition data.
13009 (grub_disk_adjust_range): Handle nested partitions.
13010 * kern/partition.c (grub_partition_map_probe): New function.
13011 (grub_partition_probe): Parse name to number, handle subpartitions.
13012 (get_partmap): New function.
13013 (grub_partition_iterate): Handle subpartitions.
13014 (grub_partition_get_name): Likewise.
13015 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
13016 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
13017 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
13018 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
13019 Set 'number'.
13020 (acorn_partition_map_probe): Remove.
13021 (acorn_partition_map_get_name): Likewise.
13022 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
13023 Set 'number'.
13024 Set 'index' to 0 since there can be only one partition entry per sector.
13025 (amiga_partition_map_probe): Remove.
13026 (amiga_partition_map_get_name): Likewise.
13027 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
13028 Set 'number'.
13029 Set 'offset' and 'index' to real positions of partitions.
13030 (apple_partition_map_probe): Remove.
13031 (apple_partition_map_get_name): Likewise.
13032 * partmap/bsdlabel.c: New file.
13033 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
13034 Set 'number'.
13035 Allocate 'data' so it can be correctly freed.
13036 Set 'index' to offset inside sector.
13037 (gpt_partition_map_probe): Remove.
13038 (gpt_partition_map_get_name): Likewise.
13039 * partmap/msdos.c (grub_partition_parse): Remove.
13040 (pc_partition_map_iterate): Don't force raw access.
13041 Set 'number'.
13042 Make 'ext_offset' a local variable.
13043 (pc_partition_map_probe): Remove.
13044 (pc_partition_map_get_name): Remove.
13045 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
13046 Set 'number'.
13047 (sun_partition_map_probe): Remove.
13048 (sun_partition_map_get_name): Likewise.
13049 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
13050 (grub_pcpart_type): Likewise.
13051 * util/hostdisk.c (open_device): Handle new numbering scheme.
13052 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
13053 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
13054 * util/grub-probe.c (probe_partmap): Handle nested paritions.
13055 * util/grub-install.in: Insert all subpartition modules.
13056 * util/ieee1275/grub-install.in: Likewise.
13057
a3940f88
AG
130582010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
13059
13060 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
13061 grammar.
13062
21b99926 130632010-03-24 Colin Watson <cjwatson@ubuntu.com>
13064
13065 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
13066
bed1d352
CW
130672010-03-21 Colin Watson <cjwatson@ubuntu.com>
13068
13069 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
13070 match where 'make install' puts them.
13071 * util/i386/efi/grub-install.in: Likewise.
13072
c9f58427
CW
130732010-03-19 Colin Watson <cjwatson@ubuntu.com>
13074
13075 * .bzrignore: Add gentrigtables, grub-script-check,
13076 grub_script_check_init.c, grub_script_check_init.h, and
13077 trigtables.c.
13078
f84afb27
VS
130792010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * kern/parser.c: Indented.
13082
ed0e3d30
VS
130832010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
13086
0ea81d98
VS
130872010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13088
13089 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
13090 alpha_mask_size == 0 case.
13091
0cdc2a09
BC
130922010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
13093
13094 GRUB shell lexer and parser improvements.
13095
13096 * conf/any-emu.rmk: Build rule updates.
13097 * conf/common.rmk: Likewise.
13098 * conf/i386-coreboot.rmk: Likewise.
13099 * conf/i386-efi.rmk: Likewise.
13100 * conf/i386-ieee1275.rmk: Likewise.
13101 * conf/i386-pc.rmk: Likewise.
13102 * conf/powerpc-ieee1275.rmk: Likewise.
13103 * conf/x86_64-efi.rmk: Likewise.
13104
13105 * configure.ac: Configure check for flex.
13106
13107 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
13108 types.
13109 (grub_lexer_param): Struct member updates.
13110 (grub_parser_param): Likewise.
13111 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
13112 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
13113 (grub_script_lexer_init): Prototype update.
13114 (grub_script_lexer_record_start): Likewise.
13115 (grub_script_lexer_record_stop): Likewise.
13116 (grub_script_lexer_yywrap): New function prototype.
13117 (grub_script_lexer_fini): Likewise.
13118 (grub_script_execute_argument_to_string): Removed by...
13119 (grub_script_execute_argument_to_argv): ...better version.
13120
13121 * script/execute.c (ROUND_UPTO): New macro.
13122 (grub_script_execute_cmdline): Out of memory fixes.
13123 (grub_script_execute_menuentry): Likewise.
13124 (grub_script_execute_argument_to_string): Removed. Update all
13125 users by...
13126 (grub_script_execute_argument_to_argv): ...better version.
13127 * script/function.c (grub_script_function_create): Use
13128 grub_script_execute_argument_to_argv instead of
13129 grub_script_execute_argument_to_string.
13130
13131 * script/lexer.c (check_varstate): Removed.
13132 (check_textstate): Removed.
13133 (grub_script_lexer_record_start): Likewise.
13134 (grub_script_lexer_record_stop): Likewise.
13135 (recordchar): Replaced with...
13136 (grub_script_lexer_record): ...new function.
13137 (nextchar): Removed.
13138 (grub_script_lexer_init): Rewritten.
13139 (grub_script_yylex): Rewritten.
13140 (append_newline): New function.
13141 (grub_script_lexer_yywrap): New function.
13142 (grub_script_lexer_fini): New function.
13143 (grub_script_yyerror): Sets error flag.
13144
13145 * script/yylex.l: New file.
13146 (grub_lexer_yyfree): Wrapper for flex yyffre.
13147 (grub_lexer_yyalloc): Likewise.
13148 (grub_lexer_yyrealloc): Likewise.
13149 * script/parser.y: Refactored.
13150
13151 * script/script.c (grub_script_arg_add): Out of memory fixes.
13152 (grub_script_add_arglist): Likewise.
13153 (grub_script_create_cmdline): Likewise.
13154 (grub_script_create_cmdmenu): Likewise.
13155 (grub_script_add_cmd): Likewise.
13156 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
13157 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
13158 unnecessary code.
13159
13160 * tests/grub_script_echo1.in: New testcase.
13161 * tests/grub_script_vars1.in: New testcase.
13162 * tests/grub_script_echo_keywords.in: New testcase.
13163
1d63a066
VS
131642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13165
13166 Remove some redundancy in build system.
13167
13168 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
13169 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
13170 (TARGET_LDFLAGS): Add -nostdlib.
13171 (TARGET_IMG_LDFLAGS): Likewise.
13172 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
13173 anything since mmap isn't available.
13174 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
13175 Add util/time.c.
13176 (pkglib_MODULES): Remove reboot.mod.
13177 (reboot_mod_SOURCES): Removed.
13178 (reboot_mod_CFLAGS): Likewise.
13179 (reboot_mod_LDFLAGS): Likewise.
13180 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
13181 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
13182 (DEFSYMFILES): Add kernel_syms.lst.
13183 (kernel_img_HEADERS): Add common headers.
13184 (symlist.c): New target.
13185 (kernel_syms.lst): Likewise.
13186 (pkglib_MODULES): Add memdisk.mod.
13187 (memdisk_mod_SOURCES): New variable.
13188 (memdisk_mod_CFLAGS): Likewise.
13189 (memdisk_mod_LDFLAGS): Likewise.
13190 (pkglib_MODULES): Add reboot.mod.
13191 (reboot_mod_SOURCES): New variable.
13192 (reboot_mod_CFLAGS): Likewise.
13193 (reboot_mod_LDFLAGS): Likewise.
13194 (pkglib_MODULES): Add date.mod.
13195 (date_mod_SOURCES): New variable.
13196 (date_mod_CFLAGS): Likewise.
13197 (date_mod_LDFLAGS): Likewise.
13198 (pkglib_MODULES): Add datehook.mod.
13199 (datehook_mod_SOURCES): New variable.
13200 (datehook_mod_CFLAGS): Likewise.
13201 (datehook_mod_LDFLAGS): Likewise.
13202 (pkglib_MODULES): Add lsmmap.mod.
13203 (lsmmap_mod_SOURCES): New variable.
13204 (lsmmap_mod_CFLAGS): Likewise.
13205 (lsmmap_mod_LDFLAGS): Likewise.
13206 (pkglib_MODULES): Add boot.mod.
13207 (boot_mod_SOURCES): New variable.
13208 (boot_mod_CFLAGS): Likewise.
13209 (boot_mod_LDFLAGS): Likewise.
13210 * conf/i386-coreboot.rmk: Removed redundant parts.
13211 * conf/i386-ieee1275.rmk: Likewise.
13212 * conf/i386-pc.rmk: Likewise.
13213 * conf/mips-yeeloong.rmk: Likewise.
13214 * conf/mips.rmk: Likewise.
13215 * conf/powerpc-ieee1275.rmk: Likewise.
13216 * conf/sparc64-ieee1275.rmk: Likewise.
13217 * conf/x86_64-efi.rmk: Likewise.
13218 * conf/i386-coreboot.rmk: Moved qemu parts ..
13219 * conf/i386-qemu.rmk: ... here
13220 * conf/i386-efi.rmk: Moved common parts to...
13221 * conf/x86-efi.rmk: ... here.
13222 * conf/i386.rmk: Added modules common to all x86 variants.
13223 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
13224 * disk/memdisk.c: Remove grub/machine/kernel.h.
13225 * gensymlist.sh.in: Include symbol.h.
13226 * hook/datehook.c: Correct module name.
13227 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
13228 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
13229 * include/grub/i386/efi/serial.h: New file.
13230 * include/grub/x86_64/efi/serial.h: Likewise.
13231 * util/time.c: Likewise.
13232 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
13233
463ac55f
CK
132342010-03-14 Colin King <colin.king@ubuntu.com>
132352010-03-14 Colin Watson <cjwatson@ubuntu.com>
13236
13237 Shrink the pre-partition-table part of boot.img by eight bytes.
13238
13239 * boot/i386/pc/boot.S (ERR): New macro.
13240 (chs_mode): Use ERR.
13241 (geometry_error): Likewise.
13242 (hd_probe_error): Remove. This is only used once, so we wrwite
13243 it inline instead.
13244 (read_error): Instead of printing read_error_string, just set up
13245 %si and fall through to ...
13246 (error_message): ... this new function, also used by ERR.
13247
08e46ede
CW
132482010-03-14 Colin Watson <cjwatson@ubuntu.com>
13249
13250 Speed up consecutive hostdisk operations on the same device.
13251
13252 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
13253 (grub_util_biosdisk_open): Initialise disk->data.
13254 (struct linux_partition_cache): New structure.
13255 (linux_find_partition): Cache partition start positions; these are
13256 expensive to compute on every read and write.
13257 (open_device): Cache open file descriptor in disk->data, so that we
13258 don't have to reopen it and flush the buffer cache for consecutive
13259 operations on the same device.
13260 (grub_util_biosdisk_close): New function.
13261 (grub_util_biosdisk_dev): Set `close' member.
13262
13263 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
13264 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
13265 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13266 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13267 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
13268
4a6d2d06
VS
132692010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 Compile parts of grub-emu as modules.
13272
13273 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
13274 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
13275 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
13276 (all-local): Add $(GRUB_EMU).
13277 (install-local): Install $(GRUB_EMU).
13278 (uninstall): Uninstall $(GRUB_EMU).
13279 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
13280 * kern/dl.c: Likewise.
13281 * commands/sleep.c: Not include machine/time.h.
13282 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
13283 (COMMON_CFLAGS): Likewise.
13284 (sbin_UTILITIES): Remove grub-emu.
13285 (grub_emu_SOURCES): Removed.
13286 (kernel_img_RELOCATABLE): New variable.
13287 (pkglib_PROGRAMS): Add kernel.img.
13288 (kernel_img_SOURCES): New variable
13289 (kernel_img_CFLAGS): Likewise.
13290 (kernel_img_LDFLAGS): Likewise.
13291 (TARGET_NO_STRIP): Likewise.
13292 (TARGET_NO_DYNAMIC_MODULES): Likewise.
13293 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
13294 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
13295 (grub-emu): New target.
13296 (GRUB_EMU): New variable.
13297 * configure.ac: Whitelist -emu as possible x86_64 architecture.
13298 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
13299 * loader/xnu.c: Likewise.
13300 * include/grub/pci.h: Likewise.
13301 * genemuinit.sh: New file.
13302 * genemuinitheader.sh: Likewise.
13303 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
13304 Support TARGET_NO_DYNAMIC_MODULES.
13305 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
13306 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
13307 * disk/loopback.c: Likewise.
13308 * font/font_cmd.c: Likewise.
13309 * partmap/acorn.c: Likewise.
13310 * partmap/amiga.c: Likewise.
13311 * partmap/apple.c: Likewise.
13312 * partmap/gpt.c: Likewise.
13313 * partmap/msdos.c: Likewise.
13314 * partmap/sun.c: Likewise.
13315 * parttool/msdospart.c: Likewise.
13316 * term/gfxterm.c: Likewise.
13317 * video/bitmap.c: Likewise.
13318 * video/readers/jpeg.c: Likewise.
13319 * video/readers/png.c: Likewise.
13320 * video/readers/tga.c: Likewise.
13321 * video/video.c: Likewise.
13322 * util/grub-emu.c (read_command_list): Removed.
13323 (main): Don't call util_init_nls.
13324 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
13325 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
13326
91fdd2ed
VS
133272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
13330 date.mod, datehook.mod.
13331 (datetime_mod_SOURCES): New variable.
13332 (datetime_mod_CFLAGS): Likewise.
13333 (datetime_mod_LDFLAGS): Likewise.
13334 (date_mod_SOURCES): Likewise.
13335 (date_mod_CFLAGS): Likewise.
13336 (date_mod_LDFLAGS): Likewise.
13337 (datehook_mod_SOURCES): Likewise.
13338 (datehook_mod_CFLAGS): Likewise.
13339 (datehook_mod_LDFLAGS): Likewise.
13340 * conf/sparc64-ieee1275.rmk: Likewise.
13341 * lib/ieee1275/datetime.c: New file.
13342
873ccae6
VS
133432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13344
13345 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
13346 (ieee1275_fb_mod_SOURCES): New variable.
13347 (ieee1275_fb_mod_CFLAGS): Likewise.
13348 (ieee1275_fb_mod_LDFLAGS): Likewise.
13349 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
13350 New proto.
13351 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
13352 (HEAP_MAX_ADDR): Likewise.
13353 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
13354 type.
13355 Correct stop condition.
13356 (grub_ieee1275_devices_iterate): New function.
13357 * video/ieee1275.c: New file.
13358
601c97c0
VS
133592010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
13362
13363 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
13364 as scratch.
13365 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
13366 SCRATCH_PAD_DISKBOOT as scratch.
13367 (bootit): Pass Openfirmware pointer in %o4.
13368 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
13369 of 0x200000.
13370 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
13371 with util/grub-mkrawimage.c.
13372 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
13373 * include/grub/aout.h (AOUT_MID_SUN): New definition.
13374 (grub_aout_get_type) [GRUB_UTIL]: Removed.
13375 (grub_aout_load) [GRUB_UTIL]: Likewise.
13376 * include/grub/kernel.h (grub_modules_get_end): New proto.
13377 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
13378 (SCRATCH_PAD_BOOT): New definition.
13379 (SCRATCH_PAD_DISKBOOT): Likewise.
13380 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
13381 * include/grub/sparc64/ieee1275/ieee1275.h
13382 (grub_ieee1275_original_stack): New variable
13383 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13384 New definition
13385 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
13386 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
13387 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
13388 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
13389 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
13390 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
13391 (grub_platform_image_format_t): New type.
13392 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
13393 * kern/main.c (grub_modules_get_end)
13394 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
13395 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
13396 (codestart): Switch stacks.
13397 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
13398 variable.
13399 (grub_heap_init): Use grub_modules_get_end.
13400 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
13401 stack.
13402 * util/grub-mkrawimage.c (generate_image): Support sparc64.
13403 (main): Likewise.
13404 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
13405
d68b491e
TG
134062010-03-14 Thorsten Glaser <tg@mirbsd.org>
13407
13408 * util/grub-mkrescue.in: Base ISO UUID on UTC.
13409
4e02ed50
MK
134102010-03-08 Matt Kraai <kraai@ftbfs.org>
13411
13412 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
13413 bug #559005).
13414
1f15fc1e
VS
134152010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * genmoddep.awk: Output all missing symbols and not only first.
13418
fce5d8ff
VS
134192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 * NEWS: Put the date of 1.98 release.
13422
d1e8a02f
VS
134232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
13426 ft2build.h.
13427
696fd607
VS
134282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
13431 completition in the middle of string.
13432
33e2e6f3
VS
134332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 * util/grub-mkrescue.in: Use mktemp with explicit template.
13436
b1f6d291
VS
134372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
13440
2ac227c7
VS
134412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
13444 right pointer.
13445
8f9a632b
VS
134462010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 Fix FreeBSD compilation.
13449
13450 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
13451 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
13452
60b03859
VS
134532010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
13456
48a5a769
VS
134572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
13460
3ab4bd77
VS
134612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
13464
d116e0d8
RM
134652010-03-04 Robert Millan <rmh.grub@aybabtu.com>
13466
13467 Support relative image path in theme file.
13468
13469 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
13470 (image_set_property): Handle theme_dir and relative path.
13471
c7ef54aa
VS
134722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 * configure.ac: Alias amd64 to x86_64.
13475
fcee14ed
VS
134762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 * NEWS: mention multiboot on EFI.
13479
d0780363
VS
134802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * kern/main.c (grub_load_modules): Handle errors from init functions of
13483 embeded modules.
13484
41168ea4
VS
134852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * normal/autofs.c (autoload_fs_module): Handle errors.
13488
b54d93ac
VS
134892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 Disable linux.mod on qemu-mips since it's not functional and leads
13492 to compilation failure.
13493
13494 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
13495 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
13496 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
13497 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
13498 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
13499 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
13500 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
13501 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
13502 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
13503 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
13504 Reported by: BVK Chaitanya
13505
fc8345da
JU
135062010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
13507
13508 * INSTALL: Add gettext as a dependency and add qemu to a new section
13509 "Prerequisites for make-check".
13510
4760f979
CF
135112010-03-04 Christian Franke <franke@computer.org>
13512
13513 * util/grub-pe2elf.c: Add missing include "progname.h".
13514
f209b5b2
VS
135152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * normal/crypto.c (read_crypto_list): Fix a typo.
13518 Reported by: Seth Goldberg.
13519
b4b7be98
VS
135202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 13523 Reported by: Seth Goldberg.
b4b7be98 13524
c0ee0385
VS
135252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
13528 ascii.bitmaps.
13529
a8efbf64
VS
135302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 13533 Reported by: Seth Goldberg.
a8efbf64 13534
08dcd913
VS
135352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13536
13537 * util/i386/efi/grub-install.in: Copy gettext files.
13538
c4d0b332
VS
135392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
13542
c6f2fe52
VS
135432010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 Wait for user entry basing on presence of output rather than on errors.
13546
13547 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
13548 (grub_install_newline_hook): Likewise.
13549 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
13550 * normal/menu.c (show_menu): Check line_counter to determine presence
13551 of output.
13552 * normal/term.c (grub_normal_line_counter): New variable.
13553 (grub_normal_get_line_counter): New function.
13554 (grub_install_newline_hook): Likewise.
13555
5382b1e4
VS
135562010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
13559
5519963b
VS
135602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * configure.ac: Update version to 1.98.
13563
72b28631
VS
135642010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 * util/grub.d/10_linux.in (linux_entry): Don't default to
13567 gfxpayload=keep if Linux doesn't support video handover.
13568
c140a180
VS
135692010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 Don't compile video modules on yeeloong since video subsystem is part
13572 of kernel.
13573
13574 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
13575 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
13576 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
13577 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
13578 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
13579 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
13580 * include/grub/bitmap_scale.h: Likewise.
13581 * include/grub/bufio.h: Likewise.
13582 * include/grub/font.h: Likewise.
13583 * include/grub/gfxterm.h: Likewise.
13584 * include/grub/video.h: Likewise.
13585 * include/grub/vbe.h: Don't include video_fb.h.
13586 * video/i386/pc/vbe.c: Include video_fb.h.
13587 * commands/i386/pc/vbetest.c: Include video.h.
13588
a0ca21c2
CW
135892010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
13590
13591 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
13592 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
13593 default entry if GRUB_SAVEDEFAULT=true. This allows using
13594 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
13595 saving a new default on every boot.
13596
4a8a763c
VS
135972010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * normal/crypto.c (read_crypto_list): Fix a memory leak.
13600 * normal/term.c (read_terminal_list): Likewise.
13601 * normal/main.c (grub_normal_init_page): Likewise.
13602 (grub_normal_read_line_real): Likewise.
13603
607ffde2
VS
136042010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
13607 memory leak.
13608 Reported by: Seth Goldberg.
13609
2b8fa975
CW
136102010-02-24 Joey Korkames <joey+lists@kidfixit.com>
13611
13612 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
13613 duplicate declaration of `start'.
13614
618307dd
VS
136152010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
13618 filename.
13619 Reported by: Georgy Buranov
13620
7dd05b96 136212010-02-20 Carles Pina i Estany <carles@pina.cat>
13622
13623 * util/grub-mkrawimage.c (usage): Change string formatting to
13624 improve gettext.
13625
d1484a42
MRA
136262010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13627
13628 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
13629 backspace keys.
13630
42b1d186
VS
136312010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
13634 Reported by: Michael Suchanek.
13635
136362010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
13637
13638 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
13639 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
13640
d9f31a41
VS
136412010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 Remove any reference to non-free fonts.
13644
13645 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
13646 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
13647 uses non-free components.
13648 * font/font.c (grub_font_get_name): Remove example name.
13649 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
13650 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13651 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
13652 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
13653
2793c71e
GB
136542010-02-16 Georgy Buranov <gburanov@gmail.com>
13655
13656 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
13657
402e3779
VS
136582010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
13661 Double divisor.
13662 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
13663 features.
13664 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
13665
0dd1e0dd
VS
136662010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * gensymlist.sh.in: Use TARGET_CC instead of CC.
13669
6fa7cfce
ST
136702010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13671
13672 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
13673 * docs/grub.texi (Command-line and menu entry commands): Document play
13674 command.
13675
37c8483b
ST
136762010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13677
13678 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
13679 parse arguments as inline tempo and notes. Move code for playing notes
13680 to...
13681 (play): ... new function.
13682
14da0fb7
ST
136832010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13684
13685 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
13686 grub_uint16_t instead of short.
13687 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
13688 disk from little endian to cpu endianness.
13689
04459e70
ST
136902010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
13691
13692 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
13693 GRUB_TICKS_PER_SECOND instead of 120.
13694
a0876943
VS
136952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
13698 escape sequence after \e.
13699
e29f95dc
VS
137002010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
13703 non-ASCII characters.
13704
d27859b2
VS
137052010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
13708 set root in single quotes to prevent \, from being unescaped.
13709
bc028f2f
VS
137102010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 Prevent unknown commands from stopping menuentry execution.
13713
13714 * script/execute.c (grub_script_execute_cmdline): Print error after
13715 unknown command.
13716
095f5f82
VS
137172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13718
13719 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
13720 Reported by: Pavel Pisa.
13721
8c717950
VS
137222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
13725
904935c3
VS
137262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 Merge grub_ieee1275_map_physical into grub_map and rename to
13729 grub_ieee1275_map
13730
13731 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
13732 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
13733 Remove.
13734 * kern/ieee1275/openfw.c (grub_map): Rename to ...
13735 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
13736 necessary.
13737 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
13738
5b59a4e3
VS
137392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13740
13741 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
13742 opening and not after.
13743
69e137e8
VS
137442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
13747 constants.
13748
2c0fcc36
VS
137492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
13752 (alloc_phys): Use ALIGN_UP instead of align_addr.
13753
8c6052ce
VS
137542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
13757
17cec782
VS
137582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
13761
e0128bbd
VS
137622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
13765 verbose dprintf.
13766
ca62070b
VS
137672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 Fix over-4GiB seek on sparc64.
13770
13771 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
13772 Replace pos_i and pos_lo with pos. All users updated.
13773 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13774 New constant.
13775 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13776 Likewise.
13777 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
13778 and pos_lo.
13779
bdca2607
VS
137802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 * util/grub-mkrawimage.c (main): Call set_program_name.
13783
da278c4d
VS
137842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 Properly align 64-bit targets.
13787
13788 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
13789 (generate_image): Use ALIGN_ADDR.
13790
b274d734
VS
137912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 Properly create cross-endian images.
13794
13795 * include/grub/types.h (grub_host_to_target_addr): New macro
13796 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
13797
82da2062
VS
137982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
13801
7cae4377
VS
138022010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
13805
13806 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
13807 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
13808 (grub_linux_boot): Divide by 64K when on VESA.
13809
65a533e7
VS
138102010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13811
13812 Support GRUB_GFXPAYLOAD_LINUX.
13813
13814 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
13815 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
13816
dd01d397
VS
138172010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
13820 to show messages instead of discarding them.
13821 Process errors after executing command and not before. Keep old method
13822 too as precaution.
13823
660960d6
VS
138242010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 * configure.ac: Check for ft2build.h.
13827
62509f04
VS
138282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
13831
473df63d
VS
138322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 * genkernsyms.sh.in: Use TARGET_CC.
13835
c98d2a13
CW
138362010-02-07 Colin Watson <cjwatson@ubuntu.com>
13837
13838 * NEWS: Update.
13839
6e14234c
VS
138402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
13843 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
13844 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 13845
b255e9cf
YB
138462010-02-07 Yves Blusseau <blusseau@zetam.org>
13847
6e14234c 13848 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 13849
98e6959d
VS
138502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 Fix warnings in grub-emu when compiling with maximum warning options.
13853
13854 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
13855 (grub_arch_modules_addr): Return 0 and not NULL.
13856 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 13857 (xstrdup): Use newstr instead of dup.
f88d801b
VS
13858 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
13859 of disk to dsk to avoid shadowing.
74e4934e
VS
13860 (find_free_slot): Fix prototype.
13861 * util/getroot.c (grub_util_is_dmraid): Make static.
13862 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
13863 Add missing prototype.
13864 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 13865
74e31b5c
VS
138662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 * loader/i386/linux.c (grub_linux_setup_video): Handle error
13869 appropriately.
13870
6b2ad14b
VS
138712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
13874 code out.
13875
8f891adc
VS
138762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
13879 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
13880 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
13881 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
13882 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
13883 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
13884
74b45184
VS
138852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * include/grub/err.h (grub_err_printf): Don't export.
13888
a4bced77
VS
138892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13890
13891 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
13892
007d0695
VS
138932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 * include/grub/i18n.h (grub_gettext_dummy): Removed.
13896 * kern/misc.c (grub_gettext_dummy): Make static.
13897
b6c0d9c2
VS
138982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
13901 by non-valid ones.
13902 * kern/term.c (grub_putchar): Likewise.
13903
f51a90d0
VS
139042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
13907 buggy hook call and memory leak.
13908
6846cec5
VS
139092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
13912
468d69fe
VS
139132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
13916
51906b8c
VS
139172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
13920 modevar.
13921 Return grub_errno on allocation error.
13922
09706ce5
VS
139232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
13926
911df80c
YB
139272010-02-06 Yves Blusseau <blusseau@zetam.org>
13928
13929 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
13930 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
13931
3746a6bc
VS
139322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
13935 non-pxe disk.
13936 (grub_pxefs_open): Likewise.
13937
09706ce5
VS
139382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13939
13940 * util/grub.d/10_hurd.in: Add --class information to menuentries.
13941 * util/grub.d/10_kfreebsd.in: Likewise.
13942 * util/grub.d/10_linux.in: Likewise.
13943
7cc192d9
VS
139442010-02-06 Colin D Bennett <colin@gibibit.com>
13945
13946 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
13947 (gfxmenu_mod_SOURCES): New variable.
13948 (gfxmenu_mod_CFLAGS): Likewise.
13949 (gfxmenu_mod_LDFLAGS): Likewise.
13950 * include/grub/term.h (grub_term_set_current_output): Declare
13951 argument as const.
13952 * docs/gfxmenu-theme-example.txt: New file.
13953 * gfxmenu/gfxmenu.c: Likewise.
13954 * gfxmenu/gui_box.c: Likewise.
13955 * gfxmenu/gui_canvas.c: Likewise.
13956 * gfxmenu/gui_circular_progress.c: Likewise.
13957 * gfxmenu/gui_image.c: Likewise.
13958 * gfxmenu/gui_label.c: Likewise.
13959 * gfxmenu/gui_list.c: Likewise.
13960 * gfxmenu/gui_progress_bar.c: Likewise.
13961 * gfxmenu/gui_string_util.c: Likewise.
13962 * gfxmenu/gui_util.c: Likewise.
13963 * gfxmenu/icon_manager.c: Likewise.
13964 * gfxmenu/model.c: Likewise.
13965 * gfxmenu/named_colors.c: Likewise.
13966 * gfxmenu/theme_loader.c: Likewise.
13967 * gfxmenu/view.c: Likewise.
13968 * gfxmenu/widget-box.c: Likewise.
13969 * include/grub/gfxmenu_model.h: Likewise.
13970 * include/grub/gfxmenu_view.h: Likewise.
13971 * include/grub/gfxwidgets.h: Likewise.
13972 * include/grub/gui.h: Likewise.
13973 * include/grub/gui_string_util.h: Likewise.
13974 * include/grub/icon_manager.h: Likewise.
13975
139762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 Agglomerate scrolling in gfxterm.
13979
13980 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
13981 (grub_virtual_screen_setup): Initialise 'total_screen'.
13982 (write_char): Split to ...
13983 (paint_char): ... this ...
13984 (write_char): ... and this.
13985 (paint_char): Handle delayed scrolling.
13986 (draw_cursor): Likewise.
13987 (scroll_up): Split to ...
13988 (real_scroll): ... this ...
13989 (scroll_up): ... and this.
13990 (real_scroll): Handle multi-line scroll and draw below-the-bottom
13991 characters.
13992 (grub_gfxterm_refresh): Call real_scroll.
13993
139942010-02-06 Colin D Bennett <colin@gibibit.com>
13995
13996 * include/grub/misc.h (grub_iscntrl): New inline function.
13997 (grub_isalnum): Likewise.
13998 (grub_strtol): Likewise.
13999
140002010-02-06 Colin D Bennett <colin@gibibit.com>
14001
14002 * normal/menu_text.c (get_entry_number): Move from here ...
14003 * normal/menu.c (get_entry_number): ... moved here.
14004 * include/grub/menu.h (grub_menu_get_default_entry_index):
14005 New prototype.
14006 * normal/menu.c (grub_menu_get_default_entry_index): New function.
14007 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
14008 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
14009 (grub_menu_viewer_should_return): Likewise.
14010 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
14011 * normal/menu_text.c (run_menu): Enable menu switching.
14012 * normal/menu_viewer.c (should_return): New variable.
14013 (menu_viewer_changed): Likewise.
14014 (grub_menu_viewer_show_menu): Handle menu viewer changes.
14015 (grub_menu_viewer_should_return): New function.
14016 (menuviewer_write_hook): Likewise.
14017 (grub_menu_viewer_init): Likewise.
14018
140192010-02-06 Colin D Bennet <colin@gibibit.com>
140202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 Support for gfxterm in a window.
14023
14024 * include/grub/gfxterm.h: New file.
14025 * include/grub/video.h (struct grub_video_rect): New declaration.
14026 (grub_video_rect_t): Likewise.
14027 * term/gfxterm.c (struct grub_gfxterm_window): New type.
14028 (refcount): New variable.
14029 (render_target): Likewise.
14030 (window): Likewise.
14031 (repaint_callback): Likewise.
14032 (grub_virtual_screen_setup): Use 'render_target'.
14033 (init_window): New function.
14034 (grub_gfxterm_init_window): Likewise.
14035 (grub_gfxterm_init): Check reference counter.
14036 Use init_window.
14037 (destroy_window): New function.
14038 (grub_gfxterm_destroy_window): Likewise.
14039 (grub_gfxterm_fini): Check reference counter.
14040 Use destroy_window.
14041 (redraw_screen_rect): Restore viewport.
14042 Use 'render_target' and 'window'.
14043 Call 'repaint_callback'.
14044 (write_char): Use 'render_target'.
14045 (draw_cursor): Likewise.
14046 (scroll_up): Restore viewport.
14047 Use 'render_target' and 'window'.
14048 Call 'repaint_callback'.
14049 (grub_gfxterm_cls): Likewise.
14050 (grub_gfxterm_refresh): Use 'window'.
14051 (grub_gfxterm_set_repaint_callback): New function.
14052 (grub_gfxterm_background_image_cmd): Use 'window'.
14053 (grub_gfxterm_get_term): New function.
14054 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
14055
140562010-02-06 Colin D Bennett <colin@gibibit.com>
14057
14058 Bitmap scaling support.
14059
14060 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
14061 (bitmap_scale_mod_SOURCES): New variable.
14062 (bitmap_scale_mod_CFLAGS): Likewise.
14063 (bitmap_scale_mod_LDFLAGS): Likewise.
14064 * include/grub/bitmap_scale.h: New file.
14065 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
14066 (background_image_cmd_options): New variable.
14067 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
14068 (cmd): Rename and change type to ...
14069 (background_image_cmd_handle): ... this. All users updated.
14070 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
14071 * video/bitmap_scale.c: New file.
14072
140732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 SDL support.
14076
14077 * Makefile.in (LIBSDL): New variable.
14078 (enable_grub_emu_sdl): Likewise.
14079 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
14080 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
14081 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
14082 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
14083 * util/sdl.c: New file.
14084
140852010-02-06 Colin D Bennett <colin@gibibit.com>
140862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 Double buffering support.
14089
14090 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
14091 * include/grub/video.h: Update comment.
14092 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
14093 New type.
14094 (grub_video_fb_doublebuf_blit_init): New prototype.
14095 * term/gfxterm.c (scroll_up): Support double buffering.
14096 (grub_gfxterm_refresh): Likewise.
14097 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
14098 (grub_video_fb_doublebuf_blit_init): Likewise.
14099 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
14100 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
14101 'displayed_page', 'render_page' and 'update_screen'.
14102 (grub_video_vbe_fini): Free offscreen buffer.
14103 (doublebuf_pageflipping_commit): New function.
14104 (doublebuf_pageflipping_update_screen): Likewise.
14105 (doublebuf_pageflipping_init): Likewise.
14106 (double_buffering_init): Likewise.
14107 (grub_video_vbe_setup): Enable doublebuffering.
14108 (grub_video_vbe_swap_buffers): Implement.
14109 (grub_video_vbe_set_active_render_target): Handle double buffering.
14110 (grub_video_vbe_get_active_render_target): Likewise.
14111 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
14112 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
14113 (grub_video_vbe_enable_double_buffering): Likewise.
14114 (grub_video_vbe_swap_buffers): Use update_screen.
14115 (grub_video_set_mode): Use double buffering.
14116
141172010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14118
14119 * maintainance/gentrigtables.py: Remove.
14120 * lib/trig.c: Likewise.
14121
14122 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
14123
14124 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
14125 `trigtables.c'.
14126 (trigtables.c): New rule.
14127 (gentrigtables): Likewise.
14128 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
14129
141302010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14131
14132 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
14133 integer constants.
14134
141352010-02-06 Colin D Bennet <colin@gibibit.com>
14136
14137 Trigonometry support.
14138
14139 * include/grub/trig.h: New file.
14140 * lib/trig.c: Likewise.
14141 * maintainance/gentrigtables.py: Likewise.
14142 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
14143 (trig_mod_SOURCES): New variable.
14144 (trig_mod_CFLAGS): Likewise.
14145 (trig_mod_LDFLAGS): Likewise.
14146
5562834e
VS
141472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14148
14149 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
14150 disk devices.
14151
4f8528fc
VS
141522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
14155 error.
14156
2b4068e9
VS
141572010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * util/hostdisk.c (open_device): Don't use partition device when reading
14160 before the partition.
14161 (grub_util_biosdisk_read): Don't read from partition and before the
14162 partition in single operation.
14163 (grub_util_biosdisk_write): Don't write to partition and before the
14164 partition in single operation.
14165
399f6e4d
TL
141662010-02-03 Torsten Landschoff <torsten@debian.org>
14167
14168 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14169 last sectors.
14170
996649b0
VS
141712010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14172
14173 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
14174 CDROM reads.
14175 (grub_biosdisk_write): Refuse to write to CDROM.
14176
3b205d4d
VS
141772010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
14180
61e89d9d
VS
141812010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * font/font.c (find_glyph): Check that bmp_idx is available before
14184 using it.
14185 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
14186 with (font == NULL).
14187
bf7fcba2
CS
141882010-01-28 Christian Schmitt <chris@ilovelinux.de>
14189
14190 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
14191
f45d2663
BC
141922010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
14193
14194 * include/grub/script_sh.h (sourcecode): Add const qualifier.
14195 * util/grub-script-check.c (getline): Fix empty lines case.
14196
ec1444e6
RM
141972010-01-28 Robert Millan <rmh.grub@aybabtu.com>
14198
14199 * Makefile.in (check): Exit with fail status when one of the tests
14200 fails.
14201 * tests/example_functional_test.c (example_test): Fix reversed assert.
14202 * tests/example_unit_test.c (example_test): Likewise.
14203
2e1cb9bb
CW
142042010-01-28 Colin Watson <cjwatson@ubuntu.com>
14205
14206 * util/grub.d/10_linux.in: This script does not use any of the
14207 contents of gettext.sh, only the external command `gettext', so stop
14208 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
14209 the same prefix as GRUB.)
14210 * util/grub.d/10_kfreebsd.in: Likewise.
14211
63533ab0
VS
142122010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
14215 of the line.
14216
989e1f93
VS
142172010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14220 last sectors.
14221
e709ebe2
VS
142222010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14225 having a 4KiB and not 32KiB buffer size.
14226
27dea7ed
RM
142272010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14228
14229 * util/hostfs.c: Include `<errno.h>'.
14230 (grub_hostfs_read): Handle errors from fseeko() and fread().
14231
67667b9c
RM
142322010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14233
14234 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
14235 loop when using read hooks on files whose size isn't sector-aligned.
14236
c294d9d8
RM
142372010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14238
14239 Remove unused parameter.
14240
14241 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
14242 (grub_iso9660_open): Remove initialization of `data->length'.
14243
af75a9f1
RM
142442010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14245
14246 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
14247 memleak conditions.
14248
254e2ce5 142492010-01-27 Carles Pina i Estany <carles@pina.cat>
14250
14251 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
14252 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
14253
b510928c 142542010-01-26 Carles Pina i Estany <carles@pina.cat>
14255
14256 * util/bin2h.c (usage): Fix warning (space after backslash).
14257
aa2f9dd2 142582010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 14259
14260 * font/font.c: Include `grub/fontformat.h.
14261 Remove font file format constants.
14262 (grub_font_load): Use the new macros.
14263 * include/grub/fontformat.h: New file.
14264 * util/grub-mkfont.c: Include `grub/fontformat.c'.
14265 (write_font_pf2): Use the new macros.
14266
94e7e712
RM
142672010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14268
14269 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
14270 does.
14271
3973a59a
RM
142722010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14273
14274 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
14275
14276 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
14277 (_start): Macroify `0x7F'.
14278
14279 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
14280 (make_install_device): Use "(pxe)" as fallback prefix when booting
14281 via PXE.
14282
42e0cba3
GS
142832010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 * configure.ac: Reset LIBS after check for libgcc symbols.
14286
847effd8
CW
142872010-01-25 Colin Watson <cjwatson@ubuntu.com>
14288
14289 * util/hostdisk.c (open_device): Add trailing newline to debug
14290 message.
14291
ea4a7e35
GS
142922010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
14293
14294 * configure.ac: Check for `limits.h'.
14295 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
14296
67951a53
RM
142972010-01-24 Robert Millan <rmh.grub@aybabtu.com>
14298
14299 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
14300 capitalize error strings.
14301
c273d4ce
ST
143022010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
14303
14304 * util/grub.d/10_hurd.in: Add a recovery mode.
14305
69be5b74
VS
143062010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 * configure.ac: Check for libgcc symbols with -nostdlib.
14309
fc9e5810
BC
143102010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
14311
14312 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
14313
4b358c0a
VS
143142010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14315
14316 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
14317 stack since heap may be unavailable at that point.
14318 (grub_ofconsole_gotoxy): Likewise.
14319
454fcd1c
VS
143202010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 * configure.ac: Check for _restgpr_14_x.
14323 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
14324 and _savegpr_* prototypes.
14325
566863ca
RM
143262010-01-22 Robert Millan <rmh.grub@aybabtu.com>
14327
14328 Use generic grub_reboot() for i386-efi.
14329
14330 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
14331 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
14332 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
14333
bf86e59a
VS
143342010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
14337 presence of "prefix" variable as it breaks when normal.mod is
14338 embedded.
14339
d645e0f8
VS
143402010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14341
14342 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
14343 stack since heap is unavailable at that point.
14344
f9ab2e25
VS
143452010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
14348 (grub_freebsd_bootinfo): Rewritten.
14349 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
14350
01fc7054
VS
143512010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
14354
caab4fd6
RM
143552010-01-21 Robert Millan <rmh.grub@aybabtu.com>
14356
14357 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
14358 domain now.
14359
67eb1427
FZ
143602010-01-20 Felix Zielcke <fzielcke@z-51.de>
14361
14362 * util/misc.c (make_system_path_relative_to_its_root): Change the work
14363 around for handling "/" to the correct fix. Fix a memory leak. Use
14364 xstrdup instead of strdup.
14365
a9ed4ff3
VS
143662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14367
14368 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
14369
143702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
14371
14372 Optimise glyph lookup by Basic Multilingual Plane lookup array.
14373
14374 * font/font.c (struct grub_font): New member 'bmp_idx'.
14375 (font_init): Initialise 'bmp_idx'.
14376 (load_font_index): Fill 'bmp_idx'.
14377 (find_glyph): Make inline. Use bmp_idx for BMP characters.
14378
48209f4f
VS
143792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14380
14381 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
14382 unnecessary calls.
14383
9f0a4bb7
VS
143842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14385
14386 Move context handling out of the kernel.
14387
14388 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
14389 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
14390 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
14391 * conf/i386-efi.rmk: Likewise.
14392 * conf/i386-ieee1275.rmk: Likewise.
14393 * conf/i386-pc.rmk: Likewise.
14394 * conf/powerpc-ieee1275.rmk: Likewise.
14395 * conf/sparc64-ieee1275.rmk: Likewise.
14396 * conf/x86_64-efi.rmk: Likewise.
14397 * include/grub/env.h: Include grub/menu.h.
14398 (grub_env_var_type): Removed.
14399 (grub_env_var): Replaced field 'type' with 'global'.
14400 (grub_env_find): New prototype.
14401 (grub_env_context_open): Remove EXPORT_FUNC.
14402 (grub_env_context_close): Likewise.
14403 (grub_env_export): Likewise.
14404 (grub_env_set_data_slot): Removed.
14405 (grub_env_get_data_slot): Likewise.
14406 (grub_env_unset_data_slot): Likewise.
14407 (grub_env_unset_menu): New prototype.
14408 (grub_env_set_menu): Likewise.
14409 (grub_env_get_menu): Likewise.
14410 * include/grub/env_private.h: New file.
14411 * include/grub/normal.h (grub_context_init): New prototype.
14412 (grub_context_fini): Likewise.
14413 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
14414 * normal/context.c (grub_cmd_export): ... to here.
14415 * kern/env.c: Include env_private.h.
14416 (HASHSZ): Moved to include/grub/env_private.h.
14417 (grub_env_context): Likewise.
14418 (grub_env_sorted_var): Likewise.
14419 (current_context): Renamed from this ...
14420 (grub_current_context): ...to this. 'static' removed. All users updated.
14421 (grub_env_find): Removed 'static'.
14422 (grub_env_context_open): Moved to normal/context.c.
14423 (grub_env_context_close): Likewise.
14424 (grub_env_export): Likewise.
14425 (mangle_data_slot_name): Removed.
14426 (grub_env_set_data_slot): Likewise.
14427 (grub_env_get_data_slot): Likewise.
14428 (grub_env_unset_data_slot): Likewise.
14429 * kern/main.c (grub_set_root_dev): Don't export root.
14430 It will be done later.
14431 (grub_main): Don't export prefix.
14432 It will be done later.
14433 * normal/context.c: New file.
14434 * normal/main.c (free_menu): Use grub_env_unset_menu.
14435 (grub_normal_add_menu_entry): Use grub_env_get_menu.
14436 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
14437 (GRUB_MOD_INIT(normal)): Call grub_context_init.
14438 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
14439
8dd35b8c
VS
144402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 setpci support.
14443
14444 * commands/setpci.c: New file.
14445 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
14446 (setpci_mod_SOURCES): New variable.
14447 (setpci_mod_CFLAGS): Likewise.
14448 (setpci_mod_LDFLAGS): Likewise.
14449
449193d5
VS
144502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 Byte-addressable PCI configuration space.
14453
14454 * bus/pci.c (grub_pci_make_address): Use byte address instead of
14455 dword address.
14456 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
14457 GRUB_PCI_REG_CACHELINE.
14458 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
14459 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
14460 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
14461 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
14462 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
14463 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
14464 grub_pci_make_address.
14465 (lock_rom_area): Likewise.
14466 * commands/lspci.c (grub_lspci_iter): Use macroses
14467 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
14468 of grub_pci_make_address.
14469 * disk/ata.c (grub_ata_pciinit): Likewise.
14470 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
14471 (GRUB_PCI_REG_VENDOR): Likewise.
14472 (GRUB_PCI_REG_DEVICE): Likewise.
14473 (GRUB_PCI_REG_COMMAND): Likewise.
14474 (GRUB_PCI_REG_STATUS): Likewise.
14475 (GRUB_PCI_REG_REVISION): Likewise.
14476 (GRUB_PCI_REG_CLASS): Likewise.
14477 (GRUB_PCI_REG_CACHELINE): Likewise.
14478 (GRUB_PCI_REG_LAT_TIMER): Likewise.
14479 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
14480 (GRUB_PCI_REG_BIST): Likewise.
14481 (GRUB_PCI_REG_ADDRESSES): Likewise.
14482 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14483 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14484 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14485 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14486 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14487 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14488 (GRUB_PCI_REG_CIS_POINTER): Likewise.
14489 (GRUB_PCI_REG_SUBVENDOR): Likewise.
14490 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
14491 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
14492 (GRUB_PCI_REG_CAP_POINTER): Likewise.
14493 (GRUB_PCI_REG_IRQ_LINE): Likewise.
14494 (GRUB_PCI_REG_IRQ_PIN): Likewise.
14495 (GRUB_PCI_REG_MIN_GNT): Likewise.
14496 (GRUB_PCI_REG_MAX_LAT): Likewise.
14497 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
14498 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
14499 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 14500 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
14501 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
14502 space.
14503
96d73208
RM
145042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14505
14506 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
14507 can be reliably determined to be supported.
14508
d4484482
RM
145092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14510
14511 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
14512 that VESA is supported.
14513 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
14514 supported.
14515
00308ecf
VS
145162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
14519
f66924a4
RM
145202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14521
14522 * util/misc.c (make_system_path_relative_to_its_root): Work around
14523 special-casing of "/", as previous incarnation of this routine did.
14524
cbca0ada
VS
145252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14526
14527 Fix any-emu compilation.
14528
14529 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
14530 * grub_bin2h_SOURCES: New variable.
14531
34a66d99
RM
145322010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14533
14534 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
14535
94fabf58
RM
145362010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14537
14538 * util/grub.d/00_header.in: Fix handling of locale_dir.
14539
02cf98ca
VS
145402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14541
14542 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
14543 as possible unifont location (Gentoo).
14544 Reported by: Alexander Brüning
14545
327dbcd7
VS
145462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14547
14548 Don't try to generate lists for kernel.img.
14549
14550 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
14551 (pkglib_MODULES): Remove kernel.img.
14552 (kernel_img_EXPORTS): Removed.
14553 (kernel_img_RELOCATABLE): New variable.
14554 * conf/x86_64-efi.rmk: Likewise.
14555 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
14556
ca467290
VS
145572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
14560 grub_xasprintf or grub_snprintf.
14561 (grub_vsprintf): Likewise.
14562 (grub_snprintf): New proto.
14563 (grub_vsnprintf): Likewise.
14564 (grub_xasprintf): Likewise.
14565 (grub_xvasprintf): Likewise.
14566 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
14567 (grub_sprintf): Removed.
14568 (grub_vsnprintf): New function.
14569 (grub_snprintf): Likewise.
14570 (grub_xvasprintf): Likewise.
14571 (grub_xasprintf): Likewise.
14572 (grub_vsprintf): Renamed to ...
14573 (grub_vsnprintf_real): ...this. New argument max_len.
14574
aca655fd
BC
145752010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
14576
14577 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
14578 fix grub-script-check warning.
14579
7ee92c32
VS
145802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 * include/grub/font.h (grub_font_load): Fix prototype.
14583
f80927ca
VS
145842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
14587
119c50ea
VS
145882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 * include/grub/x86_64/at_keyboard.h: New file.
14591
47d5f3c1
VS
145922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * loader/mips/linux.c: Include missing grub/i18n.h.
14595
55ff5266
RM
145962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14597
14598 * normal/menu.c (notify_execution_failure): Clarify error message.
14599
c893cc87
RM
146002009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14601
14602 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
14603 return value (and revert all return statements). Update users.
14604
917dd370
CW
146052010-01-20 Dan Merillat <debian@dan.merillat.org>
14606
14607 * kern/device.c (grub_device_iterate): Allocate new part_ent
14608 structure based on sizeof (*p) rather than sizeof (p->next), to
14609 account for structure padding.
14610
14611 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
14612 disk is NULL, which might happen for LVM physical volumes with no
14613 LVM signature.
14614
d4a4ee57
RM
146152009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14616
14617 * loader/mips/linux.c (grub_cmd_initrd)
14618 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
14619
146202009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14621
14622 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
14623 (grub_video_video_init, grub_video_bitmap_init)
14624 (grub_font_manager_init, grub_term_gfxterm_init)
14625 (grub_at_keyboard_init): New extern declarations.
14626 (grub_machine_init): Initialize gfxterm and at_keyboard.
14627
14628 * kern/main.c (grub_main): Revert grub_printf delay kludge.
14629
14630 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
14631 `gfxterm.mod' into core image.
14632
14633 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14634 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14635 (kernel_img_FORMAT): Copy to ...
14636
14637 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14638 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14639 (kernel_img_FORMAT): ... here, and ...
14640
14641 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14642 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14643 (kernel_img_FORMAT): ... here.
14644
14645 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
14646 and input (at_keyboard) terminals in kernel.
14647 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
14648
14649 (pkglib_MODULES): Remove `pci.mod'.
14650 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
14651 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
14652 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14653 (at_keyboard_mod_LDFLAGS): Remove variables.
14654
146552010-01-11 Felix Zielcke <fzielcke@z-51.de>
14656
14657 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
14658
146592009-12-10 Robert Millan <rmh.grub@aybabtu.com>
14660
14661 * include/grub/mips/libgcc.h: Only export symbols for functions
14662 that libgcc provides.
14663
146642009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 MIPS support.
14667
14668 * bus/bonito.c: New file.
14669 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
14670 GRUB_PCI_NUM_DEVICES.
14671 * term/i386/pc/serial.c: Move to ...
14672 * term/serial.c: ... here. All users updated.
14673 * util/i386/pc/grub-mkimage.c: Move to ...
14674 * util/grub-mkrawimage.c: ... here. All users updated.
14675 * term/i386/pc/at_keyboard.c: Move to ...
14676 * term/at_keyboard.c: ... here. All users updated.
14677 * conf/mips-qemu-mips.rmk: New file.
14678 * conf/mips-yeeloong.rmk: Likewise.
14679 * conf/mips.rmk: Likewise.
14680 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
14681 mipsel-qemu-mips.
14682 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
14683 to port addresses.
14684 (grub_ata_pciinit): Support CS5536.
14685 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
14686 * font/font_cmd.c (loadfont_command): Open file before passing it to
14687 grub_font_load.
14688 (pseudo_file_read): New function.
14689 (pseudo_file_close): Likewise.
14690 (pseudo_fs): New structure.
14691 (load_font_module): New function.
14692 (GRUB_MOD_INIT(font_manager)): Load embedded font.
14693 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
14694 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
14695 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
14696 * include/grub/i386/at_keyboard.h: Split into ...
14697 * include/grub/at_keyboard.h: ... this ...
14698 * include/grub/i386/at_keyboard.h: ... and this.
14699 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
14700 New prototype.
14701 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
14702 updated.
14703 (grub_elf64_size): Likewise.
14704 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
14705 filename.
14706 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
14707 * include/grub/i386/coreboot/serial.h: Rewritten.
14708 * include/grub/i386/ieee1275/serial.h: Include
14709 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
14710 * include/grub/i386/pc/serial.h: Moved from here ...
14711 * include/grub/serial.h: ... to here. All users updated.
14712 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
14713 (GRUB_PCI_NUM_BUS): Likewise.
14714 (GRUB_PCI_NUM_DEVICES): Likewise.
14715 (grub_pci_device_map_range): Add missing volatile keyword.
14716 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
14717 * include/grub/mips/at_keyboard.h: New file.
14718 * include/grub/mips/cache.h: Likewise.
14719 * include/grub/mips/io.h: Likewise.
14720 * include/grub/mips/kernel.h: Likewise.
14721 * include/grub/mips/libgcc.h: Likewise.
14722 * include/grub/mips/pci.h: Likewise.
14723 * include/grub/mips/qemu-mips/boot.h: Likewise.
14724 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14725 * include/grub/mips/qemu-mips/loader.h: Likewise.
14726 * include/grub/mips/qemu-mips/memory.h: Likewise.
14727 * include/grub/mips/qemu-mips/serial.h: Likewise.
14728 * include/grub/mips/qemu-mips/time.h: Likewise.
14729 * include/grub/mips/relocator.h: Likewise.
14730 * include/grub/mips/time.h: Likewise.
14731 * include/grub/mips/types.h: Likewise.
14732 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
14733 * include/grub/mips/yeeloong/boot.h: Likewise.
14734 * include/grub/mips/yeeloong/kernel.h: Likewise.
14735 * include/grub/mips/yeeloong/loader.h: Likewise.
14736 * include/grub/mips/yeeloong/memory.h: Likewise.
14737 * include/grub/mips/yeeloong/pci.h: Likewise.
14738 * include/grub/mips/yeeloong/serial.h: Likewise.
14739 * include/grub/mips/yeeloong/time.h: Likewise.
14740 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
14741 * kern/elf.c (grub_elf32_size): New parameter. All users
14742 updated.
14743 (grub_elf64_size): Likewise.
14744 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
14745 Load modules before saying "Welcome to GRUB!".
14746 Call grub_refresh after saying "Welcome to GRUB!".
14747 * kern/mips/cache.S: New file.
14748 * kern/mips/cache_flush.S: Likewise.
14749 * kern/mips/dl.c: Likewise.
14750 * kern/mips/init.c: Likewise.
14751 * kern/mips/qemu-mips/init.c: Likewise.
14752 * kern/mips/startup.S: Likewise.
14753 * kern/mips/yeeloong/init.c: Likewise.
14754 * kern/term.c (grub_putcode): Handle NULL terminal.
14755 (grub_getcharwidth): Likewise.
14756 (grub_getkey): Likewise.
14757 (grub_checkkey): Likewise.
14758 (grub_getkeystatus): Likewise.
14759 (grub_getxy): Likewise.
14760 (grub_getwh): Likewise.
14761 (grub_gotoxy): Likewise.
14762 (grub_cls): Likewise.
14763 (grub_setcolorstate): Likewise.
14764 (grub_setcolor): Likewise.
14765 (grub_getcolor): Likewise.
14766 (grub_refresh): Likewise.
14767 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
14768 (write_jump): Add hatch nop.
14769 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
14770 * lib/mips/setjmp.S: New file.
14771 * loader/mips/linux.c: Likewise.
14772 * term/i386/pc/at_keyboard.c: Move from here ...
14773 * term/at_keyboard.c: ... to here.
14774 * term/i386/pc/serial.c: Moved from here ...
14775 * term/serial.c: ... to here. All users updated.
14776 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
14777 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
14778 (serial_translate_key_sequence): Avoid deadlock.
14779 (grub_serial_getkey): Handle backspace.
14780 (grub_serial_putchar): Fix newline handling.
14781 * util/i386/pc/grub-mkimage.c: Move from here ...
14782 * util/grub-mkrawimage.c: ... to here. All users updated.
14783 (generate_image): New parameters 'font_path' and 'format'.
14784 Support embedding font.
14785 Use grub_host_to_target* instead of grub_cpu_to_le*.
14786 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
14787 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
14788 (options): New option "--font".
14789 (usage): Likewise.
14790 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
14791 (main): Handle "--font".
14792 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
14793 (grub_virtual_screen_setup): Set bg_color_display.
14794 (redraw_screen_rect): Use bg_color_display instead of incorrect
14795 bg_color.
14796 (grub_gfxterm_cls): Likewise.
14797 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
14798 Support embedding config file.
14799 (add_segments): Likewise.
14800 (options): New option "--config".
14801 (main): Handle "--config".
14802 * video/sm712.c: New file.
14803
25c2b5b3
RM
148042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14805
14806 Fix parallel builds.
14807
14808 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
14809 font.c depend on ascii.h).
14810
148112010-01-12 Carles Pina i Estany <carles@pina.cat>
14812
14813 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
14814
148152010-01-11 Carles Pina i Estany <carles@pina.cat>
14816
14817 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
14818 By default: disabled.
14819 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
14820 parameter.
14821
148222010-01-10 Carles Pina i Estany <carles@pina.cat>
14823
14824 * font/font.c: Update copyright years.
14825 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
14826
148272010-01-10 Carles Pina i Estany <carles@pina.cat>
14828
14829 * font/font.c: Include `ascii.h'.
14830 (ASCII_BITMAP_SIZE): New macro.
14831 (ascii_font_glyph): Define.
14832 (ascii_glyph_lookup): New function.
14833 (grub_font_get_string_width): Change comment. If glyph not found, use
14834 ascii_glyph_lookup.
14835 (grub_font_get_glyph_with_fallback): If glyph not available returns
14836 ascii_glyph_lookup.
14837 * util/grub-mkfont.c (file_formats): New enum.
14838 (options): Add `ascii-bitmaps' new option.
14839 (usage): Add `asii-bitmaps' new option.
14840 (write_font_ascii_bitmap): New function.
14841 (write_font): Rename to ...
14842 (write_font_p2): ... this. Remove print_glyphs call.
14843 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
14844 used. Call print_glyphs.
14845 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
14846
148472010-01-14 Robert Millan <rmh.grub@aybabtu.com>
14848
14849 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
14850 (grub_bin2h_SOURCES): New variable.
14851 * util/bin2h.c: New file.
14852
915fc1b8
VS
148532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 * include/multiboot.h: Resynced with spec.
14856 * include/multiboot2.h: Likewise.
14857 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
14858 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
14859
9444b678
RM
148602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14861
14862 * include/grub/term.h (grub_term_register_input,
14863 grub_term_register_output): Check return of terminal init()
14864 routines, and abort if errors are raised.
14865
14866 * commands/terminal.c: Update copyright year.
14867
cba98e8d
RM
148682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14869
14870 * commands/terminal.c (grub_cmd_terminal_input)
14871 (grub_cmd_terminal_output): Check return of terminal init()
14872 routines, and abort if errors are raised.
14873
6f7db5d6
VS
148742010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14875
14876 * include/grub/i386/bsd.h: Fix include pathes.
14877
262bff8d
VS
148782010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14879
14880 Add missing *BSD copyright headers.
14881
14882 * include/grub/aout.h: Add BSD licence.
14883 * include/grub/i386/bsd.h: Parts under different licences moved to ...
14884 * include/grub/i386/freebsd_linker.h: ... here,
14885 * include/grub/i386/freebsd_reboot.h: ... here,
14886 * include/grub/i386/netbsd_bootinfo.h: ... here,
14887 * include/grub/i386/netbsd_reboot.h: ... here,
14888 * include/grub/i386/openbsd_bootarg.h: ... here,
14889 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
14890 licence to each file.
14891
b2cab848
RM
148922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14893
14894 * acinclude.m4: Remove `nop' assembly instruction; it's not
14895 implemented by all architectures.
14896
2cb6be4b
RM
148972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14898
14899 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
14900 ELILO. This is no longer necessary.
14901
a2eaee15
BC
149022010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
14903
14904 Added new tool, grub-scrit-check to verify grub.cfg syntax.
14905
14906 * util/grub-script-check.c: grub-script-check tool.
14907 * conf/common.rmk: Make rules for grub-script-check.
14908
88d17012
RM
149092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14910
14911 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
14912 spotting it back in 2008. Shame on me for forgetting he did.
14913
14914 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
14915
8040619d
RM
149162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14917
14918 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
14919 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
14920 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
14921 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
14922 (GRUB_VIDEO_TYPE_EFI): Rename to ...
14923 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
14924
a0c2a0f6
RM
149252010-01-17 Robert Millan <rmh.grub@aybabtu.com>
14926
14927 * include/grub/test.h: Add license header.
14928 * tests/example_functional_test.c: Likewise.
14929 * tests/example_unit_test.c: Likewise.
14930 * tests/lib/functional_test.c: Likewise.
14931 * tests/lib/test.c: Likewise.
14932 * tests/lib/unit_test.c: Likewise.
14933
b0b13907
VS
149342010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 Use flag-based instead of hook-based video mode selection and "auto"
14937 keyword.
14938
14939 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
14940 (grub_video_set_mode): Changed prototype. All users updated.
14941 (grub_video_check_mode_flag): New inline function.
14942 * video/video.c (parse_modespec): New function.
14943 (grub_video_set_mode): Parse flags and keywords.
14944
ea379330 149452010-01-17 Carles Pina i Estany <carles@pina.cat>
14946
14947 * util/misc.c (grub_util_info): Fix the order of the parameters in a
14948 fprintf call.
14949
e15c215e
FZ
149502010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
14951
14952 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
14953
409ae1c9 149542010-01-16 Carles Pina i Estany <carles@pina.cat>
14955
14956 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
14957 string.
14958 * util/grub-emu.c (usage): Likewise.
14959 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
14960 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14961 * util/i386/pc/grub-mkimage.c (usage): Likewise.
14962 * util/i386/pc/grub-setup.c (usage): Likewise.
14963
70a14d3d 149642010-01-16 Carles Pina i Estany <carles@pina.cat>
14965
14966 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
14967 the message.
14968 (grub_util_info): Likewise.
14969 (grub_util_error): Likewise.
14970 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
14971 and/or new lines in `grub_util_warna', `grub_util_info',
14972 `grub_util_error' calls.
14973 * util/getroot.c: Likewise.
14974 * util/grub-editenv.c: Likewise.
14975 * util/grub-emu.c: Likewise.
14976 * util/grub-fstest.c: Likewise.
14977 * util/grub-mkdevicemap.c: Likewise.
14978 * util/grub-mkfont.c: Likewise.
14979 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14980 * util/grub-mkrelpath.c: Likewise.
14981 * util/grub-pe2elf.c: Likewise.
14982 * util/grub-probe.c: Likewise.
14983 * util/hostdisk.c: Likewise.
14984 * util/i386/efi/grub-mkimage.c: Likewise.
14985 * util/i386/pc/grub-mkimage.c: Likewise.
14986 * util/i386/pc/grub-setup.c: Likewise.
14987 * util/ieee1275/ofpath.c: Likewise.
14988 * util/mkisofs/eltorito.c: Likewise.
14989 * util/mkisofs/rock.c: Likewise.
14990 * util/mkisofs/write.c: Likewise.
14991 * util/raid.c: Likewise.
14992 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
14993 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14994
a0b766fc
VS
149952010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14996
14997 Enable multiboot on non-pc.
14998
14999 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
15000 multiboot.mod and multiboot2.mod to ...
15001 * conf/i386.rmk (pkglib_MODULES): ... here.
15002 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
15003 Moved to ...
15004 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
15005 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
15006 Moved to ...
15007 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
15008 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
15009 Moved to ...
15010 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
15011 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
15012 Moved to ...
15013 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
15014 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
15015 relocator.mod.
15016 (ata_mod_SOURCES): Removed.
15017 (ata_mod_CFLAGS): Likewise.
15018 (ata_mod_LDFLAGS): Likewise.
15019 (relocator_mod_SOURCES): Removed.
15020 (relocator_mod_CFLAGS): Likewise.
15021 (relocator_mod_ASFLAGS): Likewise.
15022 (relocator_mod_LDFLAGS): Likewise.
15023 Include i386.mk.
15024 * include/grub/x86_64/multiboot.h: New file.
15025 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
15026 Terminate EFI.
15027
884ade56
VS
150282010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 Video multiboot support.
15031
15032 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
15033 New prototype.
15034 * include/multiboot.h: Resynced with multiboot specification.
15035 * include/multiboot2.h: Likewise.
15036 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
15037 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
15038 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
15039 (HAS_VGA_TEXT): Likewise.
15040 (accepts_video): New variable.
15041 (grub_multiboot_set_accepts_video): New function.
15042 (grub_multiboot_get_mbi_size): Account for video structures.
15043 (set_video_mode): New function.
15044 (retrieve_video_parameters): Likewise.
15045 (grub_multiboot_make_mbi): Fill video fields.
15046
0d90e8a6
VS
150472010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15048
15049 Video driver ids.
15050
15051 * include/grub/video.h (grub_video_driver_id): New type.
15052 (grub_video_adapter): New member 'id'. All users updated.
15053 (grub_video_get_driver_id): New proto.
15054 * video/video.c (grub_video_get_driver_id): New function.
15055
5c71db1b 150562010-01-14 Carles Pina i Estany <carles@pina.cat>
15057
15058 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
15059 `var=val'.
15060
cca15b52 150612010-01-14 Carles Pina i Estany <carles@pina.cat>
15062
15063 * normal/cmdline.c (print_completion): Gettextizze.
15064
c586fbb2 150652001-01-14 Carles Pina i Estany <carles@pina.cat>
15066
15067 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
15068
ba2f6848 150692010-01-14 Carles Pina i Estany <carles@pina.cat>
15070
15071 * gettext/gettext.c (grub_gettext_translate): Push and pop
15072 grub_errno.
15073 (grub_gettext_delete_list): Change comment style.
15074 * kern/err.c (grub_error): Gettextizze.
15075 (grub_fatal): Gettextizze.
15076
0a46429a
RM
150772010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15078
15079 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
15080 (grub_linux16_real_boot): ... this.
15081 * kern/i386/loader.S: Likewise.
15082 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
15083 (grub_linux16_boot): New function. Switches to text mode and calls
15084 grub_linux16_real_boot().
15085
15086 * loader/i386/bsd.c: Include `<grub/video.h>'.
15087 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
15088 text mode before calling grub_unix_real_boot().
15089
15090 * loader/i386/multiboot.c: Include `<grub/video.h>'.
15091 (grub_multiboot_boot): Switch to text mode before calling
15092 grub_relocator32_boot().
15093
15094 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
15095 (grub_chainloader_boot): Switch to text mode before calling
15096 grub_chainloader_real_boot().
15097
d6f93a66
RM
150982010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
150992010-01-05 Colin Watson <cjwatson@ubuntu.com>
15100
15101 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
15102 non-empty value.
15103
151042010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
151052010-01-05 Colin Watson <cjwatson@ubuntu.com>
15106
15107 * util/grub.d/00_header.in: Define a "savedefault" function for use
15108 in menu entries.
15109 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
15110
151112010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
151122010-01-05 Colin Watson <cjwatson@ubuntu.com>
15113
15114 * util/grub-mkconfig_lib.in (save_default_entry): Only set
15115 saved_entry if boot_once is unset.
15116 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
15117 previous saved entry (i.e. grub-reboot).
15118
151192009-12-08 Colin Watson <cjwatson@ubuntu.com>
15120
15121 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
15122
151232009-12-08 Colin Watson <cjwatson@ubuntu.com>
15124
15125 * util/grub.d/00_header.in: Use `set var=val' rather than plain
15126 `var=val'.
15127 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
15128
151292009-12-08 Colin Watson <cjwatson@ubuntu.com>
15130
15131 * util/grub-reboot.in: Fix --version output.
15132 * util/grub-set-default.in: Likewise.
15133
151342009-12-08 Colin Watson <cjwatson@ubuntu.com>
15135
15136 * util/grub.d/00_header.in: Silently ignore zero-sized environment
15137 blocks.
15138
151392009-12-08 Colin Watson <cjwatson@ubuntu.com>
15140
15141 * util/grub.d/00_header.in: Quote the value assigned to `default',
15142 in case it contains spaces.
15143
151442009-12-08 Colin Watson <cjwatson@ubuntu.com>
15145
15146 * util/grub.d/30_os-prober.in: Fix merge error that moved a
15147 `save_default_entry' call from the macosx case to the linux case.
15148
151492009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
151502009-10-25 Colin Watson <cjwatson@ubuntu.com>
15151
15152 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
15153 in `chosen' environment variable.
15154 * normal/menu_text.c (get_entry_number): Check if the variable
15155 matches the title of a menu entry.
15156 (run_menu): Pass menu to get_entry_number.
15157
15158 * util/grub-reboot.in: New file.
15159 * util/grub-set-default.in: New file.
15160 * conf/common.rmk (grub-reboot): New utility.
15161 (grub-set-default): New utility.
15162
15163 * util/grub-mkconfig_lib.in (save_default_entry): New function.
15164 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
15165 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
15166 move it to `saved_entry' for the next boot. Load environment on
15167 initialisation.
15168 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
15169 * util/grub.d/10_hurd.in: Likewise.
15170 * util/grub.d/10_linux.in (linux_entry): Likewise.
15171 * util/grub.d/10_windows.in: Likewise.
15172 * util/grub.d/30_os-prober.in: Likewise.
15173
15174 * util/grub-install.in: Create environment block.
15175 * util/i386/efi/grub-install.in: Likewise.
15176 * util/ieee1275/grub-install.in: Likewise.
15177 * util/sparc64/ieee1275/grub-install.in: Likewise.
15178
0934d184
BC
151792010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
15180
15181 Unit testing framework for GRUB.
15182
15183 * Makefile.in: Test framework build rules for 'make check'.
15184 * conf/tests.rmk: Build rules for individual tests and framework.
15185
15186 * include/grub/test.h: Header file for whitebox tests.
15187 * tests/lib/functional_test.c: Framework support for whitebox
15188 functional tests.
15189 * tests/lib/test.c: Common whitebox testing code for unit and
15190 functional tests.
15191 * tests/lib/unit_test.c: Framework support for whitebox unit
15192 tests.
15193
15194 * tests/util/grub-shell-tester.in: Support utility for grub-script
15195 tests.
15196 * tests/util/grub-shell.in: Utility to execute grub-script
15197 commands in a Qemu instance.
15198
15199 * tests/example_functional_test.c: Example whitebox functional
15200 test.
15201 * tests/example_grub_script_test.in: Example grub-script test.
15202 * tests/example_scripted_test.in: Example scripted test.
15203 * tests/example_unit_test.c: Example whitebox unit test.
15204
9c4ffeeb
VS
152052010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
15208 Add loader/i386/multiboot_mbi.c.
15209 (multiboot2_mod_SOURCES): Likewise.
15210 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
15211 (multiboot2_mod_SOURCES): Likewise.
15212 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
15213 (grub_multiboot_make_mbi): Likewise.
15214 (grub_multiboot_free_mbi): Likewise.
15215 (grub_multiboot_init_mbi): Likewise.
15216 (grub_multiboot_add_module): Likewise.
15217 (grub_multiboot_set_bootdev): Likewise.
15218 * loader/i386/multiboot.c (mbi): Removed.
15219 (mbi_dest): Likewise.
15220 (alloc_mbi): New variable.
15221 (grub_multiboot_payload_size): Removed. All users updated.
15222 (grub_multiboot_pure_size): New variable.
15223 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
15224 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
15225 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
15226 (grub_fill_multiboot_mmap): Likewise.
15227 (grub_multiboot_get_bootdev): Likewise.
15228 (grub_multiboot): Use multiboot_mbi functions.
15229 * loader/i386/multiboot_mbi.c: New file.
15230
17383dfe
VS
152312010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
15234 it would result in module crash.
15235
c1f28820
VS
152362010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15237
15238 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
15239 (grub_ofconsole_getwh): Split to ...
15240 (grub_ofconsole_getwh): ... this.
15241 (grub_ofconsole_dimensions): ...and this.
15242 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
15243
58655a16
RM
152442010-01-13 Robert Millan <rmh.grub@aybabtu.com>
15245
15246 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
15247
10891398
VS
152482010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * loader/i386/pc/multiboot2.c: Removed stalled file.
15251
0b8a223c
VS
152522010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
15255 Reported by: Grégoire Sutre
15256
92ab12b0
RM
152572010-01-11 Robert Millan <rmh.grub@aybabtu.com>
15258
15259 * util/misc.c (canonicalize_file_name): New function.
15260 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
15261 instead of realpath().
15262
a788afb6
CW
152632010-01-11 Colin Watson <cjwatson@ubuntu.com>
15264
15265 * util/grub-install.in (usage): Clarify meaning of --root-directory,
15266 and make it clearer that it's optional. Based on confusion
15267 witnessed on IRC.
15268
ffa8e3d2
VS
152692010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15270
15271 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
15272 in premature implicit newline.
15273
e9060a9d
VS
152742010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15275
15276 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
15277 which resulted in garbled command line at the end of screen.
15278
f0d0c0b7
RM
152792010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15280
15281 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
15282 initialization with similar approach as with other Linux loaders.
15283
0e60bae7
RM
152842010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15285
15286 Fix i386-ieee1275 build.
15287
15288 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
15289 and grub_term_height() for video_{width,height} initialization.
15290
152912010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
15292
15293 Fix grub-emu build.
15294
15295 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
15296
cdb3f378
RM
152972010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
152982010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15299
15300 Support for multiple terminals.
15301
15302 * Makefile.in (pkglib_DATA): terminal.lst.
15303 (terminal.lst): New target.
15304 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
15305 (GRUB_MOD_INIT(handler)): Likewise.
15306 (GRUB_MOD_FINI(handler)): Likewise.
15307 * commands/help.c (grub_cmd_help): Handle multiple terminals.
15308 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
15309 * commands/sleep.c (do_print): Use grub_term_restore_pos.
15310 (grub_cmd_sleep): Use grub_term_save_pos.
15311 * commands/terminal.c: New file.
15312 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
15313 commands/terminal.c and lib/charset.c.
15314 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
15315 (pkglib_MODULES): Add terminal.mod.
15316 (terminal_mod_SOURCES): New variable.
15317 (terminal_mod_CFLAGS): Likewise.
15318 (terminal_mod_LDFLAGS): Likewise.
15319 * genhandlerlist.sh: Don't handle terminals.
15320 * genmk.rb: Generate terminal-*.lst.
15321 * genterminallist.sh: New file.
15322 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
15323 (grub_is_valid_utf8): Likewise.
15324 (grub_utf8_to_ucs4_alloc): Likewise.
15325 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
15326 (grub_menu_register_viewer): Changed argument.
15327 (grub_menu_try_text): New proto.
15328 (grub_gfxmenu_try_hook): New declaration.
15329 * include/grub/normal.h (grub_normal_exit_level): New declaration.
15330 (grub_menu_init_page): Additional argument term.
15331 (grub_normal_init_page): Likewise.
15332 (grub_cmdline_get): Arguments simplified.
15333 (grub_utf8_to_ucs4_alloc): Removed.
15334 (grub_print_ucs4): Additional argument term.
15335 (grub_getstringwidth): Likewise.
15336 (grub_print_message_indented): Likewise.
15337 (grub_menu_text_register_instances): New proto.
15338 (grub_show_menu): Likewise.
15339 (read_terminal_list): Likewise.
15340 (grub_set_more): Likewise.
15341 * include/grub/parser.h: Include handler.h.
15342 * include/grub/reader.h: Rewritten.
15343 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
15344 (GRUB_TERM_WIDTH): Changed to function.
15345 (GRUB_TERM_HEIGHT): Likewise.
15346 (GRUB_TERM_BORDER_WIDTH): Likewise.
15347 (GRUB_TERM_BORDER_HEIGHT): Likewise.
15348 (GRUB_TERM_NUM_ENTRIES): Likewise.
15349 (GRUB_TERM_ENTRY_WIDTH): Likewise.
15350 (GRUB_TERM_CURSOR_X): Likewise.
15351 (grub_term_input_class): Likewise.
15352 (grub_term_output_class): Likewise.
15353 (grub_term_outputs_disabled): New declaration.
15354 (grub_term_inputs_disabled): Likewise.
15355 (grub_term_outputs): Likewise.
15356 (grub_term_inputs): Likewise.
15357 (grub_term_register_input): Rewritten.
15358 (grub_term_register_output): Likewise.
15359 (grub_term_unregister_input): Likewise.
15360 (grub_term_unregister_output): Likewise.
15361 (FOR_ACTIVE_TERM_INPUTS): New macro.
15362 (FOR_DISABLED_TERM_INPUTS): Likewise.
15363 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15364 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15365 * include/grub/terminfo.h: Add oterm argument to all protypes.
15366 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
15367 Use grub_rescue_run.
15368 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
15369 All users updated.
15370 * kern/reader.c: Removed. All users updated.
15371 * kern/rescue_reader.c (grub_rescue_init): Removed.
15372 (grub_rescue_reader): Likewise.
15373 (grub_register_rescue_reader): Likewise.
15374 (grub_rescue_run): New function based on kern/reader.c.
15375 * kern/term.c: Adapted for multiterm.
15376 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
15377 (grub_is_valid_utf8): Likewise.
15378 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
15379 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
15380 right terminal.
15381 * loader/i386/linux.c (grub_linux_boot): Likewise.
15382 * normal/auth.c (grub_username_get): New function.
15383 (grub_auth_check_authentication): Use grub_username_get.
15384 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
15385 * normal/color.c: Adapt for multiterm.
15386 * normal/main.c (read_config_file): Don't use grub_reader_loop.
15387 (grub_normal_init_page): Additional argument term.
15388 (read_lists): Call read_terminal_lists.
15389 (grub_enter_normal_mode): Call grub_cmdline_run.
15390 Handle grub_normal_exit_level.
15391 (grub_cmd_normal): Make reentrant.
15392 (grub_cmd_normal_exit): New function.
15393 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
15394 * normal/menu.c: Adapt for multiterm.
15395 * normal/menu_entry.c: Likewise.
15396 * normal/menu_text.c: Likewise.
15397 * normal/menu_viewer.c: Removed. All users updated.
15398 * normal/term.c: New file.
15399 * util/console.c: Change order of includes to workaround a bug in
15400 ncurses headers.
15401 * term/terminfo.c: New argument oterm on all exported functions.
15402 All users updated.
15403 * util/grub-editenv.c (grub_term_input_class): Removed.
15404 (grub_term_output_class): Likewise.
15405
1a064917
RM
154062010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15407
15408 Make loader output a bit more user-friendly.
15409
15410 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
15411 is being loaded. Likewise for the Hurd.
15412
15413 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
15414 that kernel of FreeBSD ${version} is being loaded.
15415
15416 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
15417 grub_dprintf().
15418 (grub_cmd_initrd): Likewise.
15419 * util/grub.d/10_linux.in (linux_entry): Print message indicating
15420 that Linux ${version} is being loaded. Likewise for initrd.
15421
5ce0a83a 154222010-01-09 Carles Pina i Estany <carles@pina.cat>
15423
15424 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
15425
809bbfeb 154262010-01-08 Carles Pina i Estany <carles@pina.cat>
15427
15428 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
15429 (GRUB_MOD_INIT): Gettextizze.
15430 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
15431 (GRUB_MOD_INIT): Gettextizze.
15432 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
15433 (grub_cmd_linux): Capitalise Linux.
15434 (GRUB_MOD_INIT): Gettextizze.
15435 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
15436 (grub_cmd_linux): Capitalise Linux.
15437 (GRUB_MOD_INIT): Gettextizze.
15438 * loader/i386/linux.c: Include `<grub/i18n.h>'.
15439 (grub_cmd_linux): Capitalise Linux.
15440 (GRUB_MOD_INIT): Gettextizze.
15441 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
15442 (GRUB_MOD_INIT): Gettextizze.
15443 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
15444 (grub_cmd_linux): Capitalise Linux.
15445 (GRUB_MOD_INIT): Gettextizze.
15446 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
15447 (grub_cpu_xnu_init): Gettextizze.
15448 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
15449 (GRUB_MOD_INIT): Gettextizze.
15450 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
15451 (GRUB_MOD_INIT): Gettextizze.
15452 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
15453 (grub_linux_load64): Capitalise Linux.
15454 (GRUB_MOD_INIT): Gettextizze.
15455 * loader/xnu.c: Include `<grub/i18n.h>'.
15456 (GRUB_MOD_INIT): Gettextizze.
15457 * po/POTFILES: Add `loader/efi/appleloader.c',
15458 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
15459 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
15460 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
15461 `loader/i386/xnu.c', `loader/multiboot_loader.c',
15462 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
15463 and `loader/xnu.c'.
15464
b394b2ca
RM
154652010-01-08 Robert Millan <rmh.grub@aybabtu.com>
15466
15467 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
15468
154692010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
15470
15471 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
15472 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
15473 * util/mkisofs/mkisofs.c (main): Readjust --version output.
15474
bc8b32b3
RM
154752010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15476
15477 Reset Multiboot 2 support. New loader implements the draft in
15478 /branches/multiboot2 and shares as much code as possible with the
15479 production Multiboot 1 implementation.
15480
15481 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
15482 * loader/multiboot2.c: Likewise.
15483 * loader/i386/multiboot_helper.S: Likewise.
15484 * include/multiboot2.h: Replace with latest version from the draft
15485 in /branches/multiboot2.
15486
15487 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
15488 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
15489 and `loader/multiboot2.c'.
15490 (pkglib_MODULES): Add `multiboot2.mod'.
15491 (multiboot2_mod_SOURCES): New variable.
15492 (multiboot2_mod_LDFLAGS): Likewise.
15493 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
15494
15495 * conf/i386-pc.rmk: Likewise.
15496
15497 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
15498 (multiboot_mod_SOURCES): Remove variable.
15499 (multiboot_mod_LDFLAGS): Likewise.
15500 (multiboot_mod_CFLAGS): Likewise.
15501
15502 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
15503 `<multiboot2.h>' instead of `<multiboot.h>'.
15504 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
15505 (MULTIBOOT_HEADER_MAGIC): New macros.
15506
15507 * loader/multiboot_loader.c (module_version_status): Remove variable.
15508 (find_multi_boot2_header): Remove function.
15509 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
15510 logic. Always check for the Multiboot version we're compiling for.
15511 (grub_cmd_module_loader): Likewise.
15512 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
15513 command instead of `multiboot'.
15514
5d2c52b8
RM
155152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15516
15517 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
15518 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
15519 all users.
15520
53108d92
RM
155212010-01-07 Robert Millan <rmh.grub@aybabtu.com>
155222010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15523
15524 Fix breakage introduced with previous commit.
15525
15526 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
15527 commands.
15528 * normal/handler.c (read_handler_list): Revert part of previous commit
15529 affecting this file.
15530 * normal/main.c (read_lists): Move read_handler_list() call back to ...
15531 (grub_normal_execute): ... here.
15532
e2e936b2
RM
155332010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15534
15535 Merge prefix-redefinition-fix branch.
15536
15537 * normal/autofs.c (read_fs_list): Make function capable of being
15538 run multiple times, gracefuly replacing the previous data
15539 structures.
15540 * normal/dyncmd.c (read_command_list): Likewise.
15541 * normal/handler.c (read_handler_list): Likewise.
15542 * normal/main.c (read_lists): New function. Calls all the
15543 list reading functions.
15544 (grub_normal_execute): Use read_lists() instead of calling all
15545 list reading functions explicitly. Register read_lists() as a
15546 variable hook attached to ${prefix}.
15547
607a3701
VS
155482010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15549
15550 Merge crypto branch.
15551
15552 * Makefile.in (pkglib_DATA): Add crypto.lst.
15553 (crypto.lst): New target.
15554 * commands/hashsum.c: New file.
15555 * commands/password.c (check_password): Use grub_crypto_memcmp.
15556 * commands/password_pbkdf2.c: New file.
15557 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
15558 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
15559 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
15560 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
15561 -I$(srcdir)/lib/libgcrypt_wrap.
15562 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
15563 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
15564 password_pbkdf2.mod.
15565 (crypto_mod_SOURCES): New variable.
15566 (crypto_mod_CFLAGS): Likewise.
15567 (crypto_mod_LDFLAGS): Likewise.
15568 (hashsum_mod_SOURCES): New variable.
15569 (hashsum_mod_CFLAGS): Likewise.
15570 (hashsum_mod_LDFLAGS): Likewise.
15571 (pbkdf2_mod_SOURCES): New variable.
15572 (pbkdf2_mod_CFLAGS): Likewise.
15573 (pbkdf2_mod_LDFLAGS): Likewise.
15574 (password_pbkdf2_mod_SOURCES): New variable.
15575 (password_pbkdf2_mod_CFLAGS): Likewise.
15576 (password_pbkdf2_mod_LDFLAGS): Likewise.
15577 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
15578 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
15579 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
15580 Include conf/gcry.rmk.
15581 * include/grub/auth.h: Rewritten.
15582 * include/grub/crypto.h: New file.
15583 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
15584 * include/grub/normal.h (read_crypto_list): New prototype.
15585 * lib/crypto.c: New file.
15586 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15587 * lib/pbkdf2.c: Likewise.
15588 * normal/auth.c (grub_auth_strcmp): Removed.
15589 (grub_iswordseparator): Likewise.
15590 (grub_auth_strword): Likewise.
15591 (is_authenticated): Use grub_strword.
15592 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
15593 and grub_strword. Pass entered password to authentication callback.
15594 * normal/crypto.c: New file.
15595 * normal/main.c: Call read_crypto_list.
15596 * util/grub-mkpasswd-pbkdf2.c: New file.
15597 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
15598
42841caa
VS
155992010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
15600
15601 Fix descent and ascent calculation.
15602
15603 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
15604 (options): New option "asce".
15605 (usage): Likewise.
15606 (add_char): Ignore invalid glyphs for descent calculation.
15607 Calculate ascent from actual content.
15608 (print_glyphs): Use 'asce'.
15609 (write_font): Likewise. Allow ascent override.
15610 (main): Handle "asce" option.
15611
e7730de7 156122010-01-06 Carles Pina i Estany <carles@pina.cat>
15613
15614 * kern/err.c: Include `<grub/i18n.h>'.
15615 (grub_print_error): Add full stop. Gettextizze.
15616 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
15617 (grub_bsd_load_elf): Capitalise ELF.
15618 (grub_cmd_freebsd_loadenv): Add `s' in error string.
15619 (grub_cmd_freebsd_module): Likewise.
15620 (grub_cmd_freebsd_module_elf): Likewise.
15621 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
15622
40e3a41f 156232010-01-06 Carles Pina i Estany <carles@pina.cat>
15624
15625 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
15626 * commands/search_file.c (HELP_MESSAGE): New macro.
15627 * commands/search_label.c (HELP_MESSAGE): Likewise.
15628 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
15629 * po/POTFILES: Add `commands/search_file.c',
15630 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
15631 `commands/search.c'.
15632
83507e68
RM
156332010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15634
15635 * config.rpath: Update from Gnulib.
15636
465c787b
YB
156372010-01-05 Yves Blusseau <blusseau@zetam.org>
15638
15639 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
15640
6581dd3a
YB
156412010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
15642
15643 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
15644
3bff18c5
CW
156452010-01-05 Colin Watson <cjwatson@ubuntu.com>
15646
15647 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
15648 arguments to fread so that we get a return value in bytes, rather
15649 than something that will normally be rounded down to 0.
15650 Adjust error handling to avoid producing garbage when size_t is not
15651 the same size as long long.
15652
a1368118
CW
156532010-01-05 Colin Watson <cjwatson@ubuntu.com>
15654
15655 * util/mkisofs/write.c (padblock_write): Check return value of
15656 fread.
15657
7c302978
RM
156582010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15659
15660 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
15661 floppy images now.
15662
15663 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
15664
e33ace06
RM
156652010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15666
15667 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
15668 instead of manual alignment.
15669 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
15670 verbose). Avoid attempts to read past end of the device
15671 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
15672 but GRUB_DISK_CACHE_SIZE may exceed that).
15673
4b856776
RM
156742010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15675
15676 * commands/crc.c (grub_cmd_crc): Abort on read errors.
15677 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
15678 it to upper layer.
15679
52c2d97f
VS
156802010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15681
15682 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
15683 New constant.
15684 (grub_efi_piwg_device_path): New structure
15685 (grub_efi_piwg_device_path_t): New type.
15686 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
15687 (devpath_1): Transform to a structure. All users updated.
15688 (devpath_2): Likewise.
15689 (devpath_3): Likewise.
15690 (devpath_4): Likewise.
15691 (devpath_5): Likewise.
15692
98ff6a54
VS
156932010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 * loader/efi/appleloader.c: Restored. Update all users.
15696
3a73dcb6
RM
156972010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15698
15699 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
15700
15701 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
15702 (struct boot_blocklist): Move from here ...
15703 * include/grub/i386/pc/boot.h [ASM_FILE]
15704 (struct grub_boot_blocklist): ... to here. Update all users.
15705 (setup): Only initialize `start' member of `first_block'
15706 structure. Add assert() calls to verify the other members.
15707
15708 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
15709 (generate_image): Fix broken blocklist length initialization.
15710 Add assert() call to verify blocklist `segment' field.
15711
ab0eeb0c
RM
157122010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15713
15714 * loader/efi/appleloader.c: Remove. Update all users.
15715
58bc8bd5
RM
157162010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15717
15718 * boot/i386/pc/boot.S: Update copyright year.
15719 * boot/i386/pc/cdboot.S: Likewise.
15720 * boot/i386/pc/diskboot.S: Likewise.
15721 * boot/i386/pc/lnxboot.S: Likewise.
15722 * boot/i386/pc/pxeboot.S: Likewise.
15723 * bus/pci.c: Likewise.
15724 * commands/cmp.c: Likewise.
15725 * commands/help.c: Likewise.
15726 * commands/hexdump.c: Likewise.
15727 * commands/i386/pc/halt.c: Likewise.
15728 * commands/i386/pc/play.c: Likewise.
15729 * commands/i386/pc/vbeinfo.c: Likewise.
15730 * commands/ls.c: Likewise.
15731 * commands/test.c: Likewise.
15732 * disk/dmraid_nvidia.c: Likewise.
15733 * disk/i386/pc/biosdisk.c: Likewise.
15734 * disk/ieee1275/nand.c: Likewise.
15735 * disk/ieee1275/ofdisk.c: Likewise.
15736 * disk/lvm.c: Likewise.
15737 * disk/raid.c: Likewise.
15738 * disk/raid6_recover.c: Likewise.
15739 * disk/scsi.c: Likewise.
15740 * fs/affs.c: Likewise.
15741 * fs/cpio.c: Likewise.
15742 * fs/ext2.c: Likewise.
15743 * fs/hfs.c: Likewise.
15744 * fs/iso9660.c: Likewise.
15745 * fs/ntfs.c: Likewise.
15746 * fs/sfs.c: Likewise.
15747 * fs/udf.c: Likewise.
15748 * fs/ufs.c: Likewise.
15749 * fs/xfs.c: Likewise.
15750 * gencmdlist.sh: Likewise.
15751 * genmk.rb: Likewise.
15752 * include/grub/disk.h: Likewise.
15753 * include/grub/efi/api.h: Likewise.
15754 * include/grub/efi/efi.h: Likewise.
15755 * include/grub/efi/pe32.h: Likewise.
15756 * include/grub/elf.h: Likewise.
15757 * include/grub/fs.h: Likewise.
15758 * include/grub/i386/at_keyboard.h: Likewise.
15759 * include/grub/i386/pc/memory.h: Likewise.
15760 * include/grub/i386/pc/vbe.h: Likewise.
15761 * include/grub/i386/pci.h: Likewise.
15762 * include/grub/i386/tsc.h: Likewise.
15763 * include/grub/ieee1275/ieee1275.h: Likewise.
15764 * include/grub/ntfs.h: Likewise.
15765 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
15766 * include/grub/sparc64/libgcc.h: Likewise.
15767 * include/grub/symbol.h: Likewise.
15768 * include/grub/types.h: Likewise.
15769 * include/multiboot2.h: Likewise.
15770 * io/gzio.c: Likewise.
15771 * kern/device.c: Likewise.
15772 * kern/disk.c: Likewise.
15773 * kern/efi/efi.c: Likewise.
15774 * kern/efi/mm.c: Likewise.
15775 * kern/elf.c: Likewise.
15776 * kern/file.c: Likewise.
15777 * kern/i386/dl.c: Likewise.
15778 * kern/i386/pc/init.c: Likewise.
15779 * kern/i386/pc/startup.S: Likewise.
15780 * kern/ieee1275/ieee1275.c: Likewise.
15781 * kern/ieee1275/init.c: Likewise.
15782 * kern/main.c: Likewise.
15783 * kern/mm.c: Likewise.
15784 * kern/powerpc/dl.c: Likewise.
15785 * kern/sparc64/dl.c: Likewise.
15786 * kern/x86_64/dl.c: Likewise.
15787 * lib/hexdump.c: Likewise.
15788 * loader/efi/appleloader.c: Likewise.
15789 * loader/i386/ieee1275/linux.c: Likewise.
15790 * loader/i386/pc/chainloader.c: Likewise.
15791 * loader/i386/pc/linux.c: Likewise.
15792 * loader/i386/pc/multiboot2.c: Likewise.
15793 * loader/ieee1275/multiboot2.c: Likewise.
15794 * loader/multiboot2.c: Likewise.
15795 * loader/multiboot_loader.c: Likewise.
15796 * loader/powerpc/ieee1275/linux.c: Likewise.
15797 * normal/completion.c: Likewise.
15798 * normal/menu_entry.c: Likewise.
15799 * partmap/apple.c: Likewise.
15800 * util/grub.d/10_hurd.in: Likewise.
15801 * util/hostfs.c: Likewise.
15802 * video/readers/png.c: Likewise.
15803
e2d70b5c
CW
158042010-01-03 Colin Watson <cjwatson@ubuntu.com>
15805
15806 * include/grub/misc.h (GNUC_PREREQ): New macro.
15807 (ATTRIBUTE_ERROR): New macro.
15808 * include/grub/list.h (grub_bad_type_cast_real): Use
15809 ATTRIBUTE_ERROR.
15810
a173283f 158112010-01-03 Carles Pina i Estany <carles@pina.cat>
15812
15813 * normal/menu_text.c (print_message): Change messages.
15814
7fa7ff74 158152010-01-03 Carles Pina i Estany <carles@pina.cat>
15816
15817 * normal/menu_entry.c (store_completion): Gettextizze.
15818
136d24f6 158192010-01-03 Carles Pina i Estany <carles@pina.cat>
15820
15821 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
15822
f936862e 158232010-01-03 Carles Pina i Estany <carles@pina.cat>
15824
15825 * po/POTFILES: Sort correctly.
15826
29c44ad1 158272010-01-03 Carles Pina i Estany <carles@pina.cat>
15828
15829 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
15830 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
15831 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
15832 full stop.
15833 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
15834 summary. Gettextizze the strings.
15835 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
15836 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
15837 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
15838 full stop.
15839 (GRUB_MOD_INIT): Remove command name from summary.
15840 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
15841 summary.
15842 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
15843 * term/i386/pc/serial.c (options): Add full stops.
15844 (GRUB_MOD_INIT): Remove command name from the summary.
15845
77a79592 158462010-01-03 Carles Pina i Estany <carles@pina.cat>
15847
15848 * commands/acpi.c: Gettextizze help strings and/or options. Include
15849 `grub/i18n.h' if needed.
15850 * commands/blocklist.c: Likewise.
15851 * commands/boot.c: Likewise.
15852 * commands/cat.c: Likewise.
15853 * commands/cmp.c: Likewise.
15854 * commands/configfile.c: Likewise.
15855 * commands/crc.c: Likewise.
15856 * commands/date.c: Likewise.
15857 * commands/echo.c: Likewise.
15858 * commands/efi/fixvideo.c: Likewise.
15859 * commands/efi/loadbios.c: Likewise.
15860 * commands/gptsync.c: Likewise.
15861 * commands/halt.c: Likewise.
15862 * commands/handler.c: Likewise.
15863 * commands/hdparm.c: Likewise.
15864 * commands/hexdump.c: Likewise.
15865 * commands/i386/cpuid.c: Likewise.
15866 * commands/i386/pc/drivemap.c: Likewise.
15867 * commands/i386/pc/halt.c: Likewise.
15868 * commands/i386/pc/pxecmd.c: Likewise.
15869 * commands/i386/pc/vbeinfo.c: Likewise.
15870 * commands/i386/pc/vbetest.c: Likewise.
15871 * commands/ieee1275/suspend.c: Likewise.
15872 * commands/keystatus.c: Likewise.
15873 * commands/loadenv.c: Likewise.
15874 * commands/ls.c: Likewise.
15875 * commands/lsmmap.c: Likewise.
15876 * commands/lspci.c: Likewise.
15877 * commands/memrw.c: Likewise.
15878 * commands/minicmd.c: Likewise.
15879 * commands/parttool.c: Likewise.
15880 * commands/password.c: Likewise.
15881 * commands/probe.c: Likewise.
15882 * commands/read.c: Likewise.
15883 * commands/reboot.c: Likewise.
15884 * commands/search.c: Likewise.
15885 * commands/sleep.c: Likewise.
15886 * commands/test.c: Likewise.
15887 * commands/true.c: Likewise.
15888 * commands/usbtest.c: Likewise.
15889 * commands/videotest.c: Likewise.
15890 * commands/xnu_uuid.c: Likewise.
15891 * disk/loopback.c: Likewise.
15892 * hello/hello.c: Likewise.
15893 * loader/i386/bsd.c: Likewise.
15894 * term/i386/pc/serial.c: Likewise.
15895 * po/POTFILES: Add new files.
15896
da8d5c53
CW
158972010-01-02 Colin Watson <cjwatson@ubuntu.com>
15898
15899 * term/i386/pc/at_keyboard.c
15900 (keyboard_controller_wait_untill_ready): Rename to ...
15901 (keyboard_controller_wait_until_ready): ... this. Update all users.
15902
33937904 159032010-01-01 Carles Pina i Estany <carles@pina.cat>
15904
15905 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
15906 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
15907 string using string width.
15908 * normal/menu_text.c (grub_print_message_indented): Use
15909 grub_print_spaces and not print_spaces.
15910 (print_timeout): Likewise.
15911 (print_spaces): Move to...
15912 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
15913
3fd3b8d8
RM
159142010-01-01 Robert Millan <rmh.grub@aybabtu.com>
15915
15916 Import from Gnulib.
15917
15918 * gnulib/getdelim.c: New file.
15919 * gnulib/getline.c: Likewise.
15920
33433555
VS
159212009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
15922
15923 * include/grub/list.h (grub_assert_fail): Removed.
15924 (grub_bad_type_cast_real): New function.
15925 (grub_bad_type_cast): New macro.
15926 (GRUB_AS_LIST): Use grub_bad_type_cast.
15927 (GRUB_AS_LIST_P): Likewise.
e44721e8 15928 (GRUB_AS_NAMED_LIST): Likewise.
33433555 15929 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 15930 (GRUB_AS_PRIO_LIST): Likewise.
33433555 15931 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 15932 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 15933
f5a51306
VS
159342009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
15937 Fix syntax error.
15938
90d1e879
RM
159392009-12-29 Robert Millan <rmh.grub@aybabtu.com>
15940
15941 * configure.ac: Check for TARGET_CFLAGS initialization before we
15942 initialize it ourselves (sigh).
15943 Move a few modifications to TARGET_CFLAGS to be unconditional
15944 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
15945 eh_frame)
15946
15947 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
15948 * term/i386/pc/at_keyboard.c
15949 (keyboard_controller_wait_untill_ready): Likewise.
15950 (keyboard_controller_led): Rename `led_status' paramter to avoid
15951 name conflict.
15952
465b5a81 159532009-12-28 Carles Pina i Estany <carles@pina.cat>
15954
15955 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
15956 quotes.
15957
c181849b
VS
159582009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
15961
9c8739a4
VS
159622009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 * normal/menu_text.c (grub_print_message_indented): Prevent
15965 past-the-end-of-array dereference.
15966
3e74249c
VS
159672009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
15970 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
15971
64fd18ed 159722009-12-27 Carles Pina i Estany <carles@pina.cat>
15973
15974 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
15975 * normal/main.c (grub_normal_read_line): Remove a space from the
15976 default prompt.
15977
714af9b9 159782009-12-27 Carles Pina i Estany <carles@pina.cat>
15979
15980 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
15981 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15982 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
15983 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
15984 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15985 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15986 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15987
82f3e412 159882009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 15989
15990 * video/readers/jpeg.c (cmd): Declare.
15991 (grub_cmd_jpegtest): Use `grub_command_t' type.
15992 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15993 Assign to `cmd'.
15994 (GRUB_MOD_FINI): Use `cmd' to unregister.
15995 * video/readers/png.c (cmd): Declare.
15996 (grub_cmd_pngtest): Use `grub_command_t' type.
15997 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15998 Assign to `cmd'.
15999 (GRUB_MOD_FINI): Use `cmd' to unregister.
16000 * video/readers/tga.c (cmd): Declare.
16001 (grub_cmd_tgatest): Use `grub_command_t' type.
16002 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16003 Assign to `cmd'.
16004 (GRUB_MOD_FINI): Use `cmd' to unregister.
16005
82f3e412 160062009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 16007
16008 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
16009 stops.
16010 * kern/corecmd.c (grub_register_core_commands): Likewise.
16011 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
16012 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16013 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
16014 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16015 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16016 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
16017 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16018 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
16019 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16020 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16021 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16022 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16023 * normal/handler.c (insert_handler): Likewise.
16024 * normal/main.c (GRUB_MOD_INIT): Likewise.
16025 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16026
fdcdbb66 160272009-12-26 Carles Pina i Estany <carles@pina.cat>
16028
16029 * commands/help.c (grub_cmd_help): Print the command name before the
16030 summary.
16031 (GRUB_MOD_INIT): Remove command name from the summary.
16032 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 16033 string as summary.
fdcdbb66 16034 * lib/arg.c (find_long): Print the command name before the summary.
16035 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
16036 summary.
16037 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
16038 * commands/cat.c (GRUB_MOD_INIT): Likewise.
16039 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
16040 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
16041 * commands/crc.c (GRUB_MOD_INIT): Likewise.
16042 * commands/date.c (GRUB_MOD_INIT): Likewise.
16043 * commands/echo.c (GRUB_MOD_INIT): Likewise.
16044 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
16045 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16046 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16047 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
16048 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
16049 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
16050 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
16051 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16052 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
16053 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
16054 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
16055 * commands/ls.c (GRUB_MOD_INIT): Likewise.
16056 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16057 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16058 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16059 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
16060 * commands/password.c (GRUB_MOD_INIT): Likewise.
16061 * commands/probe.c (GRUB_MOD_INIT): Likewise.
16062 * commands/read.c (GRUB_MOD_INIT): Likewise.
16063 * commands/search.c (GRUB_MOD_INIT): Likewise.
16064 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
16065 * commands/test.c (GRUB_MOD_INIT): Likewise.
16066 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
16067 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16068 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16069 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
16070 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16071 * lib/arg.c (GRUB_MOD_INIT): Likewise.
16072 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
16073 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16074 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16075 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16076 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16077 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
16078 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
16079 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
16080
9c288be2
VS
160812009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 Use search command for preliminar UUID search.
16084
16085 * commands/search.c: Split into ...
16086 * commands/search_wrap.c: ...this
16087 * commands/search.c: ...and this.
16088 * commands/search_file.c: New file.
16089 * commands/search_label.c: New file.
16090 * commands/search_uuid.c: New file.
16091 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
16092 Add commands/search_wrap.c, commands/search_file.c,
16093 commands/search_label.c and commands/search_uuid.c.
16094 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
16095 (search_mod_SOURCES): Set to commands/search_wrap.c.
16096 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
16097 search_label.mod.
16098 (search_fs_file_mod_SOURCES): New variable.
16099 (search_fs_file_mod_CFLAGS): Likewise.
16100 (search_fs_file_mod_LDFLAGS): Likewise.
16101 (search_label_mod_SOURCES): Likewise.
16102 (search_label_mod_CFLAGS): Likewise.
16103 (search_label_mod_LDFLAGS): Likewise.
16104 (search_fs_uuid_mod_SOURCES): New variable.
16105 (search_fs_uuid_mod_CFLAGS): Likewise.
16106 (search_fs_uuid_mod_LDFLAGS): Likewise.
16107 (fs_file_mod_SOURCES): Removed.
16108 (fs_file_mod_CFLAGS): Likewise.
16109 (fs_file_mod_LDFLAGS): Likewise.
16110 (fs_uuid_mod_SOURCES): Removed.
16111 (fs_uuid_mod_CFLAGS): Likewise.
16112 (fs_uuid_mod_LDFLAGS): Likewise.
16113 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
16114 Set to util/grub-install.in.
16115 * disk/fs_file.c: Removed.
16116 * disk/fs_uuid.c: Likewise.
16117 * include/grub/search.h: New file.
16118 * util/grub-install.in: Handle sparc64.
16119 Create and use load.cfg.
16120 * util/sparc64/ieee1275/grub-install.in: Removed.
16121
db943399
VS
161222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
16125 Ignore return status if CF is cleared.
16126 (grub_biosdisk_get_diskinfo_standard): Likewise.
16127
3fdae612
RM
161282009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16129
16130 * term/i386/pc/at_keyboard.c
16131 (keyboard_controller_wait_untill_ready): New function.
16132 (grub_keyboard_controller_write, grub_keyboard_controller_read)
16133 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
16134 for keyboard polling, rather than duplicate the same loop. This
16135 saves a few bytes in code size.
16136
7ebaa2b4
VS
161372009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16138
16139 Support for (pxe[:server[:gateway]]) syntax and
16140 use environment variable for PXE.
16141
16142 * commands/i386/pc/pxecmd.c (options): Removed.
16143 (print_ip): Removed.
16144 (grub_cmd_pxe): Removed
16145 (grub_cmd_pxe_unload): New function.
16146 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
16147 (grub_pxe_your_ip): Made static.
16148 (grub_pxe_default_server_ip): Likewise.
16149 (grub_pxe_default_gateway_ip): Likewise.
16150 (grub_pxe_blksize): Likewise.
16151 (parse_ip): New function.
16152 (grub_pxe_open): Support server and gateway specification.
16153 (grub_pxe_close): Free disk->data.
16154 (grub_pxefs_open): Use disk->data.
16155 (grub_pxefs_read): Likewise.
16156 (grub_env_write_readonly): New function.
16157 (set_mac_env): Likewise.
16158 (set_env_limn_ro): Likewise.
16159 (parse_dhcp_vendor): Likewise.
16160 (grub_pxe_detect): Set the environment variables.
16161 (set_ip_env): New function.
16162 (write_ip_env): Likewise.
16163 (grub_env_write_pxe_default_server): Likewise.
16164 (grub_env_write_pxe_default_gateway): Likewise.
16165 (grub_env_write_pxe_blocksize): Likewise.
16166 (GRUB_MOD_INIT(pxe)): Set environment variables.
16167 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
16168 (grub_pxe_mac_addr_t): ... this. All users updated.
16169 (grub_pxe_your_ip): Removed.
16170 (grub_pxe_server_ip): Likewise.
16171 (grub_pxe_gateway_ip): Likewise.
16172 (grub_pxe_blksize): Likewise.
16173
ec5f98ab 161742009-12-25 Carles Pina i Estany <carles@pina.cat>
16175
16176 * commands/help.c: Include `<grub/i18n.h>'.
16177 (grub_cmd_help): Gettextizze.
16178 (GRUB_MOD_INIT): Likewise.
16179 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
16180 (GRUB_MOD_INIT): Gettextizze.
16181 * commands/search.c: Include `<grub/i18n.h>'.
16182 (options): Gettextizze.
16183 (GRUB_MOD_INIT): Gettextizze.
16184 * lib/arg.c: Include `<grub/i18n.h>'.
16185 (help_options): Gettextizze.
16186 (find_long): Likewise.
16187 (grub_arg_show_help): Likewise.
16188 * normal/dyncmd.c: Include `<grub/i18n.h>'.
16189 (read_command_list): Gettextizze.
16190 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 16191 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 16192
22815526
RM
161932009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16194
16195 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
16196 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
16197 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
16198 (led_status): New variable.
16199 (keyboard_controller_led): New function.
16200 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
16201 update led status for caps lock, num lock and scroll lock.
16202
0ad46fd7
FZ
162032009-12-25 Felix Zielcke <fzielcke@z-51.de>
16204
16205 * util/hostdisk.c (open_device): Fix a comment.
16206
d0e158c2
RM
162072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16208
16209 * util/grub-install.in (host_os): New variable.
16210 * util/i386/efi/grub-install.in (host_os): Likewise.
16211
401c0ad6
RM
162122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16213
16214 * util/mkisofs/write.c (padblock_write): Abort when given an
16215 excedingly large embed image, instead of silently truncating it.
16216
d14d3370
RM
162172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16218
16219 * include/multiboot.h: Indentation fixes.
16220
eeed10b4
RM
162212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16222
16223 * include/multiboot.h (struct multiboot_aout_symbol_table)
16224 (struct multiboot_elf_section_header_table): New structure
16225 declarations (stolen from GRUB Legacy).
16226 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
16227 table information.
16228
16229 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
16230 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
16231 type aliases.
16232
681c70ab
RM
162332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16234
16235 * include/multiboot.h: Make comments src2texi-friendly.
16236
e4d47d8d
RM
162372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16238
16239 For consistency with [multiboot]/docs/boot.S.
16240
16241 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
16242 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
16243 (MULTIBOOT_MAGIC2): Rename from this ...
16244 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
16245
a0b70bda
RM
162462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16247
16248 * include/multiboot.h: Remove `<grub/types.h>'.
16249 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
16250 types. Update all users.
16251
61ba42be 162522009-12-25 Carles Pina i Estany <carles@pina.cat>
16253
16254 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
16255 `couldn't' and `can not' by `cannot'.
16256 * commands/i386/pc/drivemap.c: Likewise.
16257 * disk/ata.c: Likewise.
16258 * disk/ieee1275/nand.c: Likewise.
16259 * fs/affs.c: Likewise.
16260 * fs/fat.c: Likewise.
16261 * fs/hfs.c: Likewise.
16262 * fs/hfsplus.c: Likewise.
16263 * fs/iso9660.c: Likewise.
16264 * fs/jfs.c: Likewise.
16265 * fs/minix.c: Likewise.
16266 * fs/reiserfs.c: Likewise.
16267 * fs/sfs.c: Likewise.
16268 * fs/udf.c: Likewise.
16269 * fs/ufs.c: Likewise.
16270 * fs/xfs.c: Likewise.
16271 * loader/powerpc/ieee1275/linux.c: Likewise.
16272 * loader/sparc64/ieee1275/linux.c: Likewise.
16273 * util/grub-probe.c: Likewise.
16274 * util/misc.c: Likewise.
16275
7fd0baee 162762009-12-24 Carles Pina i Estany <carles@pina.cat>
16277
16278 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
16279 grub_errno calls.
16280 * commands/acpi.c: Likewise.
16281 * commands/blocklist.c: Likewise.
16282 * commands/efi/loadbios.c: Likewise.
16283 * commands/i386/pc/drivemap.c: Likewise.
16284 * commands/loadenv.c: Likewise.
16285 * commands/memrw.c: Likewise.
16286 * commands/password.c: Likewise.
16287 * commands/videotest.c: Likewise.
16288 * disk/ata.c: Likewise.
16289 * disk/ata_pthru.c: Likewise.
16290 * disk/dmraid_nvidia.c: Likewise.
16291 * disk/ieee1275/nand.c: Likewise.
16292 * disk/ieee1275/ofdisk.c: Likewise.
16293 * disk/loopback.c: Likewise.
16294 * disk/lvm.c: Likewise.
16295 * disk/mdraid_linux.c: Likewise.
16296 * disk/raid.c: Likewise.
16297 * disk/raid6_recover.c: Likewise.
16298 * disk/scsi.c: Likewise.
16299 * efiemu/main.c: Likewise.
16300 * efiemu/mm.c: Likewise.
16301 * efiemu/pnvram.c: Likewise.
16302 * efiemu/symbols.c: Likewise.
16303 * font/font.c: Likewise.
16304 * fs/cpio.c: Likewise.
16305 * fs/hfsplus.c: Likewise.
16306 * fs/iso9660.c: Likewise.
16307 * fs/jfs.c: Likewise.
16308 * fs/minix.c: Likewise.
16309 * fs/ntfs.c: Likewise.
16310 * fs/ntfscomp.c: Likewise.
16311 * fs/reiserfs.c: Likewise.
16312 * fs/ufs.c: Likewise.
16313 * fs/xfs.c: Likewise.
16314 * gettext/gettext.c: Likewise.
16315 * include/grub/auth.h: Likewise.
16316 * kern/elf.c: Likewise.
16317 * kern/file.c: Likewise.
16318 * kern/ieee1275/init.c: Likewise.
16319 * kern/ieee1275/mmap.c: Likewise.
16320 * kern/ieee1275/openfw.c: Likewise.
16321 * kern/powerpc/dl.c: Likewise.
16322 * kern/sparc64/dl.c: Likewise.
16323 * lib/arg.c: Likewise.
16324 * loader/i386/bsd.c: Likewise.
16325 * loader/i386/bsdXX.c: Likewise.
16326 * loader/i386/efi/linux.c: Likewise.
16327 * loader/i386/efi/xnu.c: Likewise.
16328 * loader/i386/ieee1275/linux.c: Likewise.
16329 * loader/i386/linux.c: Likewise.
16330 * loader/i386/multiboot.c: Likewise.
16331 * loader/i386/pc/linux.c: Likewise.
16332 * loader/i386/pc/multiboot2.c: Likewise.
16333 * loader/i386/xnu.c: Likewise.
16334 * loader/ieee1275/multiboot2.c: Likewise.
16335 * loader/macho.c: Likewise.
16336 * loader/machoXX.c: Likewise.
16337 * loader/multiboot2.c: Likewise.
16338 * loader/multiboot_loader.c: Likewise.
16339 * loader/powerpc/ieee1275/linux.c: Likewise.
16340 * loader/sparc64/ieee1275/linux.c: Likewise.
16341 * loader/xnu.c: Likewise.
16342 * loader/xnu_resume.c: Likewise.
16343 * mmap/i386/pc/mmap.c: Likewise.
16344 * normal/menu_viewer.c: Likewise.
16345 * partmap/acorn.c: Likewise.
16346 * partmap/amiga.c: Likewise.
16347 * partmap/apple.c: Likewise.
16348 * script/lexer.c: Likewise.
16349 * term/gfxterm.c: Likewise.
16350 * term/i386/pc/serial.c: Likewise.
16351 * term/i386/pc/vga.c: Likewise.
16352 * term/ieee1275/ofconsole.c: Likewise.
16353 * term/terminfo.c: Likewise.
16354 * video/bitmap.c: Likewise.
16355 * video/efi_gop.c: Likewise.
16356 * video/efi_uga.c: Likewise.
16357 * video/fb/video_fb.c: Likewise.
16358 * video/i386/pc/vbe.c: Likewise.
16359 * video/readers/tga.c: Likewise.
16360 * video/video.c: Likewise.
16361
0ad46fd7 163622009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
16363
16364 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
16365 * commands/lspci.c: Likewise.
16366 * commands/probe.c: Likewise.
16367 * commands/xnu_uuid.c: Likewise.
16368 * conf/i386-coreboot.rmk: Likewise.
16369 * conf/i386-efi.rmk: Likewise.
16370 * conf/i386-ieee1275.rmk: Likewise.
16371 * conf/i386-pc.rmk: Likewise.
16372 * conf/powerpc-ieee1275.rmk: Likewise.
16373 * conf/sparc64-ieee1275.rmk: Likewise.
16374 * conf/x86_64-efi.rmk: Likewise.
16375 * fs/i386/pc/pxe.c: Likewise.
16376 * gettext/gettext.c: Likewise.
16377 * include/grub/efi/graphics_output.h: Likewise.
16378 * include/grub/i386/pc/memory.h: Likewise.
16379 * kern/env.c: Likewise.
16380 * kern/i386/qemu/startup.S: Likewise.
16381 * lib/i386/pc/biosnum.c: Likewise.
16382 * lib/i386/relocator.c: Likewise.
16383 * lib/i386/relocator_asm.S: Likewise.
16384 * lib/relocator.c: Likewise.
16385 * loader/i386/bsd.c: Likewise.
16386 * loader/i386/multiboot.c: Likewise.
16387 * loader/i386/pc/chainloader.c: Likewise.
16388 * loader/i386/xnu.c: Likewise.
16389 * loader/xnu.c: Likewise.
16390 * normal/main.c: Likewise.
16391 * normal/menu_text.c: Likewise.
16392 * util/getroot.c: Likewise.
16393 * util/grub-mkconfig_lib.in: Likewise.
16394 * util/grub.d/00_header.in: Likewise.
16395 * util/i386/pc/grub-mkimage.c: Likewise.
16396 * util/mkisofs/eltorito.c: Likewise.
16397 * util/mkisofs/exclude.h: Likewise.
16398 * util/mkisofs/hash.c: Likewise.
16399 * util/mkisofs/iso9660.h: Likewise.
16400 * util/mkisofs/joliet.c: Likewise.
16401 * util/mkisofs/mkisofs.c: Likewise.
16402 * util/mkisofs/mkisofs.h: Likewise.
16403 * util/mkisofs/multi.c: Likewise.
16404 * util/mkisofs/name.c: Likewise.
16405 * util/mkisofs/rock.c: Likewise.
16406 * util/mkisofs/tree.c: Likewise.
16407 * util/mkisofs/write.c: Likewise.
16408 * video/efi_gop.c: Likewise.
16409
009ec743
VS
164102009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
16411
16412 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
16413 size counting.
16414
0ad46fd7 164152009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
16416
16417 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
16418 * genmk.rb (class SCRIPT): Modify the target file instead of source.
16419
d3d30ea0
VS
164202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16421
16422 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
16423 (GRUB_MOD_INIT(memrw)): Update help line.
16424
a34f5c70
VS
164252009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16426
16427 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
16428 Use grub_extcmd_t. All users updated.
16429 (options): New variable.
16430 (grub_cmd_read): Restructure for readability. Support "-v" option.
16431 (grub_cmd_write): Restructure for readability.
16432
0ad46fd7 164332009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
16434
16435 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
16436
0ad46fd7 164372009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
16438
16439 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
16440 with the actual contents of the correspondending make variable.
16441 * util/grub-mkrescue.in (pkglib_DATA): New variable.
16442 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
16443 specifying `*.lst' and `efiemu??.o'
16444
0ad46fd7 164452009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
16446
16447 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
16448 after function name.
16449 Noticed by Rene Engelhard <rene@debian.org>.
16450
dc77a799
VS
164512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16452
16453 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
16454 (options): New variable.
16455 (iospace): Likewise.
16456 (grub_lspci_iter): List IO spaces if "-i" was given.
16457 (grub_cmd_lspci): Parse options.
16458 (GRUB_MOD_INIT(lspci)): Use extcmd.
16459 (GRUB_MOD_FINI(lspci)): Likewise.
16460
0ad46fd7 164612009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
16462
16463 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
16464 `function' keyword.
16465 Patch by Tony Mancill <tmancill@debian.org>.
16466
b5d5993b
VS
164672009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16468
16469 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
16470 (grub_uhci_portstatus): Likewise.
16471 (grub_uhci_portstatus): Add necessary delay.
11d18281 16472 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 16473
941903f2 164742009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 16475
941903f2 16476 * commands/acpi.c (options): Fix capitalizations and/or full stops.
16477 (GRUB_MOD_INIT): Likewise.
16478 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 16479 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
16480 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 16481 * commands/efi/loadbios.c (enable_rom_area): Likewise.
16482 (enable_rom_area): Likewise.
16483 (GRUB_MOD_INIT): Likewise.
16484 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16485 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
16486 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16487 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
16488 * commands/hexdump.c (options): Likewise.
16489 * commands/i386/cpuid.c (options): Likewise.
16490 (GRUB_MOD_INIT): Likewise.
16491 * commands/i386/pc/drivemap.c (options): Likewise.
16492 (GRUB_MOD_INIT): Likewise.
16493 * commands/i386/pc/halt (options): Likewise.
16494 (GRUB_MOD_INIT): Likewise.
16495 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16496 * commands/i386/pc/pxecmd.c (options): Likewise.
16497 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
16498 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
16499 * commands/keystatus.c (options): Likewise.
16500 (GRUB_MOD_INIT): Likewise.
16501 * commands/loadenv.c (options): Likewise.
16502 * commands/ls.c (options): Likewise.
16503 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16504 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16505 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16506 * commands/parttool.c (helpmsg): Likewise.
16507 * commands/probe.c (options): Likewise.
16508 * commands/read.c (GRUB_MOD_INIT): Likewise.
16509 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
16510 * commands/search.c (options): Likewise.
16511 * commands/sleep.c (options): Likewise.
16512 * commands/test.c (GRUB_MOD_INIT): Likewise.
16513 * commands/true.c (GRUB_MOD_INIT): Likewise.
16514 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
16515 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
16516 * lib/arg.c (help_options): Likewise.
e9bbb4e7 16517 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
16518 `$(XGETTEXT)'.
98a50553 16519 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 16520
0ad46fd7 165212009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 16522
ef3c2c3a 16523 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
16524 instead of specifying them explicit.
16525
7922f68b
RM
165262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16527
16528 * NEWS: Add grub-probe support for GNU/Hurd.
16529
537ce47f
RM
165302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16531
16532 * NEWS: gettext was added after 1.97.
16533
9b214e3a
RM
165342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16535
16536 * util/mkisofs/msdos_partition.h: New file (based on
16537 include/grub/msdos_partition.h).
16538 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
16539 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
16540 (ld_options, main): Recognize --protective-msdos-label.
16541 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
16542 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
16543 (padblock_write): If `use_protective_msdos_label' is set, patch a
16544 protective DOS-style label in the output image.
16545
16546 * util/grub-mkrescue.in: Use --protective-msdos-label.
16547
e9309813
RM
165482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16549
16550 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
16551 boot.
16552
0ae56929
RM
165532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16554
16555 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
16556 variables.
16557 (ld_options, main): Recognize `--embedded-boot'.
16558 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
16559 declarations.
16560 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
16561 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
16562 (padblock_write): Likewise. Rewrite to support embedded boot image.
16563
16564 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
16565 for BIOS-based disk boot instead of only ElTorito.
16566
b15937b1
RM
165672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16568
16569 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
16570 build (not needed for bootstrap).
16571
52cc3ce0
RM
165722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16573
16574 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
16575 from i386-pc build (not needed for bootstrap).
16576 Rewrite a pair of strings.
16577
36f5ff04
RM
165782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16579
16580 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
16581
973c6c85 165822009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
16583
16584 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
16585
05d21547
AB
165862009-12-21 Andreas Born <futur.andy@googlemail.com>
16587
16588 * kern/env.c (grub_env_context_open): Mark exported variable for
16589 reexport.
16590
0175d51f
AB
165912009-12-21 Andreas Born <futur.andy@googlemail.com>
16592
16593 * kern/env.c (grub_env_export): Create nonexistent variables before
16594 exporting.
16595
7f39d92f 165962009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 16597
7f39d92f 16598 * include/grub/auth.h: Include `<grub/i18n.h>'.
16599 (GRUB_GET_PASSWORD): Gettextizze string.
16600 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
16601 menu_text.c.
16602 (grub_utf8_to_ucs4_alloc): Fix indentation.
16603 (grub_print_ucs4): Likewise.
16604 (grub_getstringwidth): Likewise.
16605 (print_message_indented): New declaration.
16606 * normal/auth.c: Include `<grub/i18n.h>'.
16607 (grub_auth_check_authentication): Gettexttize string.
16608 * normal/cmdline.c: Include `<grub/i18n.h>'.
16609 (grub_cmdline_get): Gettextizze.
16610 * normal/color.c: Include `<grub/i18n.h>'.
16611 (grub_parse_color_name_pair): Gettexttize strings.
16612 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
16613 string (use `print_message_indented').
16614 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
16615 `include/grub/normal.h'.
16616 (print_message_indented): Renamed to ...
16617 (grub_print_message_indented): ... this. Remove `static' qualifer (now
16618 used in normal/main.c).
16619 (print_message): Use `grub_print_message_indented' instead of
16620 `print_message_indented'.
16621 (print_timeout): Likewise.
16622 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
16623 (grub_normal_print_device_info): Gettexttize strings.
16624 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
16625
3041d898
VS
166262009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
16629 of arguments. Return number of tokens and not arguments. All users
16630 updated.
16631
de15bf8e
VS
166322009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
16635 non-MSDOS paritions.
16636
e0a6ca52
VS
166372009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 * include/grub/types.h (UNUSED): Removed since it conflicts with
16640 NetBSD headers. All users changed to direct __attribute__ ((unused)).
16641 Reported by Grégoire Sutre.
16642
b99518d1 166432009-12-19 Carles Pina i Estany <carles@pina.cat>
16644
16645 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
16646 (grub_print_ucs4_alloc): Likewise.
16647 (grub_getstringwidth): Likewise.
16648 * normal/main.c (grub_normal_init_page): Gettextize version string.
16649 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
16650 (getstringwidth): Renamed to ...
16651 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
16652 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
16653 (grub_print_ucs4): Remove `static' qualifer (now used in
16654 normal/main.c).
16655 * po/POTFILES: Add normal/main.c.
16656
bfd5e52b 166572009-12-19 Carles Pina i Estany <carles@pina.cat>
16658
16659 * normal/menu_text.c (STANDARD_MARGIN): New macro.
16660 (print_message_indented): Add `margin_left' and `margin_right'
16661 parameters.
16662 (print_message): Update `print_message_indented' calls. Adds '\n' to the
16663 strings.
16664 (print_timeout): Use `print_message_indented' to print the message.
16665 Deletes `second_stage' parameter.
16666 (run_menu): Update `print_timeout' calls.
16667
5a1ad2b9
VS
166682009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 Fix console palette on OpenFirmware.
16671
16672 * term/ieee1275/ofconsole.c (MAX): Removed.
16673 (colors): Redone based on VGA palette.
16674 (grub_ofconsole_setcolor): Discard brightness bit since only 8
16675 colors are supported.
16676 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
16677
b045f00a
VS
166782009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16679
16680 Fix potential EfiEmu double prepare.
16681
16682 * efiemu/main.c (prepared): New variable
16683 (grub_efiemu_unload): Set prepare to '0'.
16684 (grub_efiemu_prepare): Return if already prepared. Set prepared.
16685
16686 set_virtual_address_map support.
16687
16688 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
16689 prototype.
16690 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
16691 prototype.
16692 (grub_efiemu_crc32): Likewise.
16693 (grub_efiemu_crc64): Likewise.
16694 (grub_efiemu_set_virtual_address_map): Likewise.
16695 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
16696 New definition.
16697 (grub_autoefi_set_virtual_address_map): Likewise.
16698 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
16699 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
16700 Restructure flow to accomodate it.
16701 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
16702 (grub_efiemu_crc): Recompute CRC32.
16703 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
16704 (efiemu_ptv_relocated): ... this. Made global. All users updated.
16705 * efiemu/symbols.c (relocated_handle): New variable.
16706 (grub_efiemu_free_syms): Free relocated_handle.
16707 (grub_efiemu_alloc_syms): Allocate relocated_handle.
16708 (grub_efiemu_write_sym_markers): New function.
16709 (grub_efiemu_set_virtual_address_map): Likewise.
16710
16711 Newer XNU parameters.
16712
16713 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
16714 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
16715 (grub_xnu_fill_devicetree): New prototype.
16716 (grub_xnu_heap_real_start): New variable.
16717 * loader/xnu.c (get_name_ptr): New function.
16718 (grub_xnu_load_driver): Fill namelen and name.
16719
16720 64-bit xnu support.
16721
16722 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
16723 and 'loader/macho64.c'.
16724 * conf/i386-pc.rmk: Likewise.
16725 * conf/x86_64-efi.rmk: Likewise.
16726 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
16727 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
16728 * include/grub/macho.h (grub_macho_segment64): New structure.
16729 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
16730 (grub_macho_size32): ... to this.
16731 (grub_macho32_get_entry_point): Renamed from ...
16732 (grub_macho_get_entry_point32): ... to this.
16733 (grub_macho_contains_macho64): New prototype.
16734 (grub_macho_size64): Likewise.
16735 (grub_macho_get_entry_point64): Likewise.
16736 (grub_macho32_load): Renamed from ...
16737 (grub_macho_load32): ... to this.
16738 (grub_macho32_filesize): Renamed from ...
16739 (grub_macho_filesize32): ... to this.
16740 (grub_macho32_readfile): Renamed from ...
16741 (grub_macho_readfile32): ... to this.
16742 (grub_macho_filesize64): New prototype.
16743 (grub_macho_readfile64): Likewise.
16744 (grub_macho_parse32): Likewise.
16745 (grub_macho_parse64): Likewise.
16746 * loader/macho.c: Split into ...
16747 * loader/machoXX.c: ... and this. Replace 32 with XX.
16748 * loader/macho32.c: New file.
16749 * loader/macho64.c: Likewise.
16750 * loader/xnu.c (grub_xnu_is_64bit): New variable.
16751 (grub_cmd_xnu_kernel): Make 32-bit only.
16752 (grub_cmd_xnu_kernel64): New function.
16753 (grub_xnu_load_driver): Support Mach-O 64.
16754 (grub_cmd_xnu_mkext): Likewise.
16755 * util/grub.d/30_os-prober.in (osx_entry): New function.
16756 Generate entries for 64-bit boot too.
16757
16758 Eliminate ad-hoc tree format in XNU and EfiEmu.
16759
16760 * efiemu/main.c (grub_efiemu_prepare): Update comment.
16761 * efiemu/pnvram.c: Rewritten to use environment variables.
16762 All users updated.
16763
16764 Inline utf16_to_utf8.
16765
16766 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
16767 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
16768 All users updated.
16769 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
16770
16771 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
16772 * commands/usbtest.c (grub_usb_get_string): ... move here.
16773 (usb_print_str): Fix error handling.
16774 * include/grub/usb.h (grub_usb_get_string): Remove.
16775
16776 UTF-8 to UTF-16 transformation.
16777
16778 * conf/common.rmk (pkglib_MODULES): Add charset.mod
16779 (charset_mod_SOURCES): New variable.
16780 (charset_mod_CFLAGS): Likewise.
16781 (charset_mod_LDFLAGS): Likewise.
16782 * include/grub/utf.h: New file.
16783 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
16784
16785 Support for device properties.
16786
16787 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
16788 (grub_xnu_devprop_device_header): Likewise.
16789 (grub_xnu_devprop_device_descriptor): Likewise.
16790 (grub_xnu_devprop_add_device): New prototype.
16791 (grub_xnu_devprop_remove_device): Likewise.
16792 (grub_xnu_devprop_remove_property): Likewise.
16793 (grub_xnu_devprop_add_property_utf8): Likewise.
16794 (grub_xnu_devprop_add_property_utf16): Likewise.
16795 (grub_cpu_xnu_init): Likewise.
16796 (grub_cpu_xnu_fini): Likewise.
16797 (grub_cpu_xnu_unload): Likewise.
16798 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
16799 (property_descriptor): Likewise.
16800 (devices): New variable.
16801 (grub_xnu_devprop_remove_property): New function.
16802 (grub_xnu_devprop_add_device): Likewise.
16803 (grub_xnu_devprop_remove_device): Likewise.
16804 (grub_xnu_devprop_add_property): Likewise.
16805 (grub_xnu_devprop_add_property_utf8): Likewise.
16806 (grub_xnu_devprop_add_property_utf16): Likewise.
16807 (hextoval): Likewise.
16808 (grub_cpu_xnu_fill_devprop): Likewise.
16809 (grub_cmd_devprop_load): Likewise.
16810 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
16811 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
16812 (cmd_devprop_load): New variable.
16813 (grub_cpu_xnu_init): New function.
16814 (grub_cpu_xnu_fini): Likewise.
16815 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
16816 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
16817 (grub_cmd_xnu_devtree): Likewise.
16818 (hextoval): New function.
16819 (unescape): Likewise.
16820 (grub_xnu_fill_devicetree): Likewise.
16821
16822 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
16823 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
16824
0945f181
VS
168252009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 Workaround for broken ATI VBE.
16828
16829 * video/i386/pc/vbe.c (last_set_mode): New variable.
16830 (grub_vbe_set_video_mode): Set 'last_set_mode'.
16831 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
16832 (grub_video_vbe_setup): Don't check for reserved flag.
16833
0ad46fd7 168342009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
16835
16836 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
16837 the `find' command.
16838
c179ebe4
VS
168392009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 UUID support for HFS.
16842
16843 * fs/hfs.c (grub_hfs_uuid): New function.
16844 (grub_hfs_fs): New value .uuid.
16845 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
16846
0ad46fd7 168472009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
16848
16849 Fix a segfault with parsing unknown long options.
16850
16851 * util/grub-mkrelpath.c (options): Zero terminate it.
16852
c4a3e41a
CPE
168532009-12-13 Carles Pina i Estany <carles@pina.cat>
16854
16855 * include/grub/misc.h (grub_puts): New declaration.
16856 (grub_puts_): Likewise.
a22008a6 16857 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
16858 (grub_puts_): Likewise.
16859
2e8a7602
RM
168602009-12-13 Robert Millan <rmh.grub@aybabtu.com>
16861
16862 * util/grub-probe.c (probe): Improve error message.
16863
b50b77b9
RM
168642009-12-13 Robert Millan <rmh.grub@aybabtu.com>
16865
16866 * loader/i386/multiboot_elfxx.c
16867 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
16868 initialization.
16869
168702009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16871
16872 Relocator framework
16873
16874 * loader/i386/xnu_helper.S: Removed. All users updated.
16875 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
16876 (relocator_mod_SOURCES): New variable.
16877 (relocator_mod_CFLAGS): Likewise.
16878 (relocator_mod_LDFLAGS): Likewise.
16879 (relocator_mod_ASFLAGS): Likewise.
16880 * conf/x86_64.rmk: Likewise.
16881 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
16882 (grub_multiboot_payload_entry_offset): Likewise.
16883 (grub_multiboot_forward_relocator): Likewise.
16884 (grub_multiboot_forward_relocator_end): Likewise.
16885 (grub_multiboot_backward_relocator): Likewise.
16886 (grub_multiboot_backward_relocator_end): Likewise.
16887 (grub_multiboot_payload_eip): New variable.
16888 (grub_multiboot_payload_orig): Likewise.
16889 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
16890 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
16891 * include/grub/i386/memory.h
16892 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
16893 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
16894 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
16895 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
16896 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
16897 * include/grub/i386/relocator.h: New file.
16898 * include/grub/x86_64/relocator.h: Likewise.
16899 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
16900 (XNU_RELOCATOR): New macro.
16901 (grub_xnu_launcher_start): Remove.
16902 (grub_xnu_launcher_end): Likewise.
16903 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
16904 (grub_xnu_heap_real_start): Remove.
16905 (grub_xnu_heap_start): Change to void *. All users updated.
16906 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
16907 * lib/i386/relocator.c: New file.
16908 * lib/i386/relocator_asm.S: Likewise.
16909 * lib/i386/relocator_backward.S: Likewise.
16910 * lib/mips/relocator.c: Likewise.
16911 * lib/mips/relocator_asm.S: Likewise.
16912 * lib/relocator.c: Likewise.
16913 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
16914 (entry): Removed.
16915 (playground): Likewise.
16916 (grub_multiboot_payload_orig): New variable.
16917 (grub_multiboot_payload_dest): Likewise.
16918 (grub_multiboot_payload_size): Likewise.
16919 (grub_multiboot_payload_eip): Likewise.
16920 (grub_multiboot_payload_esp): Likewise.
16921 (grub_multiboot_boot): Use grub_relocator32_boot.
16922 (grub_multiboot_unload): Free relocators.
16923 (grub_multiboot): Setup stack. Use relocators.
16924 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
16925 (grub_multiboot_load_elfXX): Use relocators.
16926 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
16927 (grub_multiboot_payload_size): Likewise.
16928 (grub_multiboot_payload_dest): Likewise.
16929 (grub_multiboot_payload_entry_offset): Likewise.
16930 (grub_multiboot_forward_relocator): Likewise.
16931 (grub_multiboot_backward_relocator): Likewise.
16932 (grub_multiboot_real_boot): Likewise.
16933 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
16934 (grub_xnu_entry_point): Likewise.
16935 (grub_xnu_arg1): Likewise.
16936 (grub_xnu_stack): Likewise.
16937 (grub_xnu_launch): Removed.
16938 (grub_xnu_boot_resume): New function.
16939 (grub_xnu_boot): Use relocators.
16940 * loader/i386/xnu_helper.S: Removed.
16941 * loader/xnu.c (grub_xnu_heap_start): New variable.
16942 (grub_xnu_heap_size): Likewise.
16943 (grub_xnu_heap_malloc): Use relocators.
16944 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
16945
29eb90c6
VS
169462009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
16949 anything.
16950
31027430
CPE
169512009-12-13 Carles Pina i Estany <carles@pina.cat>
16952
16953 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
16954 GRUB_ERR_NONE before calling grub_env_set.
16955
dc0c71d9
RM
169562009-12-12 Robert Millan <rmh@aybabtu.com>
16957
16958 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
16959 * genmk.rb (video): New variable.
16960 (CLEANFILES, VIDEOFILES): Add #{video}.
16961 (#{video}): New target rule.
16962 * genvideolist.sh: New file.
16963 * Makefile.in (pkglib_DATA): Add video.lst.
16964 (video.lst): New target rule.
16965 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
16966 `video.lst'.
16967 * util/grub.d/30_os-prober.in: Replace `vbe' with
16968 ${GRUB_VIDEO_BACKEND}.
16969
2a4bfcf0
RM
169702009-12-11 Robert Millan <rmh.grub@aybabtu.com>
16971
16972 * THANKS: Add David Miller.
16973
2a3aa4d5
RM
169742009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
16975
16976 libpciaccess support.
16977
16978 * Makefile.in (LIBPCIACCESS): New variable.
16979 (enable_grub_emu_pci): Likewise.
16980 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
16981 util/pci.c and commands/lspci.c.
16982 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
16983 * configure.ac (grub-emu-pci): New option.
16984 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
16985 (grub_pci_device_unmap_range): Likewise.
16986 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
16987 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
16988 (grub_pci_address_t) [!GRUB_UTIL]: New type.
16989 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
16990 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
16991 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
16992 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
16993 * include/grub/pciutils.h: New file.
16994 * util/pci.c: Likewise.
16995
0ad46fd7 169962009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
16997
16998 * util/misc.c: Don't include <errno.h> twice.
16999
0ad46fd7 170002009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
17001
17002 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
17003 name in an error message.
17004 (grub_biosdisk_rw): Likewise.
17005
2e59983c
VS
170062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17007
17008 Eliminate NTFS 4Gib barrier.
17009
17010 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
17011 (read_run_data): Likewise.
17012 (grub_ntfs_read_run_list): Likewise.
17013 (grub_ntfs_read_block): Likewise.
17014 (grub_ntfs_iterate_dir): Likewise.
17015 (read_mft): Likewise.
17016 (read_data): Likewise.
17017 Use COM_LOG_LEN.
17018 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
17019 to avoid 64-bit division
17020 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
17021 (grub_ntfs_rlst): Use grub_disk_addr_t.
17022
71ee178a
VS
170232009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17024
17025 Eliminate grub-fstest 4Gib barrier.
17026
17027 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
17028 (read_file): Fix error reporting.
17029
2520d4b8
VS
170302009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17031
17032 Eliminate hexdump 4Gib barrier.
17033
17034 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
17035 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
17036
e1f27065
VS
170372009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
17040 Fixes amarsh bug.
17041
1a0f7f45
RM
170422009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
17043
17044 Remove miscellaneous files in distclean target.
17045
17046 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
17047
c631d9fb
CW
170482009-12-09 Colin Watson <cjwatson@ubuntu.com>
17049
17050 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
17051 if they're already set. This resolves the conflict between my
17052 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
17053 fixing the --grub-probe option again.
17054 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
17055 change on 2009-10-06, so that we now once again source
17056 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17057
7c7b6106
RM
170582009-12-08 Robert Millan <rmh.grub@aybabtu.com>
17059
17060 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
17061 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
17062 `util/devicemap.c'.
17063
e3069ec1
CPE
170642009-12-08 Carles Pina i Estany <carles@pina.cat>
17065
17066 * include/grub/misc.h (grub_printf_): New declaration.
17067 * kern/misc.c (grub_printf_): New definition.
17068 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
17069 instead of `grub_printf' and `_'.
17070 * normal/menu_entry.c (store_completion): Likewise.
17071 (run): Likewise.
17072 (grub_menu_entry_run): Likewise.
17073 * normal/menu_text.c (grub_wait_after_message): Likewise.
17074 (notify_booting): Likewise.
17075 (notify_fallback): Likewise.
17076 (notify_execution_failure): Likewise.
17077
d6ceebf1
CW
170782009-12-07 Colin Watson <cjwatson@ubuntu.com>
17079
17080 * configure.ac: Check for vasprintf.
17081 * util/misc.c (asprintf): Move allocation from here ...
17082 (vasprintf): ... to here. New function.
17083 (xasprintf): New function.
17084 * include/grub/util/misc.h (vasprintf, xasprintf): Add
17085 prototypes.
17086 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17087 * util/grub-mkfont.c (write_font): Likewise.
17088 * util/grub-probe.c (probe): Likewise.
17089 * util/hostdisk.c (make_device_name): Likewise.
17090
de6daa8b
DM
170912009-12-06 David S. Miller <davem@sunset.davemloft.net>
17092
17093 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
17094 anything even prefixed with 'cdrom' as a cdrom.
17095
0ad46fd7 170962009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
17097
17098 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
17099 mount points.
17100
98d3dc02
CPE
171012009-12-05 Carles Pina i Estany <carles@pina.cat>
17102
17103 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
17104 grub_gettext_msg_list.
17105 (grub_gettext_gettranslation_from_position): Return const char *
17106 and not char *.
a2c1332b 17107 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
17108 returns from the list if existing there.
17109 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
17110 (grub_gettext_delete_list): Delete the list.
17111 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
17112 lang environment variable is changed.
17113 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
17114
b283f108
VS
171152009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 Rename kernel.mod to kernel.img.
17118
17119 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
17120 (kernel_mod_EXPORTS): Rename to ...
17121 (kernel_img_EXPORTS): ... this.
17122 (kernel_mod_SOURCES): Rename to ...
17123 (kernel_img_SOURCES): ... this.
17124 (kernel_mod_HEADERS): Rename to ...
17125 (kernel_img_HEADERS): ... this. All users updated.
17126 (kernel_mod_CFLAGS): Rename to ...
17127 (kernel_img_CFLAGS): ... this.
17128 (kernel_mod_ASFLAGS): Rename to ...
17129 (kernel_img_ASFLAGS): ... this.
17130 (kernel_mod_LDFLAGS): Rename to ...
17131 (kernel_img_LDFLAGS): ... this.
17132 * conf/x86_64-efi.rmk: Likewise.
17133 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
17134 (read_kernel_image): ... this. All users updated.
17135 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
17136
69055f8a
CPE
171372009-12-05 Carles Pina i Estany <carles@pina.cat>
17138
17139 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
17140 (print_spaces): New function.
17141 (grub_print_ucs4): New function.
17142 (getstringwidth): New function.
17143 (print_message_indented): New function.
17144 (print_message): Gettexttize strings using print_message_indented.
17145 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
17146 width.
17147 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 17148 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
17149 Gettextize.
17150 * normal/menu_entry.c (store_completion): Cleanup the gettextized
17151 string.
17152 (run): Likewise.
17153 (grub_menu_entry_run): Likewise.
17154 * PO/POTFILES: Add normal/menu_entry.c.
17155
f616f51c
VS
171562009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
17159
57bbe3be
CPE
171602009-12-05 Carles Pina i Estany <carles@pina.cat>
17161
17162 * util/grub-install.in: Install gettext .mo files.
17163 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
17164
013d67a1
CPE
171652009-12-05 Carles Pina i Estany <carles@pina.cat>
17166
17167 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
17168 grub_dprintf.
17169
fb954db0
RM
171702009-12-05 Robert Millan <rmh.grub@aybabtu.com>
17171
17172 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
17173 non-firmware-dependant one in realmode.S takes precedence.
17174
6b8474f8
RM
171752009-12-04 Robert Millan <rmh.grub@aybabtu.com>
17176
17177 * commands/halt.c: Replace misc arch-specific headers with
17178 `<grub/misc.h>'.
17179 * commands/reboot.c: Likewise.
17180 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
17181 `<grub/misc.h>'.
17182 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
17183 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
17184 (kernel_img_SOURCES): ... to here.
17185
17186 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
17187 * include/grub/i386/pc/init.h: Likewise.
17188 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17189 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17190
17191 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
17192
17193 * include/grub/i386/halt.h: Remove.
17194 * include/grub/i386/reboot.h: Likewise.
17195
17196 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
17197
4b2e6ca2
DM
171982009-12-03 David S. Miller <davem@sunset.davemloft.net>
17199
17200 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
17201 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
17202 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
17203 "progname.h"
17204 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17205 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17206 (usage): Add missing comma in printf.
17207
5239348f
RM
172082009-12-02 Robert Millan <rmh.grub@aybabtu.com>
17209
17210 Use the same reboot approach on i386 coreboot and qemu as we do on
17211 BIOS.
17212
17213 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
17214 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
17215 * kern/i386/reboot.c: Remove.
17216 * include/grub/i386/reboot.h (grub_reboot): Export function.
17217 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
17218 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
17219 0xf000:0xfff0 instead of 0xffff:0x0000.
17220 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
17221 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
17222
ef34cbd4
RM
172232009-11-30 Robert Millan <rmh.grub@aybabtu.com>
17224
17225 Fix $srcdir != $objdir build.
17226
17227 * Makefile.in (po/%.po): Rewrite as ...
17228 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
17229
dc9837ea
ST
172302009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
17231
17232 Fix GNU/Hurd grub-install crash.
17233 * util/grub-probe.c (probe): Try to access `path' only when it is not
17234 NULL.
17235
2f857f98
VS
172362009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 Correct module naming.
17239
17240 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17241 (GRUB_MOD_INIT(efi_uga)): ... to this
17242 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17243 (GRUB_MOD_FINI(efi_uga)): ... to this
17244 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17245 (GRUB_MOD_INIT(efi_gop)): ... to this
17246 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17247 (GRUB_MOD_FINI(efi_gop)): ... to this
17248
c5448046
RM
172492009-11-28 Robert Millan <rmh.grub@aybabtu.com>
17250
17251 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
17252 translatable.
17253 (usage): Translate `arg' strings using gettext().
17254 Thanks to Jordi Mallach for the suggestion.
17255
c85184ad
VS
172562009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17257
17258 GOP support. Based on patch from Bean
17259 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17260
17261 * video/efi_gop.c: New file.
17262 * include/grub/efi/graphics_output.h: Likewise.
17263 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
17264 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17265 variables.
17266 * conf/x86_64-efi.rmk: Likewise.
17267
8a4c48d8
VS
172682009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 Rename efi_fb to efi_uga.
17271
17272 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17273 'efi_uga.mod'.
17274 (efi_fb_mod_SOURCES): Rename this ...
17275 (efi_uga_mod_SOURCES): ... to this.
17276 (efi_fb_mod_CFLAGS): Rename this ...
17277 (efi_uga_mod_CFLAGS): ... to this.
17278 (efi_fb_mod_LDFLAGS): Rename this ...
17279 (efi_uga_mod_LDFLAGS): ... to this.
17280 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17281 'efi_uga.mod'.
17282 (efi_fb_mod_SOURCES): Rename this ...
17283 (efi_uga_mod_SOURCES): ... to this.
17284 (efi_fb_mod_CFLAGS): Rename this ...
17285 (efi_uga_mod_CFLAGS): ... to this.
17286 (efi_fb_mod_LDFLAGS): Rename this ...
17287 (efi_uga_mod_LDFLAGS): ... to this.
17288 * video/efi_fb.c: Move this ...
17289 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
17290
fb6c1a7b
RM
172912009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17292
17293 * po/README: New file. Explain our PO file workflow.
17294
3bc7896c
RM
172952009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17296
17297 * po/ChangeLog: Remove. Move relevant entries back to ...
17298 * ChangeLog: ... here.
17299 * po/ca.po: Remove (now handled by TLP).
17300 * po/id.po: Likewise.
17301 * po/zh_CN.po: Likewise.
17302 * Makefile.in (LINGUAS): Initialize in a way that supports
17303 empty set.
17304
9ed4841d
RM
173052009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17306
17307 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
17308 reliing on po/LINGUAS.
17309 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
17310 (po/%.po): ... this.
17311
0ad46fd7 173122009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
17313
17314 * util/i386/efi/grub-mkimage.c: Include "progname.h".
17315 (main): Use `program_name' instead of nonexistent `progname'.
17316
e30dd392
FZ
173172009-11-26 Felix Zielcke <fzielcke@z-51.de>
17318
17319 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17320 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
17321
7656de4f
RM
173222009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17323
17324 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
17325 commit.
17326 * conf/i386-efi.rmk: Likewise.
17327 * conf/i386-ieee1275.rmk: Likewise.
17328 * conf/powerpc-ieee1275.rmk: Likewise.
17329 * conf/sparc64-ieee1275.rmk: Likewise.
17330 * conf/x86_64-efi.rmk: Likewise.
17331
db77c4d4
FZ
173322009-11-26 Felix Zielcke <fzielcke@z-51.de>
17333
17334 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
17335
a755bb04
FZ
173362009-11-26 Felix Zielcke <fzielcke@z-51.de>
17337
17338 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
17339
8a4c07fd
RM
173402009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17341
17342 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
17343 (grub_mkdevicemap_SOURCES): New variable.
17344 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
17345 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
17346 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
17347 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
17348 (grub_mkdevicemap_SOURCES): Remove.
17349 * conf/i386-efi.rmk: Likewise.
17350 * conf/i386-ieee1275.rmk: Likewise.
17351 * conf/i386-pc.rmk: Likewise.
17352 * conf/powerpc-ieee1275.rmk: Likewise.
17353 * conf/sparc64-ieee1275.rmk: Likewise.
17354 * conf/x86_64-efi.rmk: Likewise.
17355 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
17356 (usage): Fix strings to use `program_name'.
17357 (main): Initialize gettext.
17358 * util/grub-editenv.c: Likewise.
17359 * util/grub-emu.c: Likewise.
17360 * util/grub-fstest.c: Likewise.
17361 * util/grub-mkdevicemap.c: Likewise.
17362 * util/grub-mkfont.c: Likewise.
17363 * util/grub-mkrelpath.c: Likewise.
17364 * util/grub-pe2elf.c: Likewise.
17365 * util/grub-probe.c: Likewise.
17366 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17367 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17368 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17369
17370 * util/misc.c: Include `"progname.h"'.
17371 (progname): Remove variable.
17372 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
17373
6f61ed55
FZ
173742009-11-25 Felix Zielcke <fzielcke@z-51.de>
17375
17376 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
17377 printf and print a newline after the menuentry header line.
17378 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17379
f022876b
FZ
173802009-11-25 Felix Zielcke <fzielcke@z-51.de>
17381
17382 autoconf >= 2.60 support $(localedir).
17383
17384 * INSTALL: Note that autoconf 2.60 is required.
17385 * configure.ac (AC_PREREQ): Bump to 2.60.
17386 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
17387 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17388
6717926e
YB
173892009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
17390
17391 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
17392 aclocal is run.
17393
08806a54
RM
173942009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17395
17396 * normal/main.c (grub_normal_read_line): Fix off-by-one
17397 buffer overflow.
17398
13b33fba
RM
173992009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17400
17401 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
17402 "parser.grub" in grub_command_execute() call.
17403
4a8572e9
CPE
174042009-11-24 Carles Pina i Estany <carles@pina.cat>
17405
17406 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
17407 * conf/i386-efi.rmk: Likewise.
17408 * conf/i386-ieee1275.rmk: Likewise.
17409 * conf/i386-pc.rmk: Likewise.
17410 * conf/powerpc-ieee1275.rmk: Likewise.
17411 * conf/sparc64-ieee1275.rmk: Likewise.
17412 * conf/x86_64-efi.rmk: Likewise.
17413 * gettext/gettex.c: Include <grub/i18n.h>.
17414 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
17415 here ...
17416 * include/grub/i18n.h: ... to here
17417 * include/grub/i18n.h: ... to here.
17418 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 17419 (grub_gettext_dummy): Move above user.
4a8572e9 17420
bee48093
FZ
174212009-11-24 Felix Zielcke <fzielcke@z-51.de>
17422
17423 * util/Makefile.in (install-local): Convert a `for' into a normal
17424 shell expansion.
17425
a031e91c
RM
174262009-11-24 Robert Millan <rmh.grub@aybabtu.com>
17427
17428 * autogen.sh: Add automake call.
17429 * config.guess: Remove.
17430 * config.sub: Likewise.
17431 * install-sh: Likewise.
17432
26bec39d
FZ
174332009-11-24 Felix Zielcke <fzielcke@z-51.de>
17434
17435 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
17436
8e2532fd
FZ
174372009-11-24 Felix Zielcke <fzielcke@z-51.de>
17438
17439 * util/Makefile.in (install-local): Convert a make `$(foreach)'
17440 function to a normal shell `for'.
17441
fefa1b7d
FZ
174422009-11-24 Felix Zielcke <fzielcke@z-51.de>
17443
17444 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17445
4501250b
FZ
174462009-11-24 Felix Zielcke <fzielcke@z-51.de>
17447
17448 * util/grub-mkrelpath.c: New file.
17449 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
17450 (grub_mkrelpath_SOURCES): New variable.
17451 * include/grub/util/misc.h: New function prototype.
17452 * util/misc.c (make_system_path_relative_to_its_root): New function.
17453
17454 * util/grub-mkconfig_lib.in (bindir): New variable.
17455 (grub_mkrelpath): Likewise.
17456 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
17457
17458 * util/probe.c (probe): Make the file path relative to its root.
17459 Change a info message to use the GRUB path. Enable again the
17460 check if we can read the file with GRUB facilities.
17461
17462 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
17463 to its root.
17464
11d9778b
FZ
174652009-11-24 Felix Zielcke <fzielcke@z-51.de>
17466
17467 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
17468 platform.
17469
4465287d
FZ
174702009-11-24 Felix Zielcke <fzielcke@z-51.de>
17471
17472 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
17473 strncmp().
17474
62b47f22
FZ
174752009-11-24 Felix Zielcke <fzielcke@z-51.de>
17476
17477 * util/getroot.c (grub_util_is_dmraid): New function.
17478 (grub_util_get_dev_abstraction): Treat dmraid and multipath
17479 devices as normal ones, not as LVM.
17480
1eafb9b9 174812009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
17482
17483 * conf/common.rmk: Add grub-gettext_lib target and updates
17484 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
17485 LDFLAGS.
17486 * gettext/gettext.c: New file. (Reads mo files).
17487 * include/grub/file.h (grub_file_pread): New prototype.
17488 * include/grub/i18n.h (_): New prototype.
17489 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
17490 prototypes.
17491 * kern/misc.c (grub_gettext_dummy): New function.
17492 * normal/menu_text.c: Include <grub/i18n.h>.
17493 * normal/menu_text.c (print_timeout): Gettexttize string.
17494 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
17495 * po/POTFILES: Add `normal/menu_text.c'.
17496 * po/ca.po: Add new translations.
c3ea6bd4
CPE
17497 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
17498 gettext module and defines locale_dir and lang in grub.cfg.
17499 * NEWS: Add gettext support.
17500
0fdb2568
RM
175012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17502
17503 * util/hostdisk.c: Include `<grub/i18n.h>'.
17504 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
17505 (make_device_name): Rewrite using asprintf.
17506 (convert_system_partition_to_system_disk): Replace 0 with NULL.
17507 (find_system_device): If a device is not found, generate one just
17508 by reusing the OS path name.
17509 (read_device_map): Make it permissible for device.map not to exist.
17510
f515aa62
RM
175112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17512
17513 * script/sh/execute.c: Move from here ...
17514 * script/execute.c: ... to here. Update all users.
17515 * script/sh/function.c: Move from here ...
17516 * script/function.c: ... to here. Update all users.
17517 * script/sh/lexer.c: Move from here ...
17518 * script/lexer.c: ... to here. Update all users.
17519 * script/sh/main.c: Move from here ...
17520 * script/main.c: ... to here. Update all users.
17521 * script/sh/parser.y: Move from here ...
17522 * script/parser.y: ... to here. Update all users.
17523 * script/sh/script.c: Move from here ...
17524 * script/script.c: ... to here. Update all users.
17525
f84b481b
RM
175262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17527
17528 * configure.ac: Detect all `emu' platforms. Define
17529 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
17530 --enable-grub-emu logic. Disable include/grub/machine
17531 symlink on `emu' platforms.
17532
17533 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
17534 * gensymlist.sh.in: Likewise.
17535
17536 * include/grub/i386/coreboot/machine.h: Remove file.
17537 * include/grub/i386/efi/machine.h: Likewise.
17538 * include/grub/i386/ieee1275/machine.h: Likewise.
17539 * include/grub/i386/pc/machine.h: Likewise.
17540 * include/grub/i386/qemu/machine.h: Likewise.
17541 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17542 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17543 * include/grub/x86_64/efi/machine.h: Likewise.
17544
17545 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
17546 * commands/halt.c: Likewise.
17547 * commands/reboot.c: Likewise.
17548 * include/grub/autoefi.h: Likewise.
17549 * include/grub/i386/at_keyboard.h: Likewise.
17550 * include/grub/i386/kernel.h: Likewise.
17551 * include/grub/i386/loader.h: Likewise.
17552 * include/grub/i386/pc/memory.h: Likewise.
17553 * kern/dl.c: Likewise.
17554 * kern/i386/coreboot/init.c: Likewise.
17555 * loader/i386/bsd.c: Likewise.
17556 * loader/i386/linux.c: Likewise.
17557 * loader/multiboot_loader.c: Likewise.
17558 * term/i386/pc/serial.c: Likewise.
17559 * term/usb_keyboard.c: Likewise.
17560
17561 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
17562 `<grub/machine/machine.h>'
17563 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
17564 * util/misc.c: Remove `<grub/machine/machine.h>' and
17565 `<grub/machine/time.h>'.
17566
17567 * Makefile.in (enable_grub_emu): Remove variable.
17568 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
17569
17570 * conf/any-emu.rmk: New file.
17571 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
17572 (grub_emu_init.c): Move from here ...
17573 * conf/any-emu.rmk: ... to here.
17574
17575 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
17576 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
17577 * conf/any-emu.rmk: ... to here.
17578
4efeab03
RM
175792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17580
17581 * include/grub/parser.h (grub_parser_register): Document need
17582 of `name' parameter.
17583 * normal/main.c (grub_normal_read_line): Simplify prompt string.
17584 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
17585 "sh" to "grub".
17586
ea1dd8bf
RM
175872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17588
17589 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
17590 `$(XGETTEXT)'.
17591 * include/grub/i18n.h (N_): New macro.
17592 * util/mkisofs/mkisofs.h: Likewise.
17593 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
17594 around N_().
17595 (usage): Use gettext() to translate help strings when printing them.
17596
0c140626
RM
175972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17598
17599 Based on patch from Bean
17600 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17601
17602 * video/efi_fb.c: New file.
17603 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
17604 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17605 variables.
17606 * conf/x86_64-efi.rmk: Likewise.
17607
87d58298
RM
176082009-11-22 Robert Millan <rmh.grub@aybabtu.com>
17609
17610 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
17611 * util/i386/pc/grub-setup.c: Likewise.
17612
994cc3a3
ST
176132009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17614
17615 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
17616 <hurd/fs.h>
17617 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
17618 file_get_storage_info to implement grub_guess_root_device.
17619
26a61d6a
FZ
176202009-11-21 Felix Zielcke <fzielcke@z-51.de>
17621
17622 * Makefile.in (target): Use make's builtin $(shell) function
17623 instead of calling directly $(SHELL) to create the locale directories,
17624 inside the $(foreach) function.
17625
74ff1dd5
FZ
176262009-11-21 Felix Zielcke <fzielcke@z-51.de>
17627
17628 * util/grub-mkrescue.in: Print an error and usage if output option
17629 has not been given.
17630
0b787d0e
FZ
176312009-11-21 Felix Zielcke <fzielcke@z-51.de>
17632
17633 Patch from Loïc Minier <loic.minier@ubuntu.com>.
17634 * util/grub.d/30_os-prober.in: Cope with Linux entries where
17635 root and /boot are on different devices.
17636
1164b270
RM
176372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17638
17639 Fix build for srcdir != objdir.
17640
17641 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
17642 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
17643 $(srcdir).
17644 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
17645 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
17646 reference for input.
17647
13774a2f
RM
176482009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17649
17650 * util/grub-mkrescue.in: Use source directory direcly (without copiing
17651 or hardlinking it). Remove -J option, Joliet is not compatible with
17652 multiple source directories.
17653
efda854e
RM
176542009-11-21 Carles Pina i Estany <carles@pina.cat>
176552009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17656
17657 * util/grub-mkrescue.in: Recognize `--override-directory' option.
17658 (process_input_dir): New function. Process an arbitrary input
17659 directory.
17660 Misc adjustments to support both "override mode" and system-wide mode.
17661
6c09890c
FZ
176622009-11-20 Felix Zielcke <fzielcke@z-51.de>
17663
17664 * configure.ac (UNIFONT_BDF): Rename to ...
17665 (FONT_SOURCE): ... this. Update all users.
17666
a797824f
FZ
176672009-11-20 Felix Zielcke <fzielcke@z-51.de>
17668
17669 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
17670 to the list of unifont files to look for.
17671
cd4f42b0
RM
176722009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17673
17674 Patch from Joe Auricchio <jauricchio@gmail.com>
17675 * commands/minicmd.c (grub_mini_cmd_clear): New function.
17676 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
17677 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
17678
393c783d
FZ
176792009-11-19 Felix Zielcke <fzielcke@z-51.de>
17680
17681 * Makefile.in (install-local): Add a missing backslash.
17682
b2f1e327
FZ
176832009-11-19 Felix Zielcke <fzielcke@z-51.de>
17684
17685 * include/grub/x86_64/io.h: New file.
17686
f577f7a0
RM
176872009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17688
17689 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
17690 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
17691 Include `"progname.h"'.
17692 (main): Initialize gettext.
17693 * util/i386/pc/grub-setup.c: Gettexttize.
17694 * util/i386/pc/grub-mkimage.c: Likewise.
17695
17696 * Makefile.in (po/*.po): Redefine as ...
17697 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
17698
3bc7896c
RM
17699 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
17700
c37943b6
RM
177012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17702
17703 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
17704 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
17705 (program_name): Remove.
17706 (main): Initialize gettext support.
6323f705
RM
17707 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
17708 Include `<libintl.h>'.
17709 (_): New macro.
c37943b6
RM
17710
17711 * util/mkisofs/eltorito.c: Gettexttize.
17712 * util/mkisofs/joliet.c: Likewise.
17713 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
17714 * util/mkisofs/multi.c: Likewise.
17715 * util/mkisofs/rock.c: Likewise.
17716 * util/mkisofs/tree.c: Likewise.
17717 * util/mkisofs/write.c: Likewise.
17718
3bc7896c
RM
17719 * po/POTFILES: Update with new files.
17720
5ce77c6e
RM
177212009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17722
17723 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
17724 * util/mkisofs/iso9660.h: Likewise.
17725 * util/mkisofs/joliet.c: Likewise.
17726 * util/mkisofs/mkisofs.c: Likewise.
17727 * util/mkisofs/mkisofs.h: Likewise.
17728 * util/mkisofs/rock.c: Likewise.
17729 * util/mkisofs/tree.c: Likewise.
17730 * util/mkisofs/write.c: Likewise.
17731
17732 * util/mkisofs/eltorito.c (rcsid): Remove.
17733 * util/mkisofs/hash.c: Likewise.
17734 * util/mkisofs/joliet.c: Likewise.
17735 * util/mkisofs/name.c: Likewise.
17736 * util/mkisofs/rock.c: Likewise.
17737 * util/mkisofs/tree.c: Likewise.
17738 * util/mkisofs/write.c: Likewise.
17739
1dabbc77
RM
177402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17741
17742 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
17743 instead of static allocation.
17744 * util/mkisofs/match.h: Likewise.
17745
633877cb
RM
177462009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17747
3bc7896c
RM
17748 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
17749 and `util/grub.d/10_linux.in'.
633877cb
RM
17750 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
17751 translatable Shell files.
17752
af1c0c85
RM
177532009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17754
17755 * Makefile.in ($(srcdir)/aclocal.m4): New target.
17756
769ae37b
RM
177572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17758
17759 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 17760 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
17761 * util/grub.d/10_kfreebsd.in (bindir): New variable.
17762 Add gettext initialization.
17763 (kfreebsd_entry): Make menuentry output translatable.
17764
177652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17766
17767 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
17768 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
17769 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
17770 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
17771 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 17772 * po/LINGUAS: New file.
769ae37b
RM
17773
177742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17775
17776 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
17777 other things).
17778 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
17779 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
17780 bindtextdomain() calls for gettext initialization.
17781
177822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17783
17784 * gnulib/progname.c: New file (imported from Gnulib).
17785 * gnulib/progname.h: Likewise.
17786 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17787 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
17788 (usage): Replace `progname' with `program_name'.
17789 (main): Use set_program_name() for program name initialization.
17790
177912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17792
17793 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
17794 from here ...
17795 * Makefile.in (CPPFLAGS): ... to here.
17796
177972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17798
17799 * aclocal.m4: Move from here ...
17800 * acinclude.m4: ... to here.
17801 * autogen.sh: Add call to `aclocal'.
17802 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
17803
178042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17805
17806 * Makefile.in (CLEANFILES): Add `po/*.mo'.
17807 (LINGUAS): New variable.
17808 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
17809 (install-local): Install MO files.
17810 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
17811 * include/grub/i18n.h: New file.
3bc7896c
RM
17812 * po/POTFILES: New file.
17813 * po/ca.po: New file.
769ae37b
RM
17814 * util/grub.d/10_linux.in (bindir): New variable.
17815 Add gettext initialization.
17816 (linux_entry): Make menuentry output translatable.
17817 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
17818 (usage): Make --help output translatable.
17819 (main): Initialize gettext.
17820
02c0a6ad
RM
178212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17822
17823 * import_gcry.py: New file (written by Vladimir with minor
17824 adjustments).
17825 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
17826 ciphers.
17827 * INSTALL: Document that Python is required for bootstrap.
17828
178292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17830
17831 Import ciphers from libgcrypt 1.4.4.
17832
17833 * lib/libgcrypt/cipher/ChangeLog
17834 * lib/libgcrypt/cipher/ac.c
17835 * lib/libgcrypt/cipher/arcfour.c
17836 * lib/libgcrypt/cipher/bithelp.h
17837 * lib/libgcrypt/cipher/blowfish.c
17838 * lib/libgcrypt/cipher/camellia-glue.c
17839 * lib/libgcrypt/cipher/camellia.c
17840 * lib/libgcrypt/cipher/camellia.h
17841 * lib/libgcrypt/cipher/cast5.c
17842 * lib/libgcrypt/cipher/cipher.c
17843 * lib/libgcrypt/cipher/crc.c
17844 * lib/libgcrypt/cipher/des.c
17845 * lib/libgcrypt/cipher/dsa.c
17846 * lib/libgcrypt/cipher/ecc.c
17847 * lib/libgcrypt/cipher/elgamal.c
17848 * lib/libgcrypt/cipher/hash-common.c
17849 * lib/libgcrypt/cipher/hash-common.h
17850 * lib/libgcrypt/cipher/hmac-tests.c
17851 * lib/libgcrypt/cipher/md.c
17852 * lib/libgcrypt/cipher/md4.c
17853 * lib/libgcrypt/cipher/md5.c
17854 * lib/libgcrypt/cipher/primegen.c
17855 * lib/libgcrypt/cipher/pubkey.c
17856 * lib/libgcrypt/cipher/rfc2268.c
17857 * lib/libgcrypt/cipher/rijndael-tables.h
17858 * lib/libgcrypt/cipher/rijndael.c
17859 * lib/libgcrypt/cipher/rmd.h
17860 * lib/libgcrypt/cipher/rmd160.c
17861 * lib/libgcrypt/cipher/rsa.c
17862 * lib/libgcrypt/cipher/seed.c
17863 * lib/libgcrypt/cipher/serpent.c
17864 * lib/libgcrypt/cipher/sha1.c
17865 * lib/libgcrypt/cipher/sha256.c
17866 * lib/libgcrypt/cipher/sha512.c
17867 * lib/libgcrypt/cipher/tiger.c
17868 * lib/libgcrypt/cipher/twofish.c
17869 * lib/libgcrypt/cipher/whirlpool.c
17870
af2f93ac
RM
178712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17872
17873 Fix build for systems without error().
17874
17875 * gnulib/error.c: New file (imported from Gnulib).
17876 * gnulib/error.h: Likewise.
17877 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
17878 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
17879 (this variable is now used by error()).
17880
73fb3dd5
FZ
178812009-11-16 Felix Zielcke <fzielcke@z-51.de>
17882
814f5e96
FZ
17883 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
17884 instead of relying that char is signed.
73fb3dd5 17885
a691ca33
VS
178862009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17887
17888 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
17889 blocksize different from specified.
17890 (grub_pxefs_read): Likewise.
17891
2af8f0f4
FZ
178922009-11-16 Felix Zielcke <fzielcke@z-51.de>
17893
17894 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
17895
17896 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
17897 (grub_ata_readwrite): Likewise. Update 2 format strings.
17898 (grub_atapi_read): Likewise.
17899
17900 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
17901 * conf/i386.rmk (pkglib_MODULES): ... to here ...
17902 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
17903 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
17904 (ata_mod_LDFLAGS): Move from here ...
17905 * conf/i386.rmk: ... to here ...
17906 * conf/x86_64-efi.rmk: ... and here.
17907 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
17908 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
17909
83bdecaf
RM
179102009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17911
17912 Relicense multiboot.h, with RMS' blessing.
17913
17914 * include/multiboot.h: Change to X11 license.
17915
fd6fd3d7
RM
179162009-11-15 Robert Millan <rmh.grub@aybabtu.com>
17917
17918 Support --version in grub-mkisofs.
17919
17920 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
17921 (OPTION_VERSION): New macro.
17922 (ld_options): Recognize --version.
17923 (usage): Move `program_name' from here ...
17924 (program_name): ... to here. Add `static' qualifier.
17925 (main): Recognize `OPTION_VERSION'.
17926
16a88c49
FZ
179272009-11-15 Felix Zielcke <fzielcke@z-51.de>
17928
17929 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
17930 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
17931
a4158476
RM
179322009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17933
17934 Fix help2man generation for mkisofs.
17935
17936 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
17937 (usage): Send output to stdout (rather than stderr).
17938
fc2208b0
RM
179392009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17940
17941 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
17942 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17943 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
17944 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17945 (bin_SCRIPTS): Add `grub-mkfloppy'.
17946 (grub_mkfloppy_SOURCES): New variable.
17947
17948 * util/grub-mkrescue.in: New file.
17949 * util/i386/pc/grub-mkfloppy.in: New file.
17950
17951 * util/i386/coreboot/grub-mkrescue.in: Remove.
17952 * util/i386/pc/grub-mkrescue.in: Remove.
17953
8d0edf4a
RM
179542009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17955
17956 * include/grub/multiboot.h (struct grub_multiboot_header): Move
17957 from here ...
17958 * include/multiboot.h (struct multiboot_header): ... to here. Update
17959 all users.
17960 * include/grub/multiboot.h (struct grub_multiboot_info): Move
17961 from here ...
17962 * include/multiboot.h (struct multiboot_info): ... to here. Update
17963 all users.
17964 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
17965 from here ...
17966 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
17967 Update all users.
17968 * include/grub/multiboot.h (struct grub_mod_list): Move
17969 from here ...
17970 * include/multiboot.h (struct multiboot_mod_list): ... to here.
17971 Update all users.
17972
a73f5969
RM
179732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17974
17975 * include/multiboot2.h (multiboot_word): Rename from this ...
17976 (multiboot2_word): ... to this. Update all users.
17977 (multiboot_header): Rename from this ...
17978 (multiboot2_header): ... to this. Update all users.
17979 (multiboot_tag_header): Rename from this ...
17980 (multiboot2_tag_header): ... to this. Update all users.
17981 (multiboot_tag_start): Rename from this ...
17982 (multiboot2_tag_start): ... to this. Update all users.
17983 (multiboot_tag_name): Rename from this ...
17984 (multiboot2_tag_name): ... to this. Update all users.
17985 (multiboot_tag_module): Rename from this ...
17986 (multiboot2_tag_module): ... to this. Update all users.
17987 (multiboot_tag_memory): Rename from this ...
17988 (multiboot2_tag_memory): ... to this. Update all users.
17989 (multiboot_tag_unused): Rename from this ...
17990 (multiboot2_tag_unused): ... to this. Update all users.
17991 (multiboot_tag_end): Rename from this ...
17992 (multiboot2_tag_end): ... to this. Update all users.
17993
1c8927f0
RM
179942009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17995
17996 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
17997 this platform we should support Multiboot1 first.
17998
17999 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18000 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
18001 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
18002
6e1e0d89
RM
180032009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18004
18005 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
18006 of write calls (converting them to fwrite() if they aren't already).
18007 (get_torito_desc): Likewise.
18008 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
18009
7f2b34d8
RM
180102009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18011
18012 * util/i386/pc/grub-install.in: Move from here ...
18013 * util/grub-install.in: ... to here. Update all users.
18014
c0ef3311
CW
180152009-11-11 Colin Watson <cjwatson@ubuntu.com>
18016
18017 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
18018
e1f240ff
RM
180192009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18020
18021 Support for El Torito without floppy emulation.
18022
18023 * util/mkisofs/eltorito.c: Include `<errno.h>'.
18024 (init_boot_catalog): Improve error handling.
18025 (get_torito_desc): Don't use floppy emulation unless requested by
18026 user. Patch boot information table when requested via
18027 `-boot-info-table'.
18028 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
18029 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
18030 (use_boot_info_table): New variables.
18031 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
18032 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
18033 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
18034 `--eltorito-emul-floppy'.
18035 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
18036 and `OPTION_ELTORITO_EMUL_FLOPPY'.
18037 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
18038 (use_boot_info_table, get_731): New prototypes.
18039 * util/mkisofs/write.c (get_731): New function.
18040
af7d4de5
FZ
180412009-11-11 Felix Zielcke <fzielcke@z-51.de>
18042
18043 Fix the generation of the man page.
18044
18045 * util/pc/i386/grub-install.in: Source
18046 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18047
2c55dbc0
RM
180482009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18049
18050 Large file support for grub-mkisofs.
18051
18052 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
18053 * util/mkisofs/mkisofs.c (next_extent, last_extent)
18054 (session_start): Upgrade type to `uint64_t'. Update all users.
18055 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
18056 (struct directory_entry): Upgrade type of `starting_block' and
18057 `size' to `uint64_t'. Update all users.
18058 (struct deferred): Remove unused structure.
18059 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
18060 Update all users.
18061 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
18062 file is larger than `UINT32_MAX'.
18063 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
18064 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
18065 return value.
18066 (struct deferred_write): Upgrade type of `extent' and `size' to
18067 `uint64_t'. Update all users.
18068 (last_extent_written): Upgrade type to `uint64_t'. Update all
18069 users.
18070 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
18071 Update all users. Upgrade type of `remain' to `int64_t' and
18072 `use' to `size_t'. Use error() to handle fread() errors.
18073 (write_files): Rely on write_one_file() rather than calling
18074 xfwrite() directly.
18075
6a9cead5
FZ
180762009-11-09 Felix Zielcke <fzielcke@z-51.de>
18077
18078 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
18079
4825d790
RM
180802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18081
18082 * util/mkisofs/fnmatch.c: Remove.
18083 * util/mkisofs/getopt1.c: Likewise.
18084 * util/mkisofs/getopt.c: Likewise.
18085 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
18086 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
18087 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
18088 `gnulib/getopt1.c' and `gnulib/getopt.c'.
18089 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
18090
18091 * configure.ac: Detect `mingw32msvc' host_os.
18092 Check for lstat(), getuid() and getgid().
18093
18094 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
18095 instances of `u_char' with `uint8_t'.
18096
18097 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
18098 [!HAVE_GETUID] (getuid): New function (stub).
18099 [!HAVE_GETGID] (getgid): Likewise.
18100 [!HAVE_LSTAT] (lstat): Likewise.
18101 [!S_IROTH] (S_IROTH): New macro (dummy).
18102 [!S_IRGRP] (S_IRGRP): Likewise.
18103
84b860d8
RM
181042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18105
18106 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
18107 conditional expression).
18108
66e9b712
RM
181092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18110
18111 Import from Gnulib.
18112
18113 * gnulib/fnmatch.c: New file.
18114 * gnulib/fnmatch.h: Likewise.
18115 * gnulib/fnmatch_loop.c: Likewise.
18116 * gnulib/getopt.c: Likewise.
18117 * gnulib/getopt.h: Likewise.
18118 * gnulib/getopt1.c: Likewise.
18119 * gnulib/getopt_int.h: Likewise.
18120 * gnulib/gettext.h: Likewise.
18121
34f4a5b0
RM
181222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18123
18124 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
18125 * normal/handler.c (read_handler_list): Likewise.
18126
ac451143
RM
181272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18128
18129 Misc cleanup.
18130
18131 * kern/command.c (grub_register_command_prio): Use
18132 grub_zalloc() instead of explicitly zeroing data.
18133 * kern/list.c: Include `<grub/mm.h>'.
18134 (grub_named_list_find): Replace `0' with `NULL'.
18135 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
18136 (fs_module_list): Change type to `grub_named_list_t'. Update all
18137 users.
18138 * normal/dyncmd.c (read_command_list): Add space between function
18139 call and parenthesis.
18140 * normal/handler.c (read_handler_list): Likewise.
18141
4089b167
RM
181422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18143
18144 * normal/auth.c (punishment_delay): Moved from here ...
18145 (grub_auth_strcmp): ... to here (inside function).
18146
325f5037
RM
181472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18148
18149 * include/grub/list.h (struct grub_named_list): Remove `const'
18150 qualifier from `name'.
18151 (struct grub_prio_list): Likewise.
18152
7aea29a3
RM
181532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18154
18155 * normal/auth.c: Include `<grub/time.h>'.
18156 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
18157
3fd6f044
RM
181582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18159
18160 * normal/auth.c (punishment_delay): New variable.
18161 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
18162 (grub_auth_check_authentication): Punish failed login attempts with
18163 an incremental (2^N) delay.
18164
a4cd68e4
RM
181652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18166
18167 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
18168 path with $(srcdir).
18169
7ad12f43
VS
181702009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
18173
c1129f03
RM
181742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18175
18176 * util/i386/coreboot/grub-mkrescue.in: New file.
18177 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
18178 variables.
18179
18180 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
18181 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
18182 * configure.ac: Add header and function checks to satisfy grub-mkisofs
18183 requirements.
18184 * util/mkisofs/defaults.h: New file.
18185 * util/mkisofs/eltorito.c: Likewise.
18186 * util/mkisofs/exclude.h: Likewise.
18187 * util/mkisofs/fnmatch.c: Likewise.
18188 * util/mkisofs/getopt.c: Likewise.
18189 * util/mkisofs/getopt1.c: Likewise.
18190 * util/mkisofs/hash.c: Likewise.
18191 * util/mkisofs/include/fctldefs.h: Likewise.
18192 * util/mkisofs/include/mconfig.h: Likewise.
18193 * util/mkisofs/include/prototyp.h: Likewise.
18194 * util/mkisofs/include/statdefs.h: Likewise.
18195 * util/mkisofs/iso9660.h: Likewise.
18196 * util/mkisofs/joliet.c: Likewise.
18197 * util/mkisofs/match.c: Likewise.
18198 * util/mkisofs/match.h: Likewise.
18199 * util/mkisofs/mkisofs.c: Likewise.
18200 * util/mkisofs/mkisofs.h: Likewise.
18201 * util/mkisofs/multi.c: Likewise.
18202 * util/mkisofs/name.c: Likewise.
18203 * util/mkisofs/rock.c: Likewise.
18204 * util/mkisofs/tree.c: Likewise.
18205 * util/mkisofs/write.c: Likewise.
18206
ec8bb77d
VS
182072009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18208
18209 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
18210 being insecure.
18211
3716b12c
RM
182122009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18213
18214 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
18215 `grub-mkimage' (and use $0 when possible).
18216
b97b7b91
RM
182172009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18218
18219 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
18220 error message for excessively large memory map.
18221
04114812
RM
182222009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18223
18224 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
18225 executable bit.
18226
e4eb2373
RM
182272009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18228
18229 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
18230 message for coreboot users.
18231
c926e1d5 182322009-11-07 Robert Millan <rmh.grub@aybabtu.com>
18233
18234 Fix build with GNU gold.
18235
18236 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
18237 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
18238 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
18239 link addresses.
18240 * aclocal.m4: Likewise.
18241
86e5b1db 182422009-11-04 Felix Zielcke <fzielcke@z-51.de>
18243
18244 * configure.ac (AC_PREREQ): Bump to 2.59d.
18245 * INSTALL: Make it more clear when Autoconf and Ruby are
18246 needed and when to run `./autogen.sh'.
18247
246cd78f 182482009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18249
18250 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
18251 OSes.
18252
4f9dfb37 182532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18254
18255 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
18256
b82bd5e1 182572009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18258
18259 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
18260 giving it to GNU Mach.
18261
ff1a9bca 182622009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18263
18264 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
18265 GNU partition number to get internal GRUB partition number.
18266
61697d9c 182672009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18268
18269 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
18270 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
18271
a50569e1 182722009-11-01 Robert Millan <rmh.grub@aybabtu.com>
18273
18274 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
18275 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
18276 case.
18277
5b153867 182782009-11-01 Felix Zielcke <fzielcke@z-51.de>
18279
18280 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
18281
d9e2cd70 182822009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18283
18284 Fix build problem.
18285
18286 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
18287 `-isystem=$(srcdir)/include'.
18288
805111a4 182892009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18290
18291 * util/i386/pc/grub-install.in: Remove hint that device.map should be
18292 checked (grub-install doesn't currently rely on it).
18293
fa6e945f 182942009-10-29 Robert Millan <rmh.grub@aybabtu.com>
18295
18296 Revert SVN r2660.
18297
18298 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
18299 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18300 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
18301 * conf/i386-ieee1275.rmk: Likewise.
18302 * conf/i386-pc.rmk: Likewise.
18303 * conf/powerpc-ieee1275.rmk: Likewise.
18304 * conf/sparc64-ieee1275.rmk: Likewise.
18305 * conf/x86_64-efi.rmk: Likewise.
18306
cee15086 183072009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18308
18309 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
18310
95b9239e 183112009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18312
18313 * include/grub/misc.h: Stop checking for APPLE_CC.
18314
2ed19dfd 183152009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18316
18317 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
18318 doesn't cause an infinite call loop.
18319
fdcdde19 183202009-10-28 Felix Zielcke <fzielcke@z-51.de>
18321
18322 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
18323 strings.
18324
cefabfe1 183252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18326
18327 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
18328 variable.
18329 * Makefile.in: Likewise.
18330
ed96ab6d 183312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18332
18333 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
18334
0579b753 183352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18336
18337 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
18338
478df409 183392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18340
18341 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
18342
083d1679 183432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18344
18345 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
18346 from here ...
18347 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
18348
5947ae32 183492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18350
18351 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
18352 in $(MAKEINFO) invocation. This makes it clear in output that
18353 errors are being ignored.
18354
94180ff6 183552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18356
18357 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
18358 from here ...
18359 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18360 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
18361 * conf/i386-ieee1275.rmk: Likewise.
18362 * conf/i386-pc.rmk: Likewise.
18363 * conf/powerpc-ieee1275.rmk: Likewise.
18364 * conf/sparc64-ieee1275.rmk: Likewise.
18365 * conf/x86_64-efi.rmk: Likewise.
18366
9031b03a 183672009-10-26 Colin Watson <cjwatson@ubuntu.com>
18368
18369 * util/grub-editenv.c (main): If only a command is given, use
18370 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
18371 (usage): FILENAME is now optional and has a default.
18372
e4f6809b 183732009-10-26 Colin Watson <cjwatson@ubuntu.com>
18374
18375 Improve grub-mkconfig performance when there are several menu
18376 entries on a single filesystem.
18377
18378 * util/grub.d/10_linux.in (linux_entry): Cache the output of
18379 prepare_grub_to_access_device.
18380 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18381 * util/grub.d/30_os-prober.in: Likewise.
18382
67937d4d 183832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18384
18385 * util/grub.d/10_freebsd.in: Remove.
18386 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
18387 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
18388
ee3756cc 183892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18390
5c35048e 18391 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 18392
4dea1c6f 183932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18394
18395 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
18396 grub_util_error() call.
18397
042484d7 183982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18399
18400 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
18401 `reserved_first_sector' member.
18402 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
18403 `reserved_first_sector' to 1.
18404 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
18405 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
18406 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
18407 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
18408 filesystems which begin at first sector.
18409 (options): New option --skip-fs-probe.
18410 (main): Handle --skip-fs-probe and pass it to setup().
18411
d64448a7 184122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18413
18414 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
18415 (memset): Fix function prototype.
18416
508d42ec 184172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
184182009-10-25 Vasily Averin <vvs@parallels.com>
18419
18420 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
18421 `dirent.direntlen == 0'.
18422
b240e30c 184232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18424
18425 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
18426 `cpio'.
18427 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
18428
346e7fbe 184292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18430
18431 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
18432 `__trampoline_setup' and `__ucmpdi2'.
18433 * include/grub/powerpc/libgcc.h: Only export symbols for functions
18434 that libgcc provides.
18435
cdb308b0 184362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18437
18438 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
18439 * include/grub/sparc64/libgcc.h (memset): Likewise.
18440 * include/grub/misc.h (memset, memcmp): New function prototypes.
18441
fb26abc2 184422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18443
18444 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
18445 `cpio'.
18446 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
18447
f6693890 184482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18449
18450 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
18451 * docs/grub.cfg: Compensate for recent change in multiboot
18452 loader (since 2009-08-14 it won't pass filename to payload).
18453 * util/grub.d/10_hurd.in: Likewise.
18454
0933cdc0 184552009-10-21 Felix Zielcke <fzielcke@z-51.de>
18456
18457 * config.guess: Update to latest version from config git
18458 repository.
18459 * config.sub: Likewise.
18460
3b2fe8c2 184612009-10-20 Robert Millan <rmh.grub@aybabtu.com>
18462
18463 Fix build on sparc64.
18464
18465 * configure.ac: Perform checks for libgcc symbols before
18466 adding `-nostdlib' to LDFLAGS.
18467
46695a62 184682009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 Let user specify OpenBSD root device.
18471
18472 * loader/i386/bsd.c (openbsd_root): New variable.
18473 (openbsd_opts): New option 'root'.
18474 (OPENBSD_ROOT_ARG): New macro.
18475 (grub_openbsd_boot): Use 'openbsd_root'.
18476 (grub_cmd_openbsd): Fill 'openbsd_root'.
18477
d2b6b7fc 184782009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18479
18480 * NEWS: Misc adjustments.
18481
421bd7ac 184822009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
18485
f1d29d87 184862009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18487
18488 * configure.ac: Bump version to 1.97.
18489
6f3cd880 184902009-10-16 Colin Watson <cjwatson@ubuntu.com>
18491
18492 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
18493 -mno-3dnow on x86 architectures. Some toolchains enable these
18494 features by default, but they rely on registers that aren't enabled
18495 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
18496
035f7122 184972009-10-15 Robert Millan <rmh.grub@aybabtu.com>
18498
18499 Make entry text a bit more readable.
18500
18501 * util/grub.d/10_linux.in: Add `with' before `Linux'.
18502
44998e58 185032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18504
18505 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
18506
cd2851b3 185072009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18508
18509 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
18510 operations.
18511
c6f3b249 185122009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18513
18514 * configure.ac: Add missing dollar.
18515
6b5886ba 185162009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
18519
18520 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
18521 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
18522 exports.
18523 * include/grub/sparc64/libgcc.h: Likewise. Use
18524 preprocessor conditionals.
18525
e9d66f6d 185262009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18527
18528 * conf/common.rmk (grub-dumpbios): Remove rule.
18529 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
18530 * util/grub-dumpbios.in: Remove file.
18531
9155bc17 185322009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18533
18534 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
18535 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
18536
18537 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
18538 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
18539 users.
18540
18541 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
18542 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
18543 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
18544 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
18545 users.
18546
bf7f7a18 185472009-10-12 Robert Millan <rmh.grub@aybabtu.com>
18548
18549 * term/tparm.c: Switch to GPLv3.
18550
86564c26 185512009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18552
18553 * include/grub/i386/cpuid.h: Add header protection.
18554
5c936493 185552009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18556
18557 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
18558
18559 * include/grub/i386/cpuid.h: New file.
18560 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
18561 (has_longmode): Rename to ...
18562 (grub_cpuid_has_longmode): ... this. Update all users. Remove
18563 `static' attribute.
18564 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
18565 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
18566 on a CPU that doesn't implement AMD64 instruction set.
18567
186e7cf2 185682009-10-06 Colin Watson <cjwatson@ubuntu.com>
18569
18570 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
18571 that version.texi is rebuilt on version number changes.
18572
83b65c4a 185732009-10-06 Colin Watson <cjwatson@ubuntu.com>
18574
18575 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
18576 Fixes bug #27602.
18577
d244281c 185782009-10-06 Colin Watson <cjwatson@ubuntu.com>
18579
18580 * util/i386/pc/grub-install.in: Source
18581 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
18582 that the --grub-probe option will work.
18583 * util/sparc64/ieee1275/grub-install.in: Likewise.
18584
da25306d 185852009-10-05 Robert Millan <rmh.grub@aybabtu.com>
18586
18587 * configure.ac: Bump version to 1.97~beta4.
18588
e8ee83c0 185892009-10-03 Robert Millan <rmh.grub@aybabtu.com>
18590
18591 Resync grub-mkdevicemap in x86_64-efi.
18592
18593 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
18594 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
18595 `util/devicemap.c'.
18596
50dcabcf 185972009-10-01 Colin Watson <cjwatson@ubuntu.com>
18598
18599 * util/grub-editenv.c (create_envblk_file): Write new block with a
18600 .new suffix and then rename it into place, to ensure atomic
18601 creation.
18602
0e51c3a7 186032009-09-28 Robert Millan <rmh.grub@aybabtu.com>
18604
18605 Do not automatically install headers.
18606
18607 * Makefile.in (include_DATA): Remove. Update all users.
18608
31299a95 186092009-09-26 Robert Millan <rmh.grub@aybabtu.com>
18610
18611 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
18612 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
18613
18614 * util/osdetect.lua: Remove.
18615 * script/lua/lauxlib.c: Likewise.
18616 * script/lua/ldebug.c: Likewise.
18617 * script/lua/grub_main.c: Likewise.
18618 * script/lua/lauxlib.h: Likewise.
18619 * script/lua/ldebug.h: Likewise.
18620 * script/lua/ltablib.c: Likewise.
18621 * script/lua/liolib.c: Likewise.
18622 * script/lua/lstrlib.c: Likewise.
18623 * script/lua/lualib.h: Likewise.
18624 * script/lua/ldo.c: Likewise.
18625 * script/lua/ldump.c: Likewise.
18626 * script/lua/ldo.h: Likewise.
18627 * script/lua/loslib.c: Likewise.
18628 * script/lua/lundump.c: Likewise.
18629 * script/lua/grub_lib.c: Likewise.
18630 * script/lua/ldblib.c: Likewise.
18631 * script/lua/lundump.h: Likewise.
18632 * script/lua/lmem.c: Likewise.
18633 * script/lua/grub_lib.h: Likewise.
18634 * script/lua/lmathlib.c: Likewise.
18635 * script/lua/lstate.c: Likewise.
18636 * script/lua/ltm.c: Likewise.
18637 * script/lua/lvm.c: Likewise.
18638 * script/lua/lmem.h: Likewise.
18639 * script/lua/lstate.h: Likewise.
18640 * script/lua/ltm.h: Likewise.
18641 * script/lua/ltable.c: Likewise.
18642 * script/lua/lvm.h: Likewise.
18643 * script/lua/llex.c: Likewise.
18644 * script/lua/lgc.c: Likewise.
18645 * script/lua/grub_lua.h: Likewise.
18646 * script/lua/loadlib.c: Likewise.
18647 * script/lua/lfunc.c: Likewise.
18648 * script/lua/lopcodes.c: Likewise.
18649 * script/lua/lparser.c: Likewise.
18650 * script/lua/ltable.h: Likewise.
18651 * script/lua/llex.h: Likewise.
18652 * script/lua/lgc.h: Likewise.
18653 * script/lua/lfunc.h: Likewise.
18654 * script/lua/lbaselib.c: Likewise.
18655 * script/lua/lopcodes.h: Likewise.
18656 * script/lua/lparser.h: Likewise.
18657 * script/lua/lzio.c: Likewise.
18658 * script/lua/linit.c: Likewise.
18659 * script/lua/lobject.c: Likewise.
18660 * script/lua/llimits.h: Likewise.
18661 * script/lua/lstring.c: Likewise.
18662 * script/lua/lzio.h: Likewise.
18663 * script/lua/lapi.c: Likewise.
18664 * script/lua/lcode.c: Likewise.
18665 * script/lua/lua.h: Likewise.
18666 * script/lua/lobject.h: Likewise.
18667 * script/lua/lstring.h: Likewise.
18668 * script/lua/lapi.h: Likewise.
18669 * script/lua/lcode.h: Likewise.
18670 * script/lua/luaconf.h: Likewise.
18671
cb8a2c38 186722009-09-26 Colin Watson <cjwatson@ubuntu.com>
18673
18674 * docs/grub.texi (Command-line and menu entry commands): Document
18675 date and echo commands.
18676
6b9b6276 186772009-09-24 Pavel Roskin <proski@gnu.org>
18678
18679 * include/grub/kernel.h (struct grub_module_header): Remove
18680 `grub_module_header_types'. Make `type' unsigned. Make `size'
18681 32-bit on all platforms.
18682 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
18683 8-bit field. Use grub_host_to_target32() for `size'.
18684 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
18685 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
18686 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
18687
4e5a02a7 186882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18689
18690 Fix "lost keypress" bug in at_keyboard.
18691
18692 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
18693 Checks for readyness of input buffer (without flushing it).
18694 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
18695 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
18696
c6dcedf6 186972009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18698
18699 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
18700 size check within GRUB_MACHINE_PCBIOS section.
18701
74c958b1 187022009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18703
18704 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
18705 return value.
18706 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
18707 KEYBOARD_ISREADY check.
18708 (grub_at_keyboard_checkkey): Rename to ...
18709 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
18710 Remove gratuitous cast.
18711
ff420223 187122009-09-23 Colin Watson <cjwatson@ubuntu.com>
18713
18714 * configure.ac: Call AC_PROG_MKDIR_P.
18715 * Makefile.in (docs/stamp-vti): Create docs directory. Create
18716 version.texi in $(builddir) rather than $(srcdir).
18717 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
18718 to makeinfo's @include search path.
18719
d96875df 187202009-09-23 Felix Zielcke <fzielcke@z-51.de>
18721
18722 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
18723
9b3f8365 187242009-09-23 Felix Zielcke <fzielcke@z-51.de>
18725
18726 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
18727 for `*.dpkg-new'.
18728
c44c90db 187292009-09-21 Colin Watson <cjwatson@ubuntu.com>
18730
18731 Build info documentation. Some code borrowed from Automake.
18732
18733 * configure.ac: Check for makeinfo.
18734 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
18735 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
18736 docs/version.texi.
18737 (MOSTLYCLEANFILES): Add vti.tmp.
18738 (docs/version.texi, docs/stamp-vti): Update automatically.
18739 (docs/grub.info): Build info documentation. Use --force and ignore
18740 errors for now.
18741 (all-local): Add $(INFOS).
18742 (install-local): Install info files.
18743 (uninstall): Uninstall info files.
18744 * docs/version.texi: Remove from revision control. This file is
18745 automatically generated on build now.
18746 * gendistlist.sh: Add `*.info'.
18747
e0b37bb5 187482009-09-21 Felix Zielcke <fzielcke@z-51.de>
18749
18750 * kern/term.c: Fix indentation.
18751
5a78865b 187522009-09-21 Felix Zielcke <fzielcke@z-51.de>
18753
18754 * util/hostdisk.c: Fix a comment.
18755
dace7e8a 187562009-09-20 Robert Millan <rmh.grub@aybabtu.com>
18757
18758 Fix regression introduced in r2539.
18759
18760 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
18761 to 0xA1.
18762
a83d079b 187632009-09-19 Colin Watson <cjwatson@ubuntu.com>
18764
18765 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 18766 os-prober. Under normal operation, it does not print anything to
18767 stderr; if it does, we need to debug it, and throwing away stderr
18768 makes that excessively difficult.
a83d079b 18769
be94a509 187702009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
18771
18772 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
18773
63f745e8 187742009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18775
18776 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
18777 AC_LANG_PROGRAM from autoconf.
18778 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
18779 prototypes (fixes warning).
18780
18781 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
18782 `--disable-werror' was used.
18783
bbb2a70f 187842009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18785
18786 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
18787 uninitialized `lastaddr'.
18788
77c24f1d 187892009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18790
0f0b8c87 18791 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 18792
07197f23 187932009-09-14 Colin Watson <cjwatson@ubuntu.com>
18794
18795 * commands/test.c (get_fileinfo): Return immediately if
18796 grub_fs_probe fails.
18797
dabf1798 187982009-09-14 José Martínez <xosemp@gmail.com>
18799
18800 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
18801
d52109a7 188022009-09-14 Colin Watson <cjwatson@ubuntu.com>
18803
18804 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
18805 output.
18806
56532179 188072009-09-13 Robert Millan <rmh.grub@aybabtu.com>
18808
18809 * configure.ac: Remove --enable-grub-pe2elf. Only build
18810 grub-pe2elf when needed by the build system itself.
18811 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
18812
8ef070f5 188132009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18814
18815 * configure.ac: Bump version to 1.97~beta3.
18816 * docs/version.texi: Likewise.
18817
61229557 188182009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18819
18820 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
18821 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
18822 from here ...
18823 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
18824 (grub_linux_setup_video): ... to here (with some adjustments).
18825
5c9f8d84 188262009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18827
18828 Fix memory corruption issue (spotted by Colin Watson).
18829
18830 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
18831 causing returned size to be stored in an incorrect memory location.
18832 Fix use of uninitialized value when storing the returned size.
18833
e8f5d6e9 188342009-09-12 Yves Blusseau <blusseau@zetam.org>
18835
18836 Change clean rules to properly remove files
18837
18838 * genmk.rb: add new clean rules
18839 * Makefile.in (clean): add the new targets
18840 (mostlyclean): likewise
18841
cda2a409 188422009-09-11 Colin Watson <cjwatson@ubuntu.com>
18843
18844 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
18845 to grub_uint64_t.
18846 * fs/ntfs.c (init_file): Understand 64-bit sizes for
18847 non-resident files.
18848
86695375 188492009-09-11 Colin Watson <cjwatson@ubuntu.com>
18850
18851 * configure.ac: Don't look for help2man when cross-compiling. Fixes
18852 part of bug #27349.
18853
8aa1541a 188542009-09-10 Felix Zielcke <fzielcke@z-51.de>
18855
18856 * util/grub-mkconfig.in: Make the created config mode 400 and
18857 print a warning if it fails.
18858
48d9bb0a 188592009-09-10 Robert Millan <rmh.grub@aybabtu.com>
18860
18861 * util/grub.d/40_custom.in: Ask user to type custom entries below
18862 comment, rather than below 'exec tail' line.
18863
3b0521be 188642009-09-10 Colin Watson <cjwatson@ubuntu.com>
18865
18866 * util/grub.d/40_custom.in: Make sure that the explanatory text is
18867 visible in grub.cfg.
18868
50051d55 188692009-09-10 Colin Watson <cjwatson@ubuntu.com>
18870
18871 * util/grub.d/40_custom.in: Make it a little clearer how to use this
18872 file.
18873
c0d34387 188742009-09-10 Felix Zielcke <fzielcke@z-51.de>
18875
18876 * docs/grub.cfg: Add an example menu entry for memtest86+.
18877
80a608f3 188782009-09-09 Felix Zielcke <fzielcke@z-51.de>
18879
a2094832 18880 * config.guess: Update to latest version from config git.
80a608f3 18881 * config.sub: Likewise.
18882
99423078 188832009-09-08 Colin Watson <cjwatson@ubuntu.com>
18884
18885 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
18886 unknown-command case. Fixes bug #27320.
18887
44454e4c 188882009-09-08 Felix Zielcke <fzielcke@z-51.de>
18889
18890 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
18891 `help' if the command exists.
18892
e30d87ad 188932009-09-06 Robert Millan <rmh.grub@aybabtu.com>
18894
18895 * INSTALL: Require GCC 4.1.3 or later.
18896
9a86f1ec 188972009-09-06 Yves Blusseau <blusseau@zetam.org>
18898
18899 * Makefile.in (RMKFILES): add i386-qemu.rmk
18900 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
18901 $(srcdir)/stamp-h.in
18902
7f26d466 189032009-09-05 Robert Millan <rmh.grub@aybabtu.com>
18904
18905 * util/grub-probe.c (probe): Comment out buggy codepath, which
18906 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
18907 should be re-enabled after 1.97.
18908
3a613259 189092009-09-05 Felix Zielcke <fzielcke@z-51.de>
18910
18911 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
18912 find searches for.
18913
197f76c7 189142009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18915
18916 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
18917 unnecessary calls to grub_error.
18918
70ba68ce 189192009-09-04 Colin Watson <cjwatson@ubuntu.com>
18920
18921 * NEWS: Mention `keystatus' and Unicode fonts.
18922
4ff0d7a4 189232009-09-04 Robert Millan <rmh.grub@aybabtu.com>
18924
18925 * configure.ac: Bump version to 1.97~beta2.
18926 * docs/version.texi: Likewise.
18927
77c55a87 189282009-09-03 Colin Watson <cjwatson@ubuntu.com>
18929
18930 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
18931 containing unwind information in some cases where it previously did
18932 not. Use -fno-dwarf2-cfi-asm if available to restore the old
18933 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
18934 discussion.
18935
f79572cd 189362009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
18937
18938 Embedding loadenv module into grub-emu
18939
18940 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
18941 commands/loadenv.c
18942 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
18943 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
18944 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
18945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
18946 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
18947 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
18948
93a81088 189492009-09-03 Magnus Granberg <zorry@ume.nu>
18950
18951 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
18952 include -fPIE in the default specs.
18953 * configure.ac: Check if pie_possible is yes and add -fno-PIE
18954 to TARGET_CFLAGS.
18955
160034b2 189562009-09-03 Felix Zielcke <fzielcke@z-51.de>
18957
18958 * INSTALL: Note that GNU Bison 2.3 or later is required.
18959
087c07c4 189602009-09-03 Colin Watson <cjwatson@ubuntu.com>
18961
18962 * kern/i386/pc/startup.S: Fix typo.
18963
cbf978c0 189642009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
18967 according to GCS.
18968
189692009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 18970
18971 * docs/grub.texi (Naming convention): Describe one-based partition
18972 numbering.
18973 (Device syntax): Likewise.
18974 (File name syntax): Likewise.
18975 (Block list syntax): Likewise.
18976 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
18977 menu.lst.
18978 (File name syntax): Likewise.
18979 (Command-line and menu entry commands): Document acpi, blocklist,
18980 crc, export, insmod, keystatus, ls, set, and unset commands.
18981
f3e8cdfd 189822009-09-02 Colin Watson <cjwatson@ubuntu.com>
18983
18984 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
18985 to avoid implying that only one of --shift, --ctrl, or --alt may be
18986 used.
18987
c0bc232b 189882009-09-02 Colin Watson <cjwatson@ubuntu.com>
18989
18990 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
18991 rather than comparing against S_IFREG, which will almost never work.
18992
aa0f752d 189932009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18994
18995 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
18996 (write_blocklists): Likewise.
18997
ecb3166a 189982009-09-01 Colin Watson <cjwatson@ubuntu.com>
18999
19000 * script/lua/grub_lua.h (fputs): Supply a format string as the first
19001 argument to grub_printf.
19002
c403a125 190032009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 19004
19005 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 19006 non GNU test.
31aba781 19007
b5e7312c 190082009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19009
19010 * kern/file.c (grub_file_read): Spelling fix
19011
fe00f472 190122009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19013
19014 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
19015 loading of headers in some cases.
19016
cc55302e 190172009-08-30 Robert Millan <rmh.grub@aybabtu.com>
19018
19019 * configure.ac: Bump version to 1.97~beta1.
19020 * docs/version.texi: Likewise.
19021
5c90cdd2 190222009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 19023
19024 * include/grub/i386/xnu.h: Add license header.
19025 include grub/err.h explicitly.
19026
c90edae4 190272009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19028
19029 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
19030 to `ufs' in the vfs.root.mountfrom kernel parameter.
19031
d8888b5c 190322009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19033
19034 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
19035
19036 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
19037 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
19038
19039 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
19040 `ARRAY_SIZE' macro.
19041
6f07b921 190422009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19043
19044 * kern/file.c (grub_file_read): Check offset.
19045 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
19046 * fs/jfs.c (grub_jfs_read_file): Likewise.
19047 * fs/ntfs.c (grub_ntfs_read): Likewise.
19048 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
19049 * fs/minix.c (grub_minix_read_file): Correct offset check.
19050 * fs/ufs.c (grub_ufs_read_file): Likewise.
19051
b4f34077 190522009-08-28 Colin Watson <cjwatson@ubuntu.com>
19053
19054 * term/i386/pc/console.c (bios_data_area): Cast
19055 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
19056
e7c69859 190572009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 1-bit optimised blitters.
19060
19061 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
19062 prototype.
19063 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19064 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19065 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19066 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19067 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19068 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19069 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
19070 function.
19071 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19072 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19073 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19074 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19075 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19076 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19077 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
19078 when possible.
19079 * video/video.c (grub_video_get_blit_format): Return
19080 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
19081
a57da43f 190822009-08-28 Colin Watson <cjwatson@ubuntu.com>
19083
19084 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
19085 the first argument to grub_printf.
19086
4cbe67e5 190872009-08-28 Colin Watson <cjwatson@ubuntu.com>
190882009-08-28 Robert Millan <rmh.grub@aybabtu.com>
19089
19090 Add `getkeystatus' terminal method. Add a new `keystatus' command
19091 to query it.
19092
19093 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
19094 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
19095 modifier key bitmasks.
19096 (struct grub_term_input): Add `getkeystatus' member.
19097 (grub_getkeystatus): Add prototype.
19098 * kern/term.c (grub_getkeystatus): New function.
19099
19100 * include/grub/i386/pc/memory.h
19101 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
19102 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
19103 Data Area layout.
19104 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
19105 (grub_console_term_input): Set `getkeystatus' member.
19106 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
19107 constants.
19108 (grub_usb_keyboard_getreport): Likewise.
19109 (grub_usb_keyboard_checkkey): Likewise.
19110 (grub_usb_keyboard_getkeystatus): New function.
19111 (grub_usb_keyboard_term): Set `getkeystatus' member.
19112
19113 * commands/keystatus.c: New file.
19114 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
19115 (keystatus_mod_SOURCES): New variable.
19116 (keystatus_mod_CFLAGS): Likewise.
19117 (keystatus_mod_LDFLAGS): Likewise.
19118 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
19119 commands/keystatus.c.
19120 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19121 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19122 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19124 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19125 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 19126
6e2a9085 191272009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19128
19129 Split befs.mod and afs.mod into *_be.mod and *.mod
19130
19131 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
19132 (grub_fstest_SOURCES): Likewise.
19133 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
19134 (afs_be_mod_SOURCES): New variable.
19135 (afs_be_mod_CFLAGS): Likewise.
19136 (afs_be_mod_LDFLAGS): Likewise.
19137 (befs_be_mod_SOURCES): Likewise.
19138 (befs_be_mod_CFLAGS): Likewise.
19139 (befs_be_mod_LDFLAGS): Likewise.
19140 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
19141 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19142 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19143 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19144 (grub_emu_SOURCES): Likewise.
19145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19146 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19147 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19148 * fs/afs_be.c: New file.
19149 * fs/befs_be.c: New file.
19150 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
19151 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
19152 (U16): Replaced with ...
19153 (grub_afs_to_cpu16): ...this. All users updated.
19154 (U32): Replaced with ...
19155 (grub_afs_to_cpu32): ...this. All users updated.
19156 (U64): Replaced with ...
19157 (grub_afs_to_cpu64): ...this. All users updated.
19158 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
19159 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 19160 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 19161 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19162 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19163 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19164 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19165 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19166 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19167 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19168 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19169
32a71655 191702009-08-26 Bean <bean123ch@gmail.com>
19171
19172 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
19173 64-bit number.
19174 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
19175 (grub_xfs_inode_block): Change return type to grub_uint64_t.
19176 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
19177
552bf6c5 191782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19179
19180 NetBSD memory map support.
19181
19182 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
19183 (grub_netbsd_btinfo_mmap_header): New structure.
19184 (grub_netbsd_btinfo_mmap_entry): Likewise.
19185 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
19186
1ae2078c 191872009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 Enable bsd.mod on coreboot.
19190
19191 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
19192 (bsd_mod_SOURCES): New variable.
19193 (bsd_mod_CFLAGS): Likewise.
19194 (bsd_mod_LDFLAGS): Likewise.
19195 (bsd_mod_ASFLAGS): Likewise.
19196 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
19197 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
19198
beefc598 191992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 Cleanup NetBSD root support.
19202
19203 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
19204 grub_bsd_get_device.
19205 Fix typo.
19206
3b76e68b 192072009-08-25 Felix Zielcke <fzielcke@z-51.de>
19208
19209 * util/grub.d/00_header.in: Move check for the video backend of
19210 gfxterm from here ...
19211 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
19212 a suitable video backend.
19213
aea664ea 192142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19215
19216 Fix breakage in grub-setup.
19217
19218 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
19219 "msdos_partition_map".
19220
ff747d50 192212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19222
19223 Fix breakage in normal/auth.c.
19224
19225 * normal/auth.c (grub_iswordseparator): New function.
19226
e7e1f93f 192272009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 Authentication support.
19230
19231 * commands/password.c: New file.
19232 * conf/common.rmk (pkglib_MODULES): Add password.mod.
19233 (password_mod_SOURCES): New variable.
19234 (password_mod_CFLAGS): Likewise.
19235 (password_mod_LDFLAGS): Likewise.
19236 (normal_mod_SOURCES): Add normal/auth.c.
19237 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
19238 normal/auth.c.
19239 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19240 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19241 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19243 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19244 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19245 * include/grub/auth.h: New file.
19246 * include/grub/err.h (grub_err_t): New enum value
19247 GRUB_ERR_ACCESS_DENIED.
19248 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
19249 'users'.
19250 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
19251 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
19252 users updated.
19253 * normal/auth.c: New file.
19254 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
19255 (grub_cmdline_run): Don't allow to go to command line without
19256 authentication.
19257 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
19258 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
19259 menuentry without superuser rights.
19260 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
19261 user isn't a superuser.
19262
70f1161d 192632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 Save space by inlining misc.c functions.
19266
19267 * kern/misc.c (grub_iswordseparator): Made static.
19268 * kern/misc.c (grub_strcat): Moved from here ...
19269 * include/grub/misc.h (grub_strcat): ... here. Inlined.
19270 * kern/misc.c (grub_strncat): Moved from here ...
19271 * include/grub/misc.h (grub_strncat): ... here. Inlined.
19272 * kern/misc.c (grub_strcasecmp): Moved from here ...
19273 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
19274 * kern/misc.c (grub_strncasecmp): Moved from here ...
19275 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
19276 * kern/misc.c (grub_isalpha): Moved from here ...
19277 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
19278 * kern/misc.c (grub_isdigit): Moved from here ...
19279 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
19280 * kern/misc.c (grub_isgraph): Moved from here ...
19281 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
19282 * kern/misc.c (grub_tolower): Moved from here ...
19283 * include/grub/misc.h (grub_tolower): ... here. Inlined.
19284
48e40bff 192852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * script/sh/function.c (grub_script_function_find): Cut error message
19288 not to flood terminal.
19289 * script/sh/lexer.c (grub_script_yylex): Remove command line length
19290 limit.
19291 * script/sh/script.c (grub_script_arg_add): Duplicate string.
19292
c385bfc3 192932009-08-24 Colin Watson <cjwatson@ubuntu.com>
19294
19295 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
19296 `report' grub_uint8_t *.
19297 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
19298 Use a 50-millisecond timeout rather than just repeating
19299 grub_usb_keyboard_getreport 50 times.
19300 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
19301
2d21e3e8 193022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19303
19304 Rename *_partition_map to part_*
19305
19306 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
19307 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
19308 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
19309 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
19310 All users updated.
19311 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
19312 All users updated.
19313 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
19314 * util/grub-probe.c (probe_partmap): Don't transform partition name
19315 to get module name.
19316
dd103c4e 193172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 Fix OpenBSD and NetBSD support.
19320
19321 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
19322 memory address conflict.
19323 (OPENBSD_MMAP_ACPI): New definition.
19324 (OPENBSD_MMAP_NVS): Likewise.
19325 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
19326 and OPENBSD_MMAP_NVS.
19327 Add memory map terminator
19328 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 19329 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 19330
16c84d74 193312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 Let user specify NetBSD root device.
19334
19335 * loader/i386/bsd.c (netbsd_root): New variable.
19336 (netbsd_opts): New option 'root'.
19337 (NETBSD_ROOT_ARG): New macro.
19338 (grub_netbsd_boot): Use 'netbsd_root'.
19339 (grub_bsd_unload): Free 'netbsd_root'.
19340 (grub_cmd_netbsd): Fill 'netbsd_root'.
19341
adb29902 193422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 Support for 64-bit NetBSD.
19345
19346 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
19347 point when booting non-FreeBSD.
19348
f5ae9f74 193492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 Support --no-smp and --no-acpi for NetBSD.
19352
19353 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
19354 (NETBSD_AB_NOACPI): Likewise.
19355 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
19356 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
19357
de74f136 193582009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19359
19360 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
19361 errors.
19362 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
19363 errors. Call grub_error when needed.
19364
e9a925da 193652009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19366
19367 * commands/search.c (search_fs): Try searching without autoload first.
19368 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19369 filesystem module explicitly for faster booting.
19370
5174302b 193712009-08-23 Colin Watson <cjwatson@ubuntu.com>
19372
19373 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
19374
c8c80635 193752009-08-23 Colin Watson <cjwatson@ubuntu.com>
19376
19377 * util/grub.d/30_os-prober.in: Disable os-prober if
19378 `GRUB_DISABLE_OS_PROBER' was set to true.
19379
71acf5e5 193802009-08-23 Robert Millan <rmh.grub@aybabtu.com>
19381
19382 * partmap/pc.c: Rename to ...
19383 * partmap/msdos.c: ... this. Update all users.
19384 (grub_pc_partition_map): Rename to ...
19385 (grub_msdos_partition_map): ... this. Update all users.
19386
19387 * parttool/pcpart.c: Rename to ...
19388 * parttool/msdospart.c: ... this. Update all users.
19389
19390 * include/grub/pc_partition.h: Rename to ...
19391 * include/grub/msdos_partition.h: ... this. Update all users.
19392 (grub_pc_partition_bsd_entry): Rename to ...
19393 (grub_msdos_partition_bsd_entry): ... this. Update all users.
19394 (grub_pc_partition_disk_label): Rename to ...
19395 (grub_msdos_partition_disk_label): ... this. Update all users.
19396 (grub_pc_partition_entry): Rename to ...
19397 (grub_msdos_partition_entry): ... this. Update all users.
19398 (grub_pc_partition_mbr): Rename to ...
19399 (grub_msdos_partition_mbr): ... this. Update all users.
19400 (grub_pc_partition): Rename to ...
19401 (grub_msdos_partition): ... this. Update all users.
19402 (grub_pc_partition_is_empty): Rename to ...
19403 (grub_msdos_partition_is_empty): ... this. Update all users.
19404 (grub_pc_partition_is_extended): Rename to ...
19405 (grub_msdos_partition_is_extended): ... this. Update all users.
19406 (grub_pc_partition_is_bsd): Rename to ...
19407 (grub_msdos_partition_is_bsd): ... this. Update all users.
19408
19409 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
19410 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
19411 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
19412 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
19413 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
19414 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
19415 (gpt_mod_LDFLAGS): Rename to ...
19416 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
19417 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
19418 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
19419 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
19420 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
19421 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
19422 (part_gpt_mod_LDFLAGS): ... this.
19423 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
19424 `pcpart.mod' to `msdospart.mod'.
19425 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
19426 to ...
19427 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
19428 (msdospart_mod_LDFLAGS): ... this.
19429
c11fded5 194302009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19431
19432 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
19433 (openbsd_opts): Likewise.
19434 (netbsd_opts): Likewise.
19435 (freebsd_flags): Added 0 terminator.
19436 (openbsd_flags): Likewise.
19437 (netbsd_flags): Likewise.
19438 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
19439 (grub_cmd_freebsd): Transformed into extended command.
19440 (grub_cmd_openbsd): Likewise.
19441 (grub_cmd_netbsd): Likewise.
19442 (cmd_freebsd): Changed type to grub_extcmd_t.
19443 (cmd_openbsd): Likewise.
19444 (cmd_netbsd): Likewise.
19445 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
19446 grub_cmd_openbsd as extended commands.
19447 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
19448 cmd_netbsd and cmd_openbsd
19449
11d1c769 194502009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
19453
7a9094e5 194542009-08-21 Pavel Roskin <proski@gnu.org>
19455
5496c37e 19456 * Makefile.in (install-local): When checking if a file is in the
19457 build directory, use "test -e" to detect symlinks.
19458
7a9094e5 19459 * Makefile.in (install-local): Remove all files in
19460 $(DESTDIR)$(pkglibdir) before installing new files there.
19461
e53cea11 194622009-08-18 Felix Zielcke <fzielcke@z-51.de>
19463
19464 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
19465 grub-mkelfimage.
19466
9aced544 194672009-08-18 Felix Zielcke <fzielcke@z-51.de>
19468
19469 * util/grub-mkconfig.in: Don't use gfxterm by default if not
19470 explicitly specified by the user.
19471
b7da6bab 194722009-08-18 Pavel Roskin <proski@gnu.org>
19473
19474 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
19475 grub_uint8_t pointer for data.
19476 * include/grub/fbutil.h (struct grub_video_fbblit_info):
19477 Likewise.
19478 * video/fb/fbutil.c: Remove unnecessary casts.
19479
19f1b335 194802009-08-17 Michal Suchanek <hramrach@centrum.cz>
19481
19482 VBE cleanup.
19483
19484 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
19485 (grub_vbe_set_video_mode): Save active mode info
19486 only after setting the mode.
19487 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
19488 second argument.
19489
2f467aa9 194902009-08-17 Michal Suchanek <hramrach@centrum.cz>
19491
19492 Rename variables for clarity.
19493
19494 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
19495 (active_vbe_mode_info): ... this. All users updated.
19496 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
19497 All users updated.
19498 (initial_mode): Rename to ...
19499 (initial_vbe_mode): ... this. All users updated.
19500 (mode_in_use): Rename to ..
19501 (vbe_mode_in_use): ... this. All users updated.
19502 (mode_list): Rename to ..
19503 (vbe_mode_list): ... this. All users updated.
19504 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
19505 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
19506 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
19507 'mode_list_size' to 'vbe_mode_list_size'.
19508 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
19509 'best_mode_info' to 'best_vbe_mode_info' and
19510 'best_mode' to 'best_vbe_mode'
19511
6025fcd7 195122009-08-17 Michal Suchanek <hramrach@centrum.cz>
19513
19514 Remove duplicate grub_video_fb_get_video_ptr.
19515
19516 * include/grub/fbutil.h (get_data_ptr): Rename to ...
19517 (grub_video_fb_get_video_ptr): ... this.
19518 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
19519 * video/fb/fbutil.c: Add comment about addressing.
19520 (get_data_ptr): Rename to ...
19521 (grub_video_fb_get_video_ptr): ... this. All users updated.
19522 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
19523
cc8c6faf 195242009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19525
19526 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
19527 grub_dprintf() that was just added.
19528
08aa61f0 195292009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19530
19531 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
19532 (DEFAULT_VIDEO_MODE): Remove macros.
19533 (grub_linux_boot): Remove assumption that Linux has FB support,
19534 and use "text" as default video mode.
19535
7cef4f75 195362009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
19539 grub_dprintf.
19540 * fs/fat.c (grub_fat_read_data): Likewise.
19541
e1f39873 195422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19543
19544 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
19545 payload.
19546 (grub_module): Likewise.
19547
c166d79e 195482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
19551 mbi->cmdline but free playground.
19552
c60cee8e 195532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 Handle group offset on UFS1.
19556
19557 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
19558 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
19559
c0d8b5d4 195602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19561
19562 Split ufs.mod into ufs1.mod and ufs2.mod.
19563
19564 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
19565 (grub_fstest_SOURCES): Likewise.
19566 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
19567 (ufs_mod_SOURCES): Remove.
19568 (ufs_mod_CFLAGS): Likewise.
19569 (ufs_mod_LDFLAGS): Likewise.
19570 (ufs1_mod_SOURCES): New variable.
19571 (ufs1_mod_CFLAGS): Likewise.
19572 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 19573 (ufs2_mod_SOURCES): New variable.
19574 (ufs2_mod_CFLAGS): Likewise.
19575 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 19576 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
19577 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19578 Likewise.
19579 (grub_emu_SOURCES): Likewise.
19580 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19581 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19582 (grub_setup_SOURCES): Likewise.
19583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19584 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
19585 (grub_setup_SOURCES): Likewise.
19586 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19587 Likewise.
19588 * fs/ufs2.c: New file.
19589 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
19590
d3539132 195912009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19592
19593 Framebuffer split.
19594
19595 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
19596 subsystem at the end.
19597 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
19598 (video_fb_mod_SOURCES): New variable.
19599 (video_fb_mod_CFLAGS): Likewise.
19600 (video_fb_mod_LDFLAGS): Likewise.
19601 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
19602 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
19603 * video/i386/pc/vbeblit.c: Moved from here ...
19604 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
19605 * video/i386/pc/vbefill.c: Moved from here ...
19606 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
19607 * video/i386/pc/vbeutil.c: Moved from here ...
19608 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
19609 * include/grub/i386/pc/vbeblit.h: Moved from here ...
19610 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
19611 * include/grub/i386/pc/vbefill.h: Moved from here ...
19612 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
19613 * include/grub/i386/pc/vbeutil.h: Moved from here ...
19614 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
19615 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
19616 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
19617 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
19618 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
19619 (grub_video_adapter): Added 'get_info_and_fini'.
19620 (grub_video_get_info_and_fini): New prototype.
19621 (grub_video_set_mode): make modestring const char *.
19622 * loader/i386/linux.c (grub_linux_setup_video): Use
19623 grub_video_get_info_and_fini.
19624 (grub_linux_boot): Move modesetting just before booting.
19625 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
19626 grub_video_get_info_and_fini.
19627 * video/i386/pc/vbe.c: Moved framebuffer part ...
19628 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
19629 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
19630 grub_video_fbstd_colors and grub_video_fb_set_palette.
19631 (grub_video_vbe_init): Clear 'framebuffer' variable and use
19632 grub_video_fb_init.
19633 (grub_video_vbe_fini): Use grub_video_fb_fini.
19634 (grub_video_vbe_setup): Use framebuffer.render_target instead of
19635 render_target and use grub_video_fb_set_active_render_target and
19636 grub_video_fb_set_palette.
19637 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
19638 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
19639 (grub_video_vbe_adapter): Use framebuffer.
19640 * video/video.c (grub_video_get_info_and_fini): New function.
19641 (grub_video_set_mode): Make modestring const char *.
19642 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
19643 values are already initialised.
19644
d404ee56 196452009-08-14 Pavel Roskin <proski@gnu.org>
19646
19647 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
19648 ABS and APPLE_CC.
19649 * boot/i386/pc/diskboot.S: Likewise.
19650 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
19651 sectors allow compilation on MacOSX.
19652 * conf/i386-pc.rmk: Enable unconditional compilation of
19653 lnxboot.img.
19654
9a10df16 196552009-08-13 Colin Watson <cjwatson@ubuntu.com>
19656
19657 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
19658 * util/grub.d/00_header.in: Enter interruptible sleep if
19659 GRUB_HIDDEN_TIMEOUT is set.
19660
be3c9ca7 196612009-08-13 Yves Blusseau <blusseau@zetam.org>
19662
19663 * include/grub/symbol.h: Add the LOCAL macro.
19664 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
19665 starting with "L_".
19666
1f9e557e 196672009-08-13 Pavel Roskin <proski@gnu.org>
19668
9ca62843 19669 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
19670 any modern compilers we support.
19671
1f9e557e 19672 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
19673 Use local labels starting with "L_" so that Apple assembler
19674 knows they are local.
19675
81623db6 196762009-08-10 Robert Millan <rmh.grub@aybabtu.com>
19677
19678 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
19679 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
19680 (bsd_kernel_types): ... this enum.
19681
19682 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
19683 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
19684 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
19685
19686 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
19687 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
19688 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
19689 messages.
19690
f5d35e7a 196912009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19692
19693 * util/grub-dumpdevtree: Moved from here ...
19694 * util/i386/efi/grub-dumpdevtree: ... to here.
19695 (hexify): New function. Converts a string to its hex version.
19696 Generate hex versions of "efi" and "device-properties" by calling
19697 hexify() on the ASCII strings rather than by hardcoding numbers.
19698
d1e1d527 196992009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19700
19701 * fs/jfs.c: Update copyright year.
19702
1ebbe064 197032009-08-08 Felix Zielcke <fzielcke@z-51.de>
19704
19705 * util/grub.d/00_header.in: Fix a comment.
19706 * util/grub.d/10_linux.in: Likewise.
19707 * util/grub.d/10_windows.in: Likewise.
19708 * util/grub.d/10_hurd.in: Likewise.
19709
a78c8d24 197102009-08-08 Felix Zielcke <fzielcke@z-51.de>
19711
19712 * util/grub-mkconfig.in: Allow the user to specify the used font
19713 with GRUB_FONT.
19714
29a6b9e8 197152009-08-08 Pavel Roskin <proski@gnu.org>
19716
b5f16cc4 19717 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
19718 available, xfs.mod needs it now.
19719
2f5cb827 19720 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
19721 the "g" modifier in sed when the intention is to strip something
19722 once. This fixes comparison of kernels with multiple dashes.
19723
29a6b9e8 19724 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
19725 on it. Add missing space before closing bracket. Fix
19726 misleading formatting.
19727
892a3d98 197282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19729
19730 * docs/grub.texi: Major overhaul. Remove all sections that are
19731 specific to GRUB Legacy, or mostly composed of Legacy-specific
19732 information.
19733
ed94253f 197342009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19735
19736 * docs/version.texi: New file. Provides version information for
19737 grub.texi.
19738
126d6628 197392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19740
19741 * docs/grub.texi: Update CVS information to SVN.
19742 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
19743
998b5aa9 197442009-08-07 Felix Zielcke <fzielcke@z-51.de>
19745
19746 * util/grub-mkconfig.in: Remove a wrong `fi'.
19747
818e094a 197482009-08-07 Felix Zielcke <fzielcke@z-51.de>
19749
19750 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
19751 (grub_jfs_uuid): New function.
19752 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
19753
b969c52f 197542009-08-07 Felix Zielcke <fzielcke@z-51.de>
19755
19756 * util/grub-mkconfig_lib.in (font_path): Move the functionality
19757 of it to ...
19758 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
19759 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
19760
7a4894cc 197612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19762
19763 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
19764 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
19765 Update all users.
19766
19767 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
19768 not just "vmlinu[zx]".
19769 Moved from here ...
19770 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
19771 all users.
19772
19773 * util/grub.d/10_linux.in (find_latest): Moved from here ...
19774 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
19775 all users.
19776
4e2171f8 197772009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19778
19779 * util/grub.d/10_freebsd.in: Use an absolute device path for
19780 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
19781
6dcfcb32 197822009-08-06 Felix Zielcke <fzielcke@z-51.de>
19783
19784 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
19785 handling of multiple abstraction modules.
19786
f56a8756 197872009-08-04 Robert Millan <rmh.grub@aybabtu.com>
19788
19789 Fix a bug resulting in black screen when loading Linux using a
19790 packed video mode.
19791
19792 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
19793 function.
19794
19795 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
19796 (grub_vbe_bios_getset_dac_palette_width): New function.
19797 (grub_vbe_bios_get_dac_palette_width)
19798 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
19799 grub_vbe_bios_getset_dac_palette_width()).
19800
19801 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
19802 check for return status.
19803 (grub_vbe_get_video_mode_info): When getting information for a packed
19804 mode (<= 8 bpp), obtain DAC palette width using
19805 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
19806 {red,green,blue}_mark_size.
19807
222671b2 198082009-08-04 Felix Zielcke <fzielcke@z-51.de>
19809
ecb1a6d9 19810 * commands/search.c (options): Fix help output to match actual code.
222671b2 19811
f84114f5 198122009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
19813
19814 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
19815 of homegrown code.
19816
bd288a20 198172009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 19818
19819 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
19820 on XFS or ReiserFS.
19821
8aab5e25 198222009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19823
19824 Support Apple partition map with sector size different from 512 bytes.
19825
19826 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
19827 (apple_partition_map_iterate): Respect 'aheader.blocksize'
19828 and 'apart.partmap_size'.
19829
6ad6258a 198302009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
198312009-08-01 Robert Millan <rmh.grub@aybabtu.com>
19832
19833 Fix cpuid command.
19834
19835 * commands/i386/cpuid.c (options): New variable.
19836 (grub_cmd_cpuid): Return real error.
19837 (GRUB_MOD_INIT(cpuid)): Declare options.
19838
67459bc6 198392009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
19840
19841 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
19842 valid.
19843
fbc6ab54 198442009-07-31 Bean <bean123ch@gmail.com>
19845
19846 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
19847 log2_inode.
19848 (grub_fshelp_node): Move inode field to the end.
19849 (grub_xfs_data): Remove inode field.
19850 (grub_xfs_inode_block): Calculate inode size using sblock.
19851 (grub_xfs_inode_offset): Likewise.
19852 (grub_xfs_read_inode): Calculate inode size using sblock.
19853 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
19854 (grub_xfs_iterate_dir): Calculate inode size using sblock.
19855 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
19856 to match inode size.
19857 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
19858 not accessible when data is null.
19859 (grub_xfs_open): Likewise.
19860
f45d6cfc 198612009-07-31 Bean <bean123ch@gmail.com>
19862
19863 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
19864 Don't change pv->disk if it's already set.
19865
19866 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
19867 (grub_raid_register): ... here.
19868 (grub_raid_rescan): Removed.
19869
19870 * include/grub/raid.h (grub_raid_rescan): Removed.
19871
19872 * util/grub-fstest.c: Remove include file <grub/raid.h>.
19873 (fstest): Replace grub_raid_rescan with module fini function followed
19874 by init function.
19875
19876 * util/grub-probe.c: Add include file <grub/raid.h>.
19877 (probe_raid_level): New function.
19878 (probe): Detect abstraction by walking the disk device, support two
19879 level of abstraction (LVM on RAID) when detecting partition map.
19880
24443b5a 198812009-07-31 Pavel Roskin <proski@gnu.org>
19882
19883 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
19884 to grub_zalloc(), it was erroneous.
19885 Reported by Bean <bean123ch@gmail.com>
19886
a275d9e7 198872009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
19888
19889 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 19890 embedding zone, not only the first one.
a275d9e7 19891
56c5a47f 198922009-07-29 Joe Auricchio <jauricchio@gmail.com>
19893
19894 * term/gfxterm.c (clear_char): New function.
19895 (grub_virtual_screen_setup): Use clear_char.
19896 (scroll_up): Likewise.
19897 (grub_virtual_screen_cls): Likewise.
19898
67bb323a 198992009-07-29 Felix Zielcke <fzielcke@z-51.de>
19900
19901 * util/deviceiter.c (get_acceleraid_disk_name): New static
19902 function.
19903 (grub_util_iterate_devices): Handle Accelraid devices.
19904 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
19905
388a7c75 199062009-07-28 Robert Millan <rmh.grub@aybabtu.com>
19907
19908 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
19909 separator for the suggested gfxpayload string (';' collides with the
19910 parser and needs escaping).
19911
3bb7abcf 199122009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19913
19914 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
19915 Clear direction flag before jumping to OS.
19916 (grub_multiboot2_real_boot): Likewise.
19917
2ddd36d7 199182009-07-28 Felix Zielcke <fzielcke@z-51.de>
19919
19920 * util/i386/pc/grub-install: Fix parsing of --disk-module
19921 option.
19922
c521b62b 199232009-07-28 Felix Zielcke <fzielcke@z-51.de>
19924
19925 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
19926 when embedding.
19927
880e0a0c 199282009-07-26 Felix Zielcke <fzielcke@z-51.de>
19929
19930 * util/grub-mkconfig.in (package_version): New variable.
19931 Use it do display the version.
19932
2366e356 199332009-07-25 Felix Zielcke <fzielcke@z-51.de>
19934
19935 * kern/file.c (grub_file_open): Revert to previous check with
19936 grub_errno.
19937
7ad8c80e 199382009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19939
19940 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
19941 from help line. It's out of sync with code.
19942
72b9658b 199432009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19944
19945 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
19946 entries on failed boot.
19947
77435277 199482009-07-25 Felix Zielcke <fzielcke@z-51.de>
19949
19950 * kern/file.c (grub_file_open): Fix an error check.
19951
fcaa8b21 199522009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
19953
35d16c74 19954 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
19955 partition map couldn't be identified.
fcaa8b21 19956
48904cd1 199572009-07-23 Pavel Roskin <proski@gnu.org>
19958
ef3c317f 19959 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
19960 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
19961 case of little endian words becomes just an optimization.
19962 Respect const modifier.
ad8ea1f4 19963 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 19964
48904cd1 19965 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
19966 to avoid loss of upper bits if align is unsigned and shorter
19967 than addr.
19968
260c9a89 199692009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 UUID support for UFS
19972
19973 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
19974 (grub_ufs_uuid): New function.
19975 (grub_ufs_fs): add .uuid
19976
f76ce889 199772009-07-21 Pavel Roskin <proski@gnu.org>
19978
19979 * kern/dl.c (grub_dl_check_header): Make static.
19980
6a6cbcaf 199812009-07-21 Felix Zielcke <fzielcke@z-51.de>
19982
19983 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
19984 add drivemap for Vista. It breaks Windows 7.
19985
cffcddb2 199862009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
19987
19988 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
19989 128 bytes
19990
1ef44b80 199912009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 Add BFS support
19994
19995 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
19996 (grub_fstest_SOURCES): Likewise.
19997 (pkglib_MODULES): Add befs.mod.
19998 (befs_mod_SOURCES): New variable.
19999 (befs_mod_CFLAGS): Likewise.
20000 (befs_mod_LDFLAGS): Likewise.
20001 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20002 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20003 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20004 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20005 (grub_setup_SOURCES): Likewise.
20006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20007 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20008 (grub_setup_SOURCES): Likewise.
20009 * fs/befs.c: New file.
20010 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
20011 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
20012 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
20013 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
20014 (B_KEY_INDEX_ALIGN): New declaration.
20015 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
20016 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
20017 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
20018 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
20019 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
20020 (grub_afs_mount) [MODE_BFS]: Likewise.
20021 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
20022 (grub_afs_fs): Use GRUB_AFS_FSNAME
20023 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
20024 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
20025 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
20026 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
20027
4f253044 200282009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
20029
20030 * util/getroot.c (find_root_device): Add support for MacOSX.
20031 * util/hostdisk.c: Likewise.
20032
57a55913 200332009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 * font/font.c (find_glyph): Check whether a font is present to avoid
20036 segmentation fault.
75421ca9 20037
200382009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 20039
20040 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
20041
e98cd0c2 200422009-07-20 Pavel Roskin <proski@gnu.org>
20043
20044 * configure.ac: Trim excessively wordy excuses.
20045
1d2d169a 200462009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 Add symlink, mtime and label support to AtheFS.
20049
20050 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
20051 (grub_afs_iterate_dir): Handle symlinks.
20052 (grub_afs_open): Use grub_afs_read_symlink.
20053 (grub_afs_dir): Likewise.
20054 Pass mtime.
20055 (grub_afs_label): New function.
20056 (grub_afs_fs): Add grub_afs_label.
20057 (grub_afs_read_symlink): New function.
20058
186f3189 200592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20060
20061 Fix AtheFS support.
20062
20063 * fs/afs.c: Fix comments style.
20064 (grub_afs_blockrun): Declare as packed.
20065 (grub_afs_datastream): Likewise.
20066 (grub_afs_bnode): Likewise.
20067 (grub_afs_btree): Likewise.
20068 (grub_afs_sblock): Likewise.
20069 Declare `name' as char.
20070 (grub_afs_inode): Declare as packed.
20071 Change void *vnode to grub_uint32_t unused.
20072 (grub_afs_iterate_dir): Check that key_size is positive.
20073 (grub_afs_mount): Don't read superblock twice.
75421ca9 20074 (grub_afs_dir): Don't free node in case of error,
186f3189 20075 grub_fshelp_find_file already handles this.
20076 (grub_afs_open): Likewise.
20077
5680109e 200782009-07-19 Pavel Roskin <proski@gnu.org>
20079
20080 * Makefile.in: Remove LIBLZO and enable_lzo.
20081 * conf/i386-pc.rmk: Remove lzo support.
20082 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
20083 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
20084 support.
20085 * kern/i386/pc/lzo1x.S: Remove.
20086 * kern/i386/pc/startup.S: Remove lzo support.
20087 * util/i386/pc/grub-mkimage.c: Likewise.
20088
ac70fa32 200892009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
20090
20091 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
20092 * fs/xfs.c (grub_xfs_dir): Likewise.
20093 * fs/afs.c (grub_afs_dir): Likewise.
20094 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
20095 (grub_iso9660_open): Likewise.
20096 * fs/jfs.c (grub_jfs_open): Likewise.
20097 * fs/ext2.c (grub_ext2_dir): Likewise.
20098 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
20099 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 20100
eab58da2 201012009-07-16 Pavel Roskin <proski@gnu.org>
20102
d2838156 20103 * configure.ac: Never add "-c" to CFLAGS.
20104
55c70904 20105 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
20106
43e6200c 20107 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
20108 grub_cv_cc_efiemu should be used.
20109
ce7a733d 20110 * configure.ac: Typo fixes.
20111
eab58da2 20112 * kern/mm.c (grub_zalloc): New function.
20113 (grub_debug_zalloc): Likewise.
20114 * include/grub/mm.h: Declare grub_zalloc() and
20115 grub_debug_zalloc().
20116 * util/misc.c (grub_zalloc): New function.
20117 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
20118 instead of grub_malloc(), remove unneeded initializations.
20119 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
20120 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
20121 * commands/parttool.c (grub_cmd_parttool): Likewise.
20122 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20123 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
20124 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
20125 * disk/usbms.c (grub_usbms_finddevs): Likewise.
20126 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
20127 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
20128 (grub_cmd_efiemu_pnvram): Likewise.
20129 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
20130 * fs/iso9660.c (grub_iso9660_mount): Likewise.
20131 (grub_iso9660_iterate_dir): Likewise.
20132 * fs/jfs.c (grub_jfs_opendir): Likewise.
20133 * fs/ntfs.c (list_file): Likewise.
20134 (grub_ntfs_mount): Likewise.
20135 * kern/disk.c (grub_disk_open): Likewise.
20136 * kern/dl.c (grub_dl_load_core): Likewise.
20137 * kern/elf.c (grub_elf_file): Likewise.
20138 * kern/env.c (grub_env_context_open): Likewise.
20139 (grub_env_set): Likewise.
20140 (grub_env_set_data_slot): Likewise.
20141 * kern/file.c (grub_file_open): Likewise.
20142 * kern/fs.c (grub_fs_blocklist_open): Likewise.
20143 * loader/i386/multiboot.c (grub_module): Likewise.
20144 * loader/xnu.c (grub_xnu_create_key): Likewise.
20145 (grub_xnu_create_value): Likewise.
20146 * normal/main.c (grub_normal_add_menu_entry): Likewise.
20147 (read_config_file): Likewise.
20148 * normal/menu_entry.c (make_screen): Likewise.
20149 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20150 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
20151 * script/sh/script.c (grub_script_parse): Likewise.
20152 * video/bitmap.c (grub_video_bitmap_create): Likewise.
20153 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
20154 * video/readers/png.c (grub_png_output_byte): Likewise.
20155 (grub_video_reader_png): Likewise.
20156
830afef7 201572009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 20158
20159 Enable all targets that can be built by default
20160
830afef7 20161 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 20162 grub-mkfont and grub-fstest if they can be built
20163
ee293aee 201642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20165
20166 Fix hang and segmentation fault in grub-emu-usb
20167
20168 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
20169 * util/usb.c (grub_libusb_devices): likewise
20170 (grub_libusb_init): rename to ...
20171 (GRUB_MOD_INIT (libusb)):...this
20172 (grub_libusb_fini): rename to ..
20173 (GRUB_MOD_FINI (libusb)):...this
20174 * disk/usbms.c (grub_usbms_transfer): fix retry logic
20175 * include/grub/disk.h (grub_raid_init): removed, it's useless
20176 (grub_raid_fini): likewise
20177 (grub_lvm_init): likewise
20178 (grub_lvm_fini): likewise
20179 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
20180 by grub_init_all
20181
94414221 201822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20183
20184 Fix libusb
20185
20186 * Makefile.in (LIBUSB): new macro
20187 * genmk.rb (Utility/print_tail): new method
20188 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
20189 (top level): call util.print_tail at the end.
20190
59ade63d 201912009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 Make FreeBSD accept zpool.cache
20194
20195 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
20196 type is /boot/zfs/zpool.cache
20197
a58da8c7 201982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 Fix 64-bit efiemu
20201
20202 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
20203 correct wrong typedef
20204 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
20205
20591577 202062009-07-15 Pavel Roskin <proski@gnu.org>
20207
560ca572 20208 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
20209 * kern/disk.c (struct grub_disk_cache): Likewise.
20210
e8e8e4fd 20211 * commands/probe.c (options): Typo fix.
20212
fde24e10 20213 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
20214 Increase to 0x5a to accommodate FAT32. Adjust other offsets
20215 accordingly.
20216 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
20217
379c54c1 20218 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
20219 the end of "Error" to make the message more readable.
20220
7bd8f5bf 20221 * boot/i386/pc/boot.S (kernel_segment): Remove.
20222 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
20223 for destination.
20224
40b132c5 20225 * boot/i386/pc/boot.S (boot_version): Remove.
20226 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
20227 Remove.
20228
20591577 20229 * include/grub/i386/pc/boot.h: Sort all offsets.
20230 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
20231 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
20232 * boot/i386/pc/boot.S: Assert location of every offset listed in
20233 include/grub/i386/pc/boot.h.
20234
2df32b2c 202352009-07-13 Pavel Roskin <proski@gnu.org>
20236
44b5d879 20237 * include/grub/i386/coreboot/machine.h: Rename
20238 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
20239 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
20240 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
20241
17dc3751 20242 * kern/dl.c: Force native word size to suppress warnings when
20243 compiling grub-emu.
20244
2df32b2c 20245 * kern/device.c (grub_device_iterate): Change struct part_ent to
20246 hold the name, not a pointer to it. Use one grub_malloc() per
20247 partition, not two. Free partition_name if grub_malloc() fails.
20248 Set ents to NULL only before grub_partition_iterate() is called.
20249
75c59f59 202502009-07-11 Bean <bean123ch@gmail.com>
20251
20252 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
20253 childname.
20254
0ae1bf88 202552009-07-10 Bean <bean123ch@gmail.com>
202562009-07-10 Robert Millan <rmh.grub@aybabtu.com>
20257
20258 * kern/ieee1275/openfw.c (grub_children_iterate)
20259 (grub_devalias_iterate): Fix size evaluation for property or path
20260 strings, which was broken since r2132.
20261
8279cade 202622009-07-07 Pavel Roskin <proski@gnu.org>
20263
7d8a52d3 20264 * commands/search.c (search_file): Merge into ...
20265 (search_fs): ... this. Accept search type as argument.
20266 (grub_cmd_search): Pass search type to search_fs().
20267
25f9a05a 20268 * include/grub/util/console.h: New file.
20269 * util/console.c: Use it instead of grub/machine/console.h.
20270 * util/grub-emu.c: Likewise.
20271
8279cade 20272 * lib/arg.c (find_long_option): Remove.
20273 (find_long): Add `len' argument, make `s' const char *.
20274 (grub_arg_parse): Parse long options in place, not in a
20275 temporary buffer.
20276
4a11b60f 202772009-07-06 Pavel Roskin <proski@gnu.org>
20278
99f68041 20279 * commands/search.c (search_fs): Fix potential NULL pointer
20280 dereference.
20281
4a11b60f 20282 * commands/search.c (search_fs): Replace QUID macro with quid_fn
20283 function pointer.
20284
e110f4de 202852009-07-06 Daniel Mierswa <impulze@impulze.org>
20286
20287 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
20288 comparison.
20289
46eeb6a2 202902009-07-05 Pavel Roskin <proski@gnu.org>
20291
bab74958 20292 * include/grub/i386/linux.h (struct linux_kernel_params):
20293 Restore padding3, it's still needed.
20294
46eeb6a2 20295 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
20296 FreeBSD.
20297 * util/osdetect.lua: Likewise.
20298
b4a1dc79 202992009-07-05 Bean <bean123ch@gmail.com>
20300
20301 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
20302
20303 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
20304 (grub_lua_getenv): Likewise.
20305 (grub_lua_setenv): Likewise.
20306 (save_errno): New function.
20307 (push_result): Likewise.
20308 (grub_lua_enum_device): Likewise.
20309 (grub_lua_enum_file): Likewise.
20310 (grub_lua_file_open): Likewise.
20311 (grub_lua_file_close): Likewise.
20312 (grub_lua_file_seek): Likewise.
20313 (grub_lua_file_read): Likewise.
20314 (grub_lua_file_getline): Likewise.
20315 (grub_lua_file_getsize): Likewise.
20316 (grub_lua_file_getpos): Likewise.
20317 (grub_lua_file_eof): Likewise.
20318 (grub_lua_file_exist): Likewise.
20319 (grub_lua_add_menu): Likewise.
20320
20321 * script/lua/grub_lua.h (isupper): New inline function.
20322 (islower): Likewise.
20323 (ispunct): Likewise.
20324 (isxdigit): Likewise.
20325 (strcspn): Change to normal function.
20326 (strpbkr): New function declaration.
20327 (memchr): Likewise.
20328
20329 * script/lua/grub_main.c (scan_str): New function.
20330 (strcspn): Likewise.
20331 (strpbrk): Likewise.
20332 (memchr): Likewise.
20333
20334 * script/lua/linit.c (lualibs): Enable the string library.
20335
20336 * util/osdetect.lua: New file.
20337
2da92295 203382009-07-04 Robert Millan <rmh.grub@aybabtu.com>
20339
20340 * include/grub/i386/linux.h (struct linux_kernel_params): Add
20341 `capabilities' member.
20342
b2582ec9 203432009-07-02 Pavel Roskin <proski@gnu.org>
20344
20345 * genparttoollist.sh: Add missing newline at the end.
20346
32622956 203472009-07-01 Pavel Roskin <proski@gnu.org>
20348
87a7339e 20349 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
20350
d23af54e 20351 * util/hostdisk.c (open_device): Remove `const' from
20352 `sysctl_size', as sysctlbyname() can change it (in this case it
20353 doesn't actually happen).
20354
c94b18a9 20355 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
20356 using signed long int constants.
20357
c6cd3ef0 20358 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
20359 constant to avoid a warning on FreeBSD.
20360
0df63420 20361 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
20362 where it's needed.
20363
999577f1 20364 * Makefile.in: Install include/grub/machine symlink.
20365
6f41557f 20366 * Makefile.in: When installing symlinks, use "cp -fR", which
20367 works on FreeBSD and MacOSX.
20368 From Yves Blusseau <cl7m42e02@sneakemail.com>
20369
c8d22988 20370 * kern/dl.c (grub_dl_resolve_symbol): Make static.
20371 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
20372
1b96e952 20373 * util/misc.c: Move grub_reboot() and grub_halt() ...
20374 * util/grub-emu.c: ... here. Make main_env static.
20375 * include/grub/util/misc.h: Remove main_env.
20376
2ef0084d 20377 * kern/mm.c: Use correct format to print size_t.
20378
32622956 20379 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
20380 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
20381 * kern/powerpc/dl.c: Likewise.
20382 * kern/sparc64/dl.c: Likewise.
20383 * kern/x86_64/dl.c: Likewise.
20384
3f7f0cd0 203852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20386
20387 Fix grub-emu build on sparc64-ieee1275.
20388
75421ca9 20389 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 20390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
20391
211d06b5 203922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20393
20394 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
20395 (grub_reboot, grub_halt): New functions.
20396
20397 * util/i386/pc/misc.c: Delete. Update all users.
20398 * util/sparc64/ieee1275/misc.c: Likewise.
20399 * util/powerpc/ieee1275/misc.c: Likewise.
20400
aaf53e3c 204012009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20402
20403 * conf/i386.rmk (setjmp_mod_SOURCES)
20404 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
20405 * conf/common.rmk (setjmp_mod_SOURCES)
20406 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
20407 to use $(target_cpu).
20408 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
20409 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
20410 * conf/powerpc-ieee1275.rmk: Likewise.
20411 * conf/sparc64-ieee1275.rmk: Likewise.
20412
20413 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
20414 $(target_cpu) for kern/$(target_cpu)/dl.c.
20415 * conf/i386-efi.rmk: Likewise.
20416 * conf/i386-ieee1275.rmk: Likewise.
20417 * conf/x86_64-efi.rmk: Likewise.
20418 * conf/i386-coreboot.rmk: Likewise.
20419 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
20420 $(target_cpu) for kern/$(target_cpu)/dl.c and for
20421 kern/$(target_cpu)/cache.S.
20422 * conf/sparc64-ieee1275.rmk: Likewise.
20423
a337130b 204242009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20425
20426 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
20427 type to `grub_uint8_t', and adjust `padding9' accordingly.
20428
c6fe4d53 204292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20430
b09db61d 20431 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
20432
c6fe4d53 20433 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
20434 assembly in final jump, using register constraints.
20435
b09db61d 20436 (grub_linux_boot): For text mode, initialize `have_vga' using
20437 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
20438
20439 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
20440 right before the final jump.
20441
20442 Set `video_mode' to 0x3.
20443
20444 Document initialization of `video_page', `video_mode' and
20445 `video_ega_bx'.
20446
28333ad0 204472009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20448
20449 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
20450 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 20451 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 20452
02164e1b 204532009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20454
20455 Fix build on Debian / sparc.
20456
20457 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
20458
18b6c557 204592009-06-28 Pavel Roskin <proski@gnu.org>
20460
85f2aab6 20461 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
20462 fix a warning.
20463
18b6c557 20464 * util/grub.d/10_linux.in: Match SUSE style initrd names.
20465
ad760f81 204662009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20467
20468 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
20469 `err'.
20470
87a4623b 204712009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20472
20473 Revert r2338.
20474
20475 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
20476 file can't be opened. grub_file_open() is already supposed to set
75421ca9 20477 grub_errno / grub_errmsg appropriately.
87a4623b 20478 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20479
8231fb77 204802009-06-27 Pavel Roskin <proski@gnu.org>
204812009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20482
20483 * include/grub/dl.h: Include grub/elf.h.
20484 (struct grub_dl): Add symtab field.
20485 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
20486 GRUB_MODULES_MACHINE_READONLY.
20487 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
20488 of the header for read-only modules.
20489 (grub_dl_unload): Free mod->symtab for read-only modules.
20490 * kern/i386/dl.c: Use mod->symtab.
20491 * kern/powerpc/dl.c: Likewise.
20492 * kern/sparc64/dl.c: Likewise.
20493 * kern/x86_64/dl.c: Likewise.
20494
20495 * conf/i386-qemu.rmk: New file.
20496 * kern/i386/qemu/startup.S: Likewise.
20497 * kern/i386/qemu/mmap.c: Likewise.
20498 * boot/i386/qemu/boot.S: Likewise.
20499 * include/grub/i386/qemu/time.h: Likewise.
20500 * include/grub/i386/qemu/serial.h: Likewise.
20501 * include/grub/i386/qemu/kernel.h: Likewise.
20502 * include/grub/i386/qemu/console.h: Likewise.
20503 * include/grub/i386/qemu/boot.h: Likewise.
20504 * include/grub/i386/qemu/init.h: Likewise.
20505 * include/grub/i386/qemu/machine.h: Likewise.
20506 * include/grub/i386/qemu/loader.h: Likewise.
20507 * include/grub/i386/qemu/memory.h: Likewise.
20508
20509 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
20510 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
20511 [qemu] (pkglib_IMAGES): Add `boot.img'.
20512 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
20513 [qemu] (boot_img_FORMAT): New variables.
20514 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
20515 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
20516 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
20517 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20518 [qemu] (kernel_img_FORMAT): New variables.
20519
20520 * configure.ac: Recognise `i386-qemu'.
20521
20522 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
20523 (for no compression).
20524 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
20525 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
20526 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
20527 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
20528 ifdefs).
20529
97fe384e 205302009-06-27 Pavel Roskin <proski@gnu.org>
20531
20532 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
20533 read.
20534 * efiemu/prepare32.c: Likewise.
20535 * efiemu/prepare64.c: Likewise.
20536
c402ab17 205372009-06-26 Pavel Roskin <proski@gnu.org>
20538
20539 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
20540 * include/grub/elf.h: Define symbols without "32" or "64" based
20541 on GRUB_TARGET_WORDSIZE.
20542 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
20543 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
20544 ELF definitions.
20545 * efiemu/loadcore64.c: Likewise.
20546 * loader/i386/bsd32.c: Likewise.
20547 * loader/i386/bsd64.c: Likewise.
20548 * kern/dl.c: Remove own ELF definitions.
20549 * util/i386/efi/grub-mkimage.c: Likewise.
20550
9bbdfd4d 205512009-06-23 Robert Millan <rmh.grub@aybabtu.com>
20552
20553 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
20554 segment 0x0 unconditionally, because the reference generated by
20555 GAS is an absolute address.
20556
a42ce6e9 205572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20558
20559 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
20560 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
20561
c952cf92 205622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20563
20564 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
20565 indexes. Check for -f explicitly.
cc3752ad 20566 (search_file): Improve error message.
20567 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 20568
132a0a59 205692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20570
20571 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
20572 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
20573
387a140c 205742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20575
20576 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
20577 * conf/i386-ieee1275.rmk: Likewise.
20578 * conf/i386-coreboot.rmk: Likewise.
20579
20580 * kern/i386/pc/startup.S (grub_stop): Remove function.
20581 * kern/i386/ieee1275/startup.S: Likewise.
20582 * kern/i386/coreboot/startup.S: Likewise.
20583 * kern/i386/misc.S (grub_stop): New function.
20584
41da9665 205852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20586
20587 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
20588 * kern/i386/realmode.S (real_to_prot): ... to here.
20589
bf337234 205902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20591
20592 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
20593 with `kernel.img'.
20594 (kernel_elf_SOURCES): Rename to ...
20595 (kernel_img_SOURCES): ... this.
20596 (kernel_elf_HEADERS): Rename to ...
20597 (kernel_img_HEADERS): ... this. Update all users.
20598 (kernel_elf_ASFLAGS): Rename to ...
20599 (kernel_img_ASFLAGS): ... this.
20600 (kernel_elf_CFLAGS): Rename to ...
20601 (kernel_img_CFLAGS): ... this.
20602 (kernel_elf_LDFLAGS): Rename to ...
20603 (kernel_img_LDFLAGS): ... this.
20604 * conf/i386-coreboot.rmk: Likewise.
20605 * conf/powerpc-ieee1275.rmk: Likewise.
20606
20607 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
20608 with "kernel.img".
20609
f52196ff 206102009-06-21 Pavel Roskin <proski@gnu.org>
20611
c3cee413 20612 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
20613 to match nested functions.
20614 * loader/sparc64/ieee1275/linux.c: Likewise.
20615
f52196ff 20616 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
20617
58750afc 206182009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20619
20620 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
20621 all i386 platforms.
20622
15355c7d 206232009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20624
20625 Fix asm file handling on ELF, and remove workarounds.
20626
20627 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 20628 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 20629 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
20630 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
20631
3f3ec72b 206322009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
20633
20634 Load BSD ELF modules
20635
20636 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
20637 and loader/i386/bsd64.c
20638 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
20639 (FREEBSD_MODTYPE_ELF_MODULE): New definition
20640 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
20641 (grub_freebsd_load_elfmodule32): New declaration
20642 (grub_freebsd_load_elfmoduleobj64): Likewise
20643 (grub_freebsd_load_elf_meta32): Likewise
20644 (grub_freebsd_load_elf_meta64): Likewise
20645 (grub_freebsd_add_meta): Likewise
20646 (grub_freebsd_add_meta_module): Likewise
20647 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
20648 (grub_freebsd_add_meta_module): Likewise and move module-specific
20649 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
20650 (grub_cmd_freebsd): Add elf-kernel specific parts
20651 based on grub_freebsd_add_meta_module
20652 (grub_cmd_freebsd_module): Add type parsing moved from
20653 grub_freebsd_add_meta_module
20654 (grub_cmd_freebsd_module_elf): New function
20655 (cmd_freebsd_module_elf): New variable
20656 (GRUB_MOD_INIT): Register freebsd_module_elf
20657 * loader/i386/bsd32.c: New file
20658 * loader/i386/bsd64.c: Likewise
20659 * loader/i386/bsdXX.c: Likewise
20660 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
20661 (grub_elf64_load): Likewise
20662 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
20663 All users updated
20664 (grub_elf64_load_hook_t): Likewise
20665
0db15301 206662009-06-21 Colin Watson <cjwatson@ubuntu.com>
20667
20668 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
20669 variable.
20670 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
20671 don't write a menu entry for recovery mode.
20672
546796c1 206732009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20674
20675 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
20676 after it's no longer needed.
20677
cd7310d5 206782009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20679
20680 * include/grub/i386/loader.h (grub_linux_prot_size)
20681 (grub_linux_tmp_addr, grub_linux_real_addr)
20682 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
20683 GRUB_MACHINE_PCBIOS.
20684 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
20685 common grub_util_info() call to ...
20686 (generate_image): ... here.
20687 Fix use of uninitialized memory, comparison of signed with
20688 unsigned integers and memory leak.
20689 Remove bogus module address message.
20690
ab32d3b5 206912009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20692
20693 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
20694 grub_raid_register
20695 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
20696
024ef597 206972009-06-19 Pavel Roskin <proski@gnu.org>
20698
20699 * configure.ac: Remove stray AC_MSG_CHECKING.
20700
3ac72b51 207012009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
20702
20703 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 20704
e14cd814 207052009-06-18 Pavel Roskin <proski@gnu.org>
20706
20707 * conf/common.rmk: Add fs_file.mod.
20708 * disk/fs_file.c: New file.
20709 * include/grub/disk.h (enum grub_disk_dev_id): Add
20710 GRUB_DISK_DEVICE_FILE_ID.
20711
26586d98 207122009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20713
20714 Fix build with Apple's toolchain. Part 2
20715
20716 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
20717 a fake start
20718
26de2bcd 207192009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20720
20721 Fix build with Apple's toolchain. Part 1
20722
20723 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
20724 for long calls
20725 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 20726 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 20727 Apple's toolchain
20728
09b3490b 207292009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20730
20731 Fix warnings
20732
20733 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
20734 (decomp_block): initialize ch
20735 use grub_memcpy instead of memcpy
20736
c22a006a 207372009-06-17 Pavel Roskin <proski@gnu.org>
20738
d3638678 20739 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
20740 version, use declarations needed to use vga_text as the startup
20741 console.
20742
c22a006a 20743 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
20744 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
20745 the kernel.
20746 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
20747 and grub_at_keyboard_fini(), it's done on module load and
20748 unload.
20749
05b129e0 207502009-06-17 Felix Zielcke <fzielcke@z-51.de>
20751
20752 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
20753 file can't be found.
20754 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20755
cf24ed9e 207562009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 Fix newline handling
20759
20760 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 20761 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 20762 (grub_script_yylex): don't segfault on unterminated script
20763 newline terminates command and variable
20764
74aa8e4b 207652009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20766
20767 avoid double grub_adjust_range call. Bug reported by David Simner
20768
20769 * kern/disk.c (grub_disk_write): change to raw disk access before
20770 calling disk_read
20771
1bd265f3 207722009-06-17 Colin Watson <cjwatson@ubuntu.com>
20773
20774 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
20775 spaces, for the benefit of help2man.
20776 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20777
a2d08c06 207782009-06-16 Pavel Roskin <proski@gnu.org>
20779
20780 * kern/i386/halt.c: Include grub/machine/init.h.
20781 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
20782
b97bcb19 207832009-06-16 Felix Zielcke <fzielcke@z-51.de>
20784
20785 * util/grub.d/30_os-prober.in: Use ${root} in the generated
20786 drivemap menuentry.
20787
0644f96c 207882009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
20789
20790 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
20791 `echo' command.
20792
3ef17a2e 207932009-06-16 Pavel Roskin <proski@gnu.org>
20794
20795 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
20796 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
20797 save %dx, we only need %dl and we never change it.
20798 * boot/i386/pc/cdboot.S: Don't set the root drive.
20799 * boot/i386/pc/pxeboot.S: Likewise.
20800 * include/grub/i386/pc/boot.h: Remove
20801 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
20802 GRUB_BOOT_MACHINE_DRIVE_CHECK.
20803 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
20804 * kern/i386/pc/init.c (make_install_device): Remove references
20805 to grub_root_drive.
20806 * kern/i386/pc/startup.S: Likewise.
20807 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
20808
693fe637 208092009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20810
20811 xnu_uuid command
20812
20813 * commands/xnu_uuid.c: new file
20814 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
20815 (xnu_uuid_mod_SOURCES): new variable
20816 (xnu_uuid_mod_CFLAGS): likewise
20817 (xnu_uuid_mod_LDFLAGS): likewise
20818 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
20819 * conf/i386-ieee1275.rmk: likewise
20820 * conf/i386-pc.rmk: likewise
20821 * conf/powerpc-ieee1275.rmk: likewise
20822 * conf/sparc64-ieee1275.rmk: likewise
20823 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
20824
c9da87d0 208252009-06-16 Pavel Roskin <proski@gnu.org>
20826
20827 * configure.ac: Avoid '==' in test command, it's not portable.
20828
9c6f4596 208292009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20830
20831 Probe command
20832
20833 * commands/probe.c: new file
20834 * conf/common.rmk (pkglib_MODULES): add probe.mod
20835 (probe_mod_SOURCES): new variable
20836 (probe_mod_CFLAGS): likewise
20837 (probe_mod_LDFLAGS): likewise
20838 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
20839 * conf/i386-ieee1275.rmk: likewise
20840 * conf/i386-pc.rmk: likewise
20841 * conf/powerpc-ieee1275.rmk: likewise
20842 * conf/sparc64-ieee1275.rmk: likewise
20843
70b7f9fd 208442009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
20845
20846 Fix handling of string like \"hello\" and "a
20847 b"
20848
20849 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
20850 (grub_script_yylex): fix parsing of quoting, escaping and newline
20851
71c79a6b 208522009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
20853
dd74360c 20854 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 20855 handling
dd74360c 20856
0644f96c 208572009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 20858
20859 * util/grub-mkconfig.in: Fix parsing of --output option.
20860
e40893c3 208612009-06-12 Pavel Roskin <proski@gnu.org>
20862
20863 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
20864 genmk.rb don't need to be generated or installed.
20865
3a1acfe2 208662009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20867
20868 * commands/i386/pc/drivemap_int13h.S: add more comments
20869
3a4575d4 208702009-06-11 Pavel Roskin <proski@gnu.org>
20871
0658e928 20872 * Makefile.in (uninstall): Uninstall manuals.
20873
ca0388f0 20874 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
20875 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
20876 and update-grub_lib in two places.
20877 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
20878
e3b27c39 20879 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
20880 a compiler warning.
20881
3a4575d4 20882 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
20883 `entry_lo' to fix variable shadowing.
20884
af1f4f55 208852009-06-11 Christian Franke <franke@computer.org>
20886
20887 * kern/misc.c (__enable_execute_stack): Add missing return type
20888 to prevent gcc warning.
20889
5225e649 208902009-06-11 Felix Zielcke <fzielcke@z-51.de>
20891
20892 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
20893
7d83bd47 208942009-06-11 Pavel Roskin <proski@gnu.org>
20895
c1cb63ba 20896 * Makefile.in: Don't rely on any scripts being executable.
20897 Always use $(SHELL) to run shell scripts.
20898
7d83bd47 20899 * configure.ac: Always define ___main if using -nostdlib. This
20900 fixes tests on Cygwin.
20901
948f48e7 209022009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
20903
20904 UDF fix
20905
7d83bd47 20906 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 20907 is in bytes and not in blocks
7d83bd47 20908
8ada9bc1 209092009-06-11 Pavel Roskin <proski@gnu.org>
20910
20911 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
20912 warning.
20913
25ad2323 209142009-06-11 Felix Zielcke <fzielcke@z-51.de>
20915
20916 * util/grub.d/30_os-prober.in: Fix a comment. Source
20917 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
20918 to set the root device. Place drivemap command in the generated
20919 chain entry.
20920
e65acb0c 209212009-06-11 Pavel Roskin <proski@gnu.org>
20922
20923 * configure.ac: Remove host_m32. Issues with 64-bit utilities
20924 have long been resolved.
20925
f285fe2d 209262009-06-11 Colin Watson <cjwatson@ubuntu.com>
20927
bd47b0b5 20928 * util/grub.d/10_linux.in: Capitalise "Linux".
20929
f285fe2d 20930 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
20931
a0c62e4e 209322009-06-11 Pavel Roskin <proski@gnu.org>
20933
b6783cb2 20934 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
20935 fix a gcc warning and ensure that the function won't ever exit.
20936
dde032e8 20937 * kern/i386/ieee1275/init.c: Add missing prototype for
20938 grub_stop_floppy().
20939
22cd079d 20940 * loader/ieee1275/multiboot2.c [__i386__]: Include
20941 grub/cpu/multiboot.h.
20942
a0c62e4e 20943 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
20944 casts to short - they are not portable and cause warnings. Fix
20945 use of uninitialized values in input_buf. Use ARRAY_SIZE.
20946
63963d17 209472009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
20948
20949 Drivemap fixes
20950
20951 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
20952 new function
20953 (grub_get_root_biosnumber_saved): new variable
20954 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
20955 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 20956 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 20957 %dx after the call if necessary
20958 * conf/common.rmk (pkglib_MODULES): remove boot.mod
20959 (boot_mod_SOURCES): remove
20960 (boot_mod_CFLAGS): remove
20961 (boot_mod_LDFLAGS): remove
20962 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
20963 (boot_mod_SOURCES): new variable
20964 (boot_mod_CFLAGS): likewise
20965 (boot_mod_LDFLAGS): likewise
20966 * conf/i386-efi.rmk: likewise
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 * conf/x86_64-efi.rmk: likewise
20972 * include/grub/i386/pc/biosnum.h: new file
20973 * lib/i386/pc/biosnum.c: likewise
20974 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
20975 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
20976 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 20977
33abf7ae 209782009-06-10 Pavel Roskin <proski@gnu.org>
20979
5ac35b35 20980 * io/gzio.c (test_header): Don't reuse one buffer for all data.
20981 Use separate variables. Read only the file size at the end, but
20982 not the checksum that we don't use.
20983
5c5215d5 20984 * kern/file.c (grub_file_read): Use void pointer for the buffer.
20985 Adjust all callers.
20986
27d5fef7 20987 * kern/ieee1275/openfw.c: Remove libc includes.
20988 * kern/ieee1275/cmain.c: Likewise.
20989 * include/grub/ieee1275/ieee1275.h: Likewise.
20990
33abf7ae 20991 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
20992 compiler warnings.
20993
19d50c2b 209942009-06-10 Felix Zielcke <fzielcke@z-51.de>
20995
20996 * Makefile.in: Remove all trailing whitespace.
20997 * conf/i386-pc.rmk: Likewise.
20998 * conf/powerpc-ieee1275.rmk: Likewise.
20999 * conf/sparc64-ieee1275.rmk: Likewise.
21000 * docs/grub.texi: Likewise.
21001 * docs/texinfo.tex: Likewise.
21002 * disk/fs_uuid.c: Likewise.
21003 * disk/lvm.c: Likewise.
21004 * disk/scsi.c: Likewise.
21005 * disk/ata.c: Likewise.
21006 * disk/ieee1275/ofdisk.c: Likewise.
21007 * disk/i386/pc/biosdisk.c: Likewise.
21008 * disk/host.c: Likewise.
21009 * disk/raid.c: Likewise.
21010 * disk/efi/efidisk.c: Likewise.
21011 * disk/usbms.c: Likewise.
21012 * disk/memdisk.c: Likewise.
21013 * disk/loopback.c: Likewise.
21014 * kern/powerpc/dl.c: Likewise.
21015 * kern/device.c: Likewise.
21016 * kern/dl.c: Likewise.
21017 * kern/sparc64/dl.c: Likewise.
21018 * kern/ieee1275/ieee1275.c: Likewise.
21019 * kern/term.c: Likewise.
21020 * kern/fs.c: Likewise.
21021 * kern/i386/dl.c: Likewise.
21022 * kern/i386/pc/startup.S: Likewise.
21023 * kern/i386/pc/init.c: Likewise.
21024 * kern/i386/pc/mmap.c: Likewise.
21025 * kern/i386/pc/lzo1x.S: Likewise.
21026 * kern/i386/ieee1275/init.c: Likewise.
21027 * kern/i386/realmode.S: Likewise.
21028 * kern/i386/tsc.c: Likewise.
21029 * kern/partition.c: Likewise.
21030 * kern/corecmd.c: Likewise.
21031 * kern/file.c: Likewise.
21032 * kern/efi/efi.c: Likewise.
21033 * kern/efi/init.c: Likewise.
21034 * kern/efi/mm.c: Likewise.
21035 * kern/main.c: Likewise.
21036 * kern/err.c: Likewise.
21037 * kern/env.c: Likewise.
21038 * kern/disk.c: Likewise.
21039 * kern/generic/millisleep.c: Likewise.
21040 * kern/generic/rtc_get_time_ms.c: Likewise.
21041 * kern/misc.c: Likewise.
21042 * kern/parser.c: Likewise.
21043 * genmk.rb: Likewise.
21044 * configure.ac: Likewise.
21045 * boot/i386/pc/diskboot.S: Likewise.
21046 * boot/i386/pc/pxeboot.S: Likewise.
21047 * boot/i386/pc/boot.S: Likewise.
21048 * boot/i386/pc/lnxboot.S: Likewise.
21049 * boot/i386/pc/cdboot.S: Likewise.
21050 * parttool/pcpart.c: Likewise.
21051 * video/readers/tga.c: Likewise.
21052 * video/video.c: Likewise.
21053 * video/bitmap.c: Likewise.
21054 * lib/envblk.c: Likewise.
21055 * lib/i386/setjmp.S: Likewise.
21056 * fs/xfs.c: Likewise.
21057 * fs/afs.c: Likewise.
21058 * fs/fat.c: Likewise.
21059 * fs/ntfs.c: Likewise.
21060 * fs/udf.c: Likewise.
21061 * fs/affs.c: Likewise.
21062 * fs/iso9660.c: Likewise.
21063 * fs/hfs.c: Likewise.
21064 * fs/fshelp.c: Likewise.
21065 * fs/ext2.c: Likewise.
21066 * fs/jfs.c: Likewise.
21067 * fs/reiserfs.c: Likewise.
21068 * fs/hfsplus.c: Likewise.
21069 * fs/minix.c: Likewise.
21070 * fs/cpio.c: Likewise.
21071 * fs/sfs.c: Likewise.
21072 * fs/ufs.c: Likewise.
21073 * efiemu/prepare.c: Likewise.
21074 * efiemu/loadcore_common.c: Likewise.
21075 * efiemu/runtime/efiemu.sh: Likewise.
21076 * efiemu/runtime/efiemu.S: Likewise.
21077 * efiemu/runtime/efiemu.c: Likewise.
21078 * efiemu/pnvram.c: Likewise.
21079 * efiemu/main.c: Likewise.
21080 * efiemu/i386/pc/cfgtables.c: Likewise.
21081 * efiemu/i386/loadcore64.c: Likewise.
21082 * efiemu/i386/loadcore32.c: Likewise.
21083 * efiemu/loadcore.c: Likewise.
21084 * efiemu/symbols.c: Likewise.
21085 * efiemu/mm.c: Likewise.
21086 * include/grub/autoefi.h: Likewise.
21087 * include/grub/datetime.h: Likewise.
21088 * include/grub/term.h: Likewise.
21089 * include/grub/hfs.h: Likewise.
21090 * include/grub/lvm.h: Likewise.
21091 * include/grub/i386/tsc.h: Likewise.
21092 * include/grub/i386/linux.h: Likewise.
21093 * include/grub/i386/xnu.h: Likewise.
21094 * include/grub/i386/efiemu.h: Likewise.
21095 * include/grub/i386/pc/biosdisk.h: Likewise.
21096 * include/grub/i386/pc/memory.h: Likewise.
21097 * include/grub/i386/pc/vbe.h: Likewise.
21098 * include/grub/parttool.h: Likewise.
21099 * include/grub/video.h: Likewise.
21100 * include/grub/memory.h: Likewise.
21101 * include/grub/fs.h: Likewise.
21102 * include/grub/partition.h: Likewise.
21103 * include/grub/xnu.h: Likewise.
21104 * include/grub/efi/api.h: Likewise.
21105 * include/grub/efi/pe32.h: Likewise.
21106 * include/grub/efi/memory.h: Likewise.
21107 * include/grub/multiboot.h: Likewise.
21108 * include/grub/usbdesc.h: Likewise.
21109 * include/grub/multiboot2.h: Likewise.
21110 * include/grub/acpi.h: Likewise.
21111 * include/grub/efiemu/efiemu.h: Likewise.
21112 * include/grub/disk.h: Likewise.
21113 * include/grub/ieee1275/ieee1275.h: Likewise.
21114 * include/grub/net.h: Likewise.
21115 * include/grub/machoload.h: Likewise.
21116 * include/grub/macho.h: Likewise.
21117 * include/multiboot.h: Likewise.
21118 * genmoddep.awk: Likewise.
21119 * normal/main.c: Likewise.
21120 * normal/menu_entry.c: Likewise.
21121 * normal/menu_viewer.c: Likewise.
21122 * normal/completion.c: Likewise.
21123 * normal/cmdline.c: Likewise.
21124 * normal/misc.c: Likewise.
21125 * normal/datetime.c: Likewise.
21126 * bus/usb/usbtrans.c: Likewise.
21127 * bus/usb/ohci.c: Likewise.
21128 * bus/usb/uhci.c: Likewise.
21129 * bus/usb/usb.c: Likewise.
21130 * mmap/efi/mmap.c: Likewise.
21131 * mmap/i386/pc/mmap_helper.S: Likewise.
21132 * mmap/i386/pc/mmap.c: Likewise.
21133 * mmap/i386/mmap.c: Likewise.
21134 * mmap/i386/uppermem.c: Likewise.
21135 * mmap/mmap.c: Likewise.
21136 * commands/acpi.c: Likewise.
21137 * commands/echo.c: Likewise.
21138 * commands/blocklist.c: Likewise.
21139 * commands/loadenv.c: Likewise.
21140 * commands/usbtest.c: Likewise.
21141 * commands/boot.c: Likewise.
21142 * commands/parttool.c: Likewise.
21143 * commands/search.c: Likewise.
21144 * commands/cat.c: Likewise.
21145 * commands/i386/pc/play.c: Likewise.
21146 * commands/i386/pc/drivemap.c: Likewise.
21147 * commands/i386/pc/vbeinfo.c: Likewise.
21148 * commands/i386/pc/acpi.c: Likewise.
21149 * commands/i386/pc/vbetest.c: Likewise.
21150 * commands/ls.c: Likewise.
21151 * commands/cmp.c: Likewise.
21152 * commands/test.c: Likewise.
21153 * commands/efi/acpi.c: Likewise.
21154 * commands/gptsync.c: Likewise.
21155 * commands/help.c: Likewise.
21156 * partmap/amiga.c: Likewise.
21157 * partmap/apple.c: Likewise.
21158 * partmap/acorn.c: Likewise.
21159 * partmap/pc.c: Likewise.
21160 * partmap/sun.c: Likewise.
21161 * partmap/gpt.c: Likewise.
21162 * script/sh/lexer.c: Likewise.
21163 * script/sh/function.c: Likewise.
21164 * font/font.c: Likewise.
21165 * font/font_cmd.c: Likewise.
21166 * loader/powerpc/ieee1275/linux.c: Likewise.
21167 * loader/efi/chainloader.c: Likewise.
21168 * loader/multiboot_loader.c: Likewise.
21169 * loader/macho.c: Likewise.
21170 * loader/i386/multiboot.c: Likewise.
21171 * loader/i386/linux.c: Likewise.
21172 * loader/i386/pc/linux.c: Likewise.
21173 * loader/i386/pc/multiboot2.c: Likewise.
21174 * loader/i386/pc/chainloader.c: Likewise.
21175 * loader/i386/pc/xnu.c: Likewise.
21176 * loader/i386/bsd_trampoline.S: Likewise.
21177 * loader/i386/efi/linux.c: Likewise.
21178 * loader/i386/multiboot_elfxx.c: Likewise.
21179 * loader/i386/bsd_helper.S: Likewise.
21180 * loader/i386/bsd.c: Likewise.
21181 * loader/i386/linux_trampoline.S: Likewise.
21182 * loader/i386/xnu_helper.S: Likewise.
21183 * loader/i386/xnu.c: Likewise.
21184 * loader/i386/bsd_pagetable.c: Likewise.
21185 * loader/i386/multiboot_helper.S: Likewise.
21186 * loader/xnu.c: Likewise.
21187 * loader/xnu_resume.c: Likewise.
21188 * io/gzio.c: Likewise.
21189 * term/efi/console.c: Likewise.
21190 * term/terminfo.c: Likewise.
21191 * term/ieee1275/ofconsole.c: Likewise.
21192 * term/i386/pc/serial.c: Likewise.
21193 * term/i386/pc/vesafb.c: Likewise.
21194 * term/i386/pc/vga.c: Likewise.
21195 * term/usb_keyboard.c: Likewise.
21196 * term/gfxterm.c: Likewise.
21197 * aclocal.m4: Likewise.
21198 * util/lvm.c: Likewise.
21199 * util/grub.d/30_os-prober.in: Likewise.
21200 * util/grub.d/10_hurd.in: Likewise.
21201 * util/console.c: Likewise.
21202 * util/grub-macho2img.c: Likewise.
21203 * util/grub-probe.c: Likewise.
21204 * util/hostfs.c: Likewise.
21205 * util/i386/pc/grub-mkimage.c: Likewise.
21206 * util/i386/pc/grub-setup.c: Likewise.
21207 * util/i386/efi/grub-mkimage.c: Likewise.
21208 * util/grub-mkconfig.in: Likewise.
21209 * util/raid.c: Likewise.
21210 * util/resolve.c: Likewise.
21211 * util/grub-mkdevicemap.c: Likewise.
21212 * util/grub-emu.c: Likewise.
21213 * util/getroot.c: Likewise.
21214 * util/hostdisk.c: Likewise.
21215 * util/usb.c: Likewise.
21216 * util/grub-editenv.c: Likewise.
21217 * util/misc.c: Likewise.
21218
d2d49665 212192009-06-10 Felix Zielcke <fzielcke@z-51.de>
21220
21221 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
21222 `genparttoollist.sh'.
21223 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
21224 Add `*.sh' to the list find searches for and change `mdate.sh'
21225 to `mdate-sh'.
21226
fe052e37 212272009-06-10 Pavel Roskin <proski@gnu.org>
21228
2763ac18 21229 * include/grub/multiboot2.h: Provide compatibility defines for
21230 multiboot2.h.
21231 * include/multiboot2.h: Include stdint.h only if needed, using
21232 angle brackets.
21233 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
21234 grub/multiboot2.h.
21235 * loader/ieee1275/multiboot2.c: Likewise.
21236 * loader/multiboot2.c: Likewise.
21237 * loader/multiboot_loader.c: Likewise.
21238
437e6adc 21239 * configure.ac: Use -nostdlib when probing for the target. It
21240 should not be required to have libc for the target.
21241
06a6836c 21242 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
21243 they fail without libc headers for the target.
21244 * include/grub/powerpc/libgcc.h: Use weak attribute for all
21245 exports.
21246 * include/grub/sparc64/libgcc.h: Likewise. Don't use
21247 preprocessor conditionals.
21248
fe052e37 21249 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
21250 build system doesn't need to be aware of the tar.c internals.
21251
afd22553 212522009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 21253
afd22553 21254 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 21255
6b787c4f 212562009-06-09 Robert Millan <rmh.grub@aybabtu.com>
21257
21258 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
21259 disk limit to 26 for IDE, Virtio, Xen and SCSI.
21260
212612009-06-09 Felix Zielcke <fzielcke@z-51.de>
21262
21263 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 21264 aren't available if ata.mod gets used.
6b787c4f 21265
473d1e45 212662009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 21267
473d1e45 21268 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 21269 initialising controller.
473d1e45 21270 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 21271
255a27d4 212722009-06-08 Felix Zielcke <fzielcke@z-51.de>
21273
21274 * util/i386/pc/grub-install.in: Add a parameter --disk-module
21275 to choose between ata and biosdisk module on i386-pc.
21276
473d1e45 212772009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 21278
d55842d8 21279 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
21280 Subclass and Programming Interface fields in terms of the 3 byte
21281 Class Code register.
21282 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21283
fa5db0b1 21284 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
21285 interface is OHCI. Add grub_dprintf for symmetry with
21286 bus/usb/uhci.c.
21287 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
21288 interface is UHCI. Add interf variable for programming
21289 interface. Print interface with class/subclass.
21290
c0947beb 21291 * bus/usb/ohci.c: Set interf with correct field.
21292
69da8877 21293 * bus/usb/uhci.c: Remove unneeded doubled lines.
21294 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
21295 Remove whitespace inside comment.
21296
9e172e30 212972009-06-08 Robert Millan <rmh.grub@aybabtu.com>
21298
21299 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
21300 as fallback an equivalent option without depth.
21301
de65ee2b 213022009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21303
21304 Not fail if unable to retrieve C/H/S on LBA disks
21305
473d1e45 21306 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 21307 if unable to retrieve C/H/S on LBA disks
21308
b57ea2c9 213092009-06-08 Pavel Roskin <proski@gnu.org>
21310
21311 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
21312 about aliasing.
21313
af361263 213142009-06-08 Felix Zielcke <fzielcke@z-51.de>
21315
21316 * Makefile.in (uninstall): Remove all $lib_DATA files.
21317
4c9ec6b3 213182009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21319
21320 Bugfix: install on partitionless device
21321
21322 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
21323 is a whole disk
21324
e76fc924 213252009-06-08 Felix Zielcke <fzielcke@z-51.de>
21326
21327 * Makefile.in (uninstall): Remove all $include_DATA files.
21328
ba5a0d05 213292009-06-08 Felix Zielcke <fzielcke@z-51.de>
21330
21331 * commands/true.c: New file. Implement the true and false commands.
21332 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
21333 (true_mod_SOURCES): New variable.
21334 (true_mod_CFLAGS): Likewise.
21335 (true_mod_LDFLAGS): Likewise.
21336
c8048e32 213372009-06-05 Colin D Bennett <colin@gibibit.com>
21338
21339 Optimized font character lookup using binary search instead of linear
21340 search. Fonts now are required to have the character index ordered by
21341 code point.
21342
21343 * font/font.c (load_font_index): Verify that fonts have ordered
21344 character indices.
21345 (find_glyph): Use binary search instead of linear search to find a
21346 character in a font.
21347
408305be 213482009-06-05 Michael Scherer <misc@mandriva.org>
21349
21350 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
21351 uses case sensitive btree.
21352 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
21353 only for case insensitive filesystems.
21354
8ee1e0d9 213552009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
21358 * conf/common.rmk (search_mod_CFLAGS): likewise
21359
a9966eb1 213602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21361
473d1e45 21362 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 21363 compensate a compiler bug
21364
9e7100fb 213652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21366
473d1e45 21367 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 21368 instead of '\b'
473d1e45 21369
ede21d71 213702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21371
21372 Definitions for creating asm symbols with Apple's CC
21373
21374 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
21375 [APPLE_CC] (VARIABLE): likewise
21376
9dbf7653 213772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21378
21379 Disable lnxboot.img when compiled
21380 with Apple's CC
21381
21382 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
21383 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
21384 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
21385 [! APPLE_CC] (CODE_LENG): skip
21386 [! APPLE_CC] (setup_sects): likewise
21387 [! APPLE_CC]: skip filling
473d1e45 21388
e93cdc3d 213892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 Address in trampolines based on 32-bit registers when compiled
21392 with Apple's CC
21393
473d1e45 21394 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 21395 for addresses
21396 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
21397
6c688477 213982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21399
21400 Avoid aliases when compiling with Apple's CC for PCBIOS machine
21401
21402 * kern/misc.c [APPLE_CC] (memcpy): new function
21403 [APPLE_CC] (memmove): likewise
21404 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 21405 (memcpy): define alias conditionally on !APPLE_CC
6c688477 21406 (memset): likewise
21407 (abort): likewise
21408 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
21409 APPLE_CC are defined
21410 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
21411 (grub_assert_fail): make prototype conditional
21412
e37ffc5c 214132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21414
21415 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
21416
473d1e45 21417 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
21418 grub-macho2img
e37ffc5c 21419 (CLEANFILES): add grub-macho2img
21420 (grub_macho2img_SOURCES): new variable
21421 * kern/i386/pc/startup.S (bss_start): new variable
21422 (bss_end): likewise
21423 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
21424 * util/grub-macho2img.c: new file
21425
cf00df31 214262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21427
21428 Use objconv when compiling with Apple's CC
21429
21430 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
21431 (efiemu64.o): likewise
21432 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
21433 when compiling with Apple's CC
21434 (efiemu64_s.o): likewise
21435 * configure.ac: check for objconv when compiling with Apple's CC
21436 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 21437
d119a20c 214382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21439
21440 Define segment as well as section when compiling with
21441 Apple's CC
21442
21443 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
21444 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
21445 (efiemu_convert_pointer): likewise
21446 (efiemu_set_virtual_address_map): likewise
21447 (efiemu_convert_pointer): likewise
21448 (efiemu_getcrc32): likewise
21449 (init_crc32_table): likewise
21450 (reflect): likewise
21451 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
21452 (GRUB_MOD_DEP): likewise
473d1e45 21453
c8600122 214542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21455
21456 Allow a compilation without -mcmodel=large
21457
21458 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
21459 when compiled without -mcmodel=large
473d1e45 21460 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 21461 without -mcmodel=large
473d1e45 21462 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 21463 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 21464
e8df1d4e 214652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21466
21467 Remove nested functions in efiemu core
21468
21469 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 21470
cc6c3ac1 214712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
21474
21475 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
21476 temporary storage
473d1e45 21477 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
21478 using Apple's CC
cc6c3ac1 21479 (grub_cpu_is_tsc_supported): likewise
21480 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 21481
3e325901 214822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21483
21484 Absolute addressing through constant with Apple's cc
21485
21486 * kern/i386/pc/startup.S: Define necessary constants
21487 and address through it when using ABS with Apple's CC
21488 * boot/i386/pc/diskboot.S: likewise
21489 * boot/i386/pc/boot.S: likewise
21490 * boot/i386/pc/lnxboot.S: likewise
21491 * boot/i386/pc/cdboot.S: likewise
21492 * mmap/i386/pc/mmap_helper.S: likewise
21493 * commands/i386/pc/drivemap_int13h.S: likewise
21494
2b167a72 214952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21496
21497 Check if compiler is apple cc
21498
21499 * Makefile.in (ASFLAGS): new variable
21500 (TARGET_ASFLAGS): likewise
21501 (TARGET_MODULE_FORMAT): likewise
21502 (TARGET_APPLE_CC): likewise
21503 (OBJCONV): likewise
21504 (TARGET_IMG_CFLAGS): likewise
21505 (TARGET_CPPFLAGS): add includedir
21506 * configure.ac: call grub_apple_cc and grub_apple_target_cc
21507 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
21508 Check for linker script only if compiler isn't Apple's CC
21509 (TARGET_MODULE_FORMAT): set
21510 (TARGET_APPLE_CC): likewise
21511 (TARGET_ASFLAGS): likewise
21512 (ASFLAGS): likewise
21513 Check for objcopy only if compiler isn't Apple's CC
21514 Check for BSS symbol only if compiler isn't Apple's CC
21515 * genmk.rb: adapt nm options if we use Apple's utils
21516 * aclocal.m4 (grub_apple_cc): new test
21517 (grub_apple_target_cc): likewise
473d1e45 21518
fb14123e 215192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21520
21521 Simplify sed expressions and improve awk
21522
21523 * Makefile.in (install-local): simplify sed expression
21524 * gencmdlist.sh: likewise
21525 * genmoddep.awk: avoid adding module as a dependency of itself
21526
5b889789 215272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21528
21529 Add missing start symbols
21530
21531 * boot/i386/pc/boot.S: add start
fb14123e 21532 * boot/i386/pc/pxeboot.S: likewise
473d1e45 21533
fd2bf2e3 215342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21535
21536 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 21537
21538 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 21539 (relocate_addresses): consider both r_addend and value at offset
21540 (make_mods_section): zerofill modinfo and header
21541 (convert_elf): write prefix here
473d1e45 21542
5389763d 215432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 Use .asciz instead of .string
21546
21547 * i386/pc/diskboot.S: use .asciz instead of .string
21548 * i386/pc/boot.S: likewise
21549 * include/grub/dl.h (GRUB_MOD_DEP): likewise
21550 (GRUB_MOD_NAME): likewise
473d1e45 21551
3eb5ed4e 215522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21553
21554 gfxpayload support
21555
21556 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
21557 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
21558 (grub_video_setup): remove
21559 (grub_video_set_mode): new prototype
21560 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
21561 (vid_mode): remove
21562 (linux_vesafb_res): compile only on PCBIOS
21563 (grub_linux_boot): support gfxpayload
21564 * loader/i386/pc/xnu.c (video_hook): new function
21565 (grub_xnu_set_video): support gfxpayload
21566 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
21567 (DEFAULT_VIDEO_HEIGHT): likewise
21568 (DEFAULT_VIDEO_FLAGS): likewise
21569 (DEFAULT_VIDEO_MODE): new definition
21570 (video_hook): new function
21571 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 21572 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 21573 loading xnu
21574 * video/video.c (grub_video_setup): removed
473d1e45 21575 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 21576 grub_video_setup
21577
4b0e1143 215782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21579
21580 Avoid calling biosdisk in drivemap
21581
21582 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
21583 (revparse_biosdisk): likewise
21584 (list_mappings): derive name from id directly
21585 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 21586
fda6cb98 215872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21588
21589 Script fixes
21590
21591 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
21592 (grub_lexer_param): add tokenonhold
21593 (grub_script_create_cmdline): remove cmdline. All callers updated
21594 (grub_script_function_create): make functionname
21595 grub_script_arg. All callers updated
21596 (grub_script_execute_argument_to_string): new prototype
21597 * kern/parser.c (state_transitions): reorder
21598 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 21599 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 21600 make global
21601 (grub_script_execute_cmdline): use new format
21602 * script/sh/function.c (grub_script_function_create): make functionname
21603 grub_script_arg. All callers updated
473d1e45 21604 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 21605 (grub_script_yylex): remove
21606 (grub_script_yylex2): renamed to ...
21607 (grub_script_yylex): ...renamed
21608 parse the expressions like a${b}c
21609 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
21610 (GRUB_PARSER_TOKEN_VAR): remove
21611 (GRUB_PARSER_TOKEN_NAME): likewise
21612 ("if"): declare as typeless
21613 ("while"): likewise
21614 ("function"): likewise
21615 ("else"): likewise
21616 ("then"): likewise
21617 ("fi"): likewise
21618 (text): remove
21619 (argument): likewise
21620 (script): accept empty scripts and make exit on error
21621 (arguments): use GRUB_PARSER_TOKEN_ARG
21622 (function): likewise
21623 (command): move error handling to script
21624 (menuentry): move grub_script_lexer_ref before
473d1e45 21625 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 21626 argument. All callers updated
21627
f4448a07 216282009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21629
21630 Prevent GRUB from probing floppies during boot.
21631
21632 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
21633 * commands/search.c (options): Add --no-floppy.
21634 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
21635 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
21636 --no-floppy when searching for UUIDs.
21637
2bf5885a 216382009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21639
21640 Simplify the code duplication in commands/search.c.
21641
21642 * commands/search.c (search_label, search_fs_uuid): Merge into ...
21643 (search_fs): ... this. Update all users.
21644
f6fd460a 216452009-06-03 Felix Zielcke <fzielcke@z-51.de>
21646
21647 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
21648
cbb3c83e 216492009-05-28 Pavel Roskin <proski@gnu.org>
21650
57788cfd 21651 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
21652 Remove the original symlink explicitly.
21653
cbb3c83e 21654 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
21655 just one slash. That's how grub_fshelp_find_file() does it.
21656
cd0d5e30 216572009-05-26 Pavel Roskin <proski@gnu.org>
21658
f0f8bbe2 21659 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
21660 to `str'.
21661
cd0d5e30 21662 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
21663 possibly unused.
21664
8c2cab51 216652009-05-25 Christian Franke <franke@computer.org>
21666
21667 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
21668 register.
21669 (grub_atapi_identify): Add wait after drive select.
21670 (grub_ata_identify): Do more strict status register check before
21671 calling grub_atapi_identify (). Suppress error message if status
21672 register is 0x00 after command failure. Add status register
21673 check after PIO read to avoid bogus identify due to stuck DRQ.
21674 Thanks to Pavel Roskin for testing.
21675 (grub_device_initialize): Remove unsafe status register check.
21676 Thanks to 'phcoder' for problem report and patch.
21677 Prevent sign extension in debug message.
21678
230c0ad6 216792009-05-23 Colin D Bennett <colin@gibibit.com>
21680
21681 Cleaned up `include/grub/normal.h'. Grouped prototypes by
21682 definition file, and functions defined in `normal/menu.c' have had
21683 their prototypes moved to `include/grub/menu.h' for consistency.
21684
21685 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
21686 from normal.h.
21687 (grub_menu_get_entry): Likewise.
21688 (grub_menu_get_timeout): Likewise.
21689 (grub_menu_set_timeout): Likewise.
21690 (grub_menu_execute_entry): Likewise.
21691 (grub_menu_execute_with_fallback): Likewise.
21692 (grub_menu_entry_run): Likewise.
21693
21694 * include/grub/normal.h: Re-ordered and grouped function
21695 prototypes by file that the function is defined in.
21696 (grub_menu_execute_callback): Removed; moved to menu.h.
21697 (grub_menu_get_entry): Likewise.
21698 (grub_menu_get_timeout): Likewise.
21699 (grub_menu_set_timeout): Likewise.
21700 (grub_menu_execute_entry): Likewise.
21701 (grub_menu_execute_with_fallback): Likewise.
21702 (grub_menu_entry_run): Likewise.
21703 (grub_menu_addentry): Renamed from this ...
21704 (grub_normal_add_menu_entry): ... to this.
21705
21706 * normal/main.c (grub_menu_addentry): Renamed from this ...
21707 (grub_normal_add_menu_entry): ... to this.
21708
21709 * script/sh/execute.c (grub_script_execute_menuentry): Update
21710 reference to renamed grub_menu_addentry function.
21711
861f03a5 217122009-05-23 Felix Zielcke <fzielcke@z-51.de>
21713
21714 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
21715
96b1619a 217162009-05-22 Pavel Roskin <proski@gnu.org>
21717
bf6a5fb2 21718 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
21719 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
21720 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
21721 compiling for the i386 targets, but not for the utilities.
21722
96b1619a 21723 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
21724 to grub_uint8_t.
21725 (grub_root_drive): Likewise.
21726 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
21727 remove alignment.
21728 (grub_root_drive): Change size to byte.
21729 (grub_start_addr): Remove.
21730 (grub_end_addr): Likewise.
21731 (grub_apm_bios_info): Likewise.
21732
b729776b 217332009-05-21 Felix Zielcke <fzielcke@z-51.de>
21734
21735 * normal/i386: Remove.
21736 * normal/powerpc: Likewise.
21737 * normal/sparc64: Likewise.
21738 * normal/x86_64: Likewise.
21739
0a15ce80 217402009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
21741
21742 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 21743 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 21744 * loader/i386/xnu_helper.S: Likewise
d6da58e6 21745
33db9015 217462009-05-18 Colin D Bennett <colin@gibibit.com>
21747
d6da58e6 21748 Display error messages when parsing a Lua statement fails.
21749 Previously, executing a syntactically invalid statement like
21750 ")foo" or "bar;" would silently fail.
33db9015 21751
21752 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 21753 (grub_lua_parse_line): Improved reporting of Lua parser and
21754 execution errors.
33db9015 21755
46422c89 217562009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21757
21758 Remove -Werror which causes build to fail on some systems
21759
21760 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
21761 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
21762 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 21763
22f53a96 217642009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21765
21766 trampoline for linux on 64-bit platform
21767
18f547ad 21768 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
21769 loader/i386/efi/linux_trampoline.S
21770 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 21771 declaration
d6da58e6 21772 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
21773 here
22f53a96 21774 * loader/i386/linux_trampoline.S: moved here
d6da58e6 21775 * loader/i386/efi/linux.c (allocate_pages): reserve space for
21776 trampoline
22f53a96 21777 (jumpvector): removed
21778 (grub_linux_trampoline_start): new declaration
21779 (grub_linux_trampoline_end): likewise
21780 (grub_linux_boot): use trampoline when on 64-bit platform
21781 * loader/i386/linux.c: likewise
21782
cb5a0f40 217832009-05-16 Pavel Roskin <proski@gnu.org>
21784
21785 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
21786 const to avoid a warning.
21787 (grub_lua_setenv): Likewise.
21788 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
21789 lmsg to fix a warning.
21790
334f2c28 217912009-05-16 Felix Zielcke <fzielcke@z-51.de>
21792
21793 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 21794 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21795 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
21796 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21797 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21798 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21799 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21800 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 21801
59e5d3ec 218022009-05-16 Felix Zielcke <fzielcke@z-51.de>
21803
21804 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
21805
9d87a1ba 218062009-05-16 Bean <bean123ch@gmail.com>
21807
21808 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
21809 (lua_mod_SOURCES): New variable.
21810 (lua_mod_CFLAGS): Likewise.
21811 (lua_mod_LDFLAGS): Likewise.
21812
21813 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
21814 (setjmp_mod_SOURCES): New variable.
21815 (setjmp_mod_CFLAGS): Likewise.
21816 (setjmp_LDFLAGS): Likewise.
21817
21818 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
21819 (setjmp_mod_SOURCES): New variable.
21820 (setjmp_mod_CFLAGS): Likewise.
21821 (setjmp_LDFLAGS): Likewise.
21822
21823 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
21824 (setjmp_mod_SOURCES): New variable.
21825 (setjmp_mod_CFLAGS): Likewise.
21826 (setjmp_LDFLAGS): Likewise.
21827
21828 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
21829 (setjmp_mod_SOURCES): New variable.
21830 (setjmp_mod_CFLAGS): Likewise.
21831 (setjmp_LDFLAGS): Likewise.
21832
21833 * normal/i386/setjmp.S: Moved from here ...
21834 * lib/i386/setjmp.S: ... Moved here
21835 * normal/x86_64/setjmp.S: Moved from here ...
21836 * lib/x86_64/setjmp.S: ... Moved here
21837 * normal/powerpc/setjmp.S: Moved from here ...
21838 * lib/powerpc/setjmp.S: ... Moved here
21839 * normal/sparc64/setjmp.S: Moved from here ...
21840 * lib/sparc64/setjmp.S: ... Moved here
21841
21842 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
21843 returns_twice in mingw.
21844
21845 * script/lua/grub_lib.c: New file.
21846 * script/lua/grub_lib.h: Likewise.
21847 * script/lua/grub_lua.h: Likewise.
21848 * script/lua/grub_main.c: Likewise.
21849 * script/lua/lapi.c: Likewise.
21850 * script/lua/lapi.h: Likewise.
21851 * script/lua/lauxlib.c: Likewise.
21852 * script/lua/lauxlib.h: Likewise.
21853 * script/lua/lbaselib.c: Likewise.
21854 * script/lua/lcode.c: Likewise.
21855 * script/lua/lcode.h: Likewise.
21856 * script/lua/ldblib.c: Likewise.
21857 * script/lua/ldebug.c: Likewise.
21858 * script/lua/ldebug.h: Likewise.
21859 * script/lua/ldo.c: Likewise.
21860 * script/lua/ldo.h: Likewise.
21861 * script/lua/ldump.c: Likewise.
21862 * script/lua/lfunc.c: Likewise.
21863 * script/lua/lfunc.h: Likewise.
21864 * script/lua/lgc.c: Likewise.
21865 * script/lua/lgc.h: Likewise.
21866 * script/lua/linit.c: Likewise.
21867 * script/lua/liolib.c: Likewise.
21868 * script/lua/llex.c: Likewise.
21869 * script/lua/llex.h: Likewise.
21870 * script/lua/llimits.h: Likewise.
21871 * script/lua/lmathlib.c: Likewise.
21872 * script/lua/lmem.c: Likewise.
21873 * script/lua/lmem.h: Likewise.
21874 * script/lua/loadlib.c: Likewise.
21875 * script/lua/lobject.c: Likewise.
21876 * script/lua/lobject.h: Likewise.
21877 * script/lua/lopcodes.c: Likewise.
21878 * script/lua/lopcodes.h: Likewise.
21879 * script/lua/loslib.c: Likewise.
21880 * script/lua/lparser.c: Likewise.
21881 * script/lua/lparser.h: Likewise.
21882 * script/lua/lstate.c: Likewise.
21883 * script/lua/lstate.h: Likewise.
21884 * script/lua/lstring.c: Likewise.
21885 * script/lua/lstring.h: Likewise.
21886 * script/lua/lstrlib.c: Likewise.
21887 * script/lua/ltable.c: Likewise.
21888 * script/lua/ltable.h: Likewise.
21889 * script/lua/ltablib.c: Likewise.
21890 * script/lua/ltm.c: Likewise.
21891 * script/lua/ltm.h: Likewise.
21892 * script/lua/lua.h: Likewise.
21893 * script/lua/luaconf.h: Likewise.
21894 * script/lua/lualib.h: Likewise.
21895 * script/lua/lundump.c: Likewise.
21896 * script/lua/lundump.h: Likewise.
21897 * script/lua/lvm.c: Likewise.
21898 * script/lua/lvm.h: Likewise.
21899 * script/lua/lzio.c: Likewise.
21900 * script/lua/lzio.h: Likewise.
21901
5e898c9d 219022009-05-16 Bean <bean123ch@gmail.com>
21903
21904 * include/grub/kernel.h (grub_module_header_types): Add type
21905 OBJ_TYPE_CONFIG.
21906
21907 * kern/main.c (grub_load_config): New function.
21908 (grub_main): Call grub_load_config to read boot config.
21909
21910 * grub-mkimage (generate_image): New parameter config_path.
21911 (options): New option --config.
21912 (main): Parse --config option, and pass it to generate_image.
21913
cf353a47 219142009-05-14 Christian Franke <franke@computer.org>
21915
21916 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
21917 This fixes build on Cygwin.
21918
3834887f 219192009-05-14 Pavel Roskin <proski@gnu.org>
21920
21921 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
21922 jump. This saves two bytes, so the typical case of 2 swapped
21923 drives would fit 32 bytes.
21924
8090fc01 219252009-05-13 Pavel Roskin <proski@gnu.org>
21926
ac963883 21927 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
21928 grub_uint32_t to avoid a warning.
21929
8090fc01 21930 * loader/i386/linux.c (allocate_pages): When assigning
21931 real_mode_mem, cast through grub_size_t to fix a warning. The
21932 code already makes sure that the value would fit a pointer.
21933 (grub_linux_setup_video): Cast render_target->data to
21934 grub_size_t to fix a warning.
21935
18f547ad 219362009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 21937
21938 * commands/i386/pc/drivemap.c: New file - implement drivemap
21939 command.
21940 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
21941 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
21942
6f6a8b28 219432009-05-13 Pavel Roskin <proski@gnu.org>
21944
21945 * util/i386/pc/grub-setup.c (setup): Remove unused variable
21946 embedding_area_exists.
21947
15fbf4c4 219482009-05-13 Robert Millan <rmh.grub@aybabtu.com>
21949
21950 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
21951 it easier to understand / work with.
59978c8a 21952 Improve warning messages for cases where there's no embedding area,
21953 or when it is too small (or core.img too large).
15fbf4c4 21954
238e871f 219552009-05-13 Pavel Roskin <proski@gnu.org>
21956
0ab3a9a4 21957 * loader/i386/pc/multiboot2.c: Add necessary includes for
21958 grub_multiboot2_real_boot().
21959
a2c8c5f8 21960 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
21961 PX record is always little-endian. We only need the lower 2
21962 bytes of the mode.
21963
faec96af 21964 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
21965 facilitate code reuse.
21966 (grub_cpio_mount): Use "struct head", not a char buffer. This
21967 fixes a warning reported by gcc 4.4.
21968
238e871f 21969 * kernel/disk.c (grub_disk_read): Use void pointer for the
21970 buffer.
21971 (grub_disk_write): Use const void pointer for the buffer.
21972 Adjust all callers. Remove unnecessary casts.
21973
901d2f0c 219742009-05-10 Robert Millan <rmh.grub@aybabtu.com>
21975
21976 * util/i386/pc/grub-install.in: Update copyright year.
21977
18f547ad 219782009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 21979
21980 gptsync
21981
21982 * commands/gptsync.c: new file
21983 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
21984 (gptsync_mod_SOURCES): new variable
21985 (gptsync_mod_CFLAGS): likewise
21986 (gptsync_mod_LDFLAGS): likewise
18f547ad 21987 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 21988 new definition
21989 (GRUB_PC_PARTITION_TYPE_HFS): likewise
21990 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
21991 * conf/i386-ieee1275.rmk: likewise
21992 * conf/i386-pc.rmk: likewise
21993 * conf/powerpc-ieee1275.rmk: likewise
21994
b4ba690a 219952009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21996
21997 Fixed grub-emu
21998
21999 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
22000 (grub_dl_ref): likewise
22001
317e1a44 220022009-05-08 Robert Millan <rmh.grub@aybabtu.com>
22003
22004 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
22005 split in two functions (one for msdos and one for gpt).
22006
041b8094 220072009-05-08 Pavel Roskin <proski@gnu.org>
22008
752473c2 22009 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
22010 not modified.
22011
041b8094 22012 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
22013 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
22014 Initialize them with -1. Add sanity check for bad1. Eliminate
22015 nerr variable.
22016
172800ce 220172009-05-08 David S. Miller <davem@davemloft.net>
22018
22019 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
22020
29aa5e81 220212009-05-06 Robert Millan <rmh.grub@aybabtu.com>
22022
22023 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 22024 existence.
29aa5e81 22025
96613b62 220262009-05-05 Felix Zielcke <fzielcke@z-51.de>
22027
22028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 22029 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 22030
eef73c8a 220312009-05-05 David S. Miller <davem@davemloft.net>
22032
22033 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
22034
119494b5 220352009-05-05 Pavel Roskin <proski@gnu.org>
22036
22037 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
22038 of grub_dl_ref() and grub_dl_unref().
22039 * commands/parttool.c: Remove preprocessor conditionals around
22040 grub_dl_ref() and grub_dl_unref().
22041 * fs/affs.c: Likewise.
22042 * fs/afs.c: Likewise.
22043 * fs/cpio.c: Likewise.
22044 * fs/ext2.c: Likewise.
22045 * fs/fat.c: Likewise.
22046 * fs/hfs.c: Likewise.
22047 * fs/hfsplus.c: Likewise.
22048 * fs/iso9660.c: Likewise.
22049 * fs/jfs.c: Likewise.
22050 * fs/minix.c: Likewise.
22051 * fs/ntfs.c: Likewise.
22052 * fs/reiserfs.c: Likewise.
22053 * fs/sfs.c: Likewise.
22054 * fs/udf.c: Likewise.
22055 * fs/ufs.c: Likewise.
22056 * fs/xfs.c: Likewise.
22057 * include/grub/dl.h: Likewise.
22058 * loader/xnu.c: Likewise.
22059
de5fd76e 220602009-05-04 Pavel Roskin <proski@gnu.org>
22061
22062 * commands/acpi.c: Remove unused variable my_mod.
22063 * partmap/amiga.c: Likewise.
22064 * partmap/apple.c: Likewise.
22065 * partmap/gpt.c: Likewise.
22066 * partmap/pc.c: Likewise.
22067 * partmap/sun.c: Likewise.
22068 * term/gfxterm.c: Likewise.
22069 * term/i386/pc/vesafb.c: Likewise.
22070 * term/i386/pc/vga.c: Likewise.
22071
983598ad 220722009-05-04 David S. Miller <davem@davemloft.net>
22073
22074 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
22075 pointer args to grub_ieee1275_get_property().
22076
8aadec43 22077 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
22078
9554b15e 22079 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
22080 devices, and do not traverse down under controller nodes.
22081
67e23c90 22082 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
22083 (grub_ofdisk_open): Use it to un-escape "," characters.
22084 * kern/disk.c (find_part_sep): New.
22085 (grub_disk_open): Use it to find the first non-escaped ','
22086 character in the disk name.
22087 * util/ieee1275/devicemap.c (escape_of_path): New.
22088 (grub_util_emit_devicemap_entry): Use it.
22089 * util/sparc64/ieee1275/grub-install.in: Update script to
22090 strip partition specifiers properly by not triggering on
22091 '\' escaped ',' characters.
22092
74bfdd2f 220932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22094
22095 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
22096 to 0x300.
22097 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
22098 resolutions.
22099 (linux_vesafb_modes): Add a lot of additional modes to the list (based
22100 on documentation from Wikipedia).
22101
4241d2b1 221022009-05-04 Pavel Roskin <proski@gnu.org>
22103
22104 * disk/ata.c: Spelling fixes.
22105 * disk/raid.c: Likewise.
22106 * disk/usbms.c: Likewise.
22107 * disk/dmraid_nvidia.c: Likewise.
22108 * kern/ieee1275/openfw.c: Likewise.
22109 * kern/ieee1275/init.c: Likewise.
22110 * kern/ieee1275/cmain.c: Likewise.
22111 * boot/i386/pc/cdboot.S: Likewise.
22112 * video/readers/png.c: Likewise.
22113 * video/i386/pc/vbe.c: Likewise.
22114 * fs/udf.c: Likewise.
22115 * fs/hfs.c: Likewise.
22116 * fs/reiserfs.c: Likewise.
22117 * efiemu/runtime/efiemu.c: Likewise.
22118 * efiemu/main.c: Likewise.
22119 * efiemu/mm.c: Likewise.
22120 * include/grub/elf.h: Likewise.
22121 * include/grub/xnu.h: Likewise.
22122 * include/grub/usbdesc.h: Likewise.
22123 * include/grub/usb.h: Likewise.
22124 * include/grub/script_sh.h: Likewise.
22125 * include/grub/lib/LzmaEnc.h: Likewise.
22126 * include/grub/efiemu/efiemu.h: Likewise.
22127 * include/grub/command.h: Likewise.
22128 * normal/menu.c: Likewise.
22129 * normal/main.c: Likewise.
22130 * normal/datetime.c: Likewise.
22131 * bus/usb/uhci.c: Likewise.
22132 * mmap/i386/uppermem.c: Likewise.
22133 * mmap/mmap.c: Likewise.
22134 * commands/acpi.c: Likewise.
22135 * commands/test.c: Likewise.
22136 * partmap/apple.c: Likewise.
22137 * font/font.c: Likewise.
22138 * loader/sparc64/ieee1275/linux.c: Likewise.
22139 * loader/macho.c: Likewise.
22140 * loader/i386/bsd_trampoline.S: Likewise.
22141 * loader/i386/bsd.c: Likewise.
22142 * loader/xnu.c: Likewise.
22143 * term/i386/pc/vesafb.c: Likewise.
22144 * term/usb_keyboard.c: Likewise.
22145 * util/resolve.c: Likewise.
22146 * util/getroot.c: Likewise.
22147
0cfc0083 221482009-05-04 Felix Zielcke <fzielcke@z-51.de>
22149
22150 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
22151
7c1d00cd 221522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22153
22154 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
22155 build error.
22156
b01f0548 221572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22158
22159 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
22160 parameter only available on BIOS.
22161
ecc3eb22 221622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22163
22164 Removed wrong semicolon in declaration
22165
22166 * grub/misc.h (grub_dprintf): remove semicolon
22167
112972a9 221682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22169
22170 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
22171 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
22172 is done by grub_cmd_linux() now).
22173 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
22174 restore video to text mode.
22175 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
22176 indicates lack of "vga=" parameter. "vga=0" is mapped to
22177 `GRUB_LINUX_VID_MODE_NORMAL'.
22178
afd5c115 221792009-05-04 Felix Zielcke <fzielcke@z-51.de>
22180
22181 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
22182 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
22183 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 22184 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 22185 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
22186 `grub_script.tab.c'.
22187
22188 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22189 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22191 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22192 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22193
faa517ce 22194 * Makefile.in: Remove duplicated 2008 in Copyright line.
22195
ae0c0bdc 221962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22197
473d1e45 22198 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 22199 unconditionally.
22200 * include/grub/util/misc.h (grub_util_warn): New declaration.
22201
22202 * util/i386/pc/grub-install.in: Understand --force and pass it down
22203 to grub-setup.
22204
22205 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
22206 down to setup().
22207 (setup): Improve error messages and add warnings when requested to
22208 install in odd layouts. Refuse to install using blocklists unless
22209 --force was set.
22210
18f547ad 222112009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 22212
22213 * disk/raid.c (grub_raid_scan_device): Improve debug message.
22214
6d260daa 222152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22216
22217 Updated copyright year
22218
22219 * fs/hfsplus.c: updated copyright year
18f547ad 22220
69f853f8 222212009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22222
22223 HFS+ UUID
22224
18f547ad 22225 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 22226 in the space previously used by unused3
22227 (grub_hfsplus_uuid): new function
22228 (grub_hfsplus_fs): added uuid field
22229
4c402e73 222302009-05-03 Pavel Roskin <proski@gnu.org>
22231
22232 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
22233 suppress warnings. It's no longer needed.
22234 * disk/host.c: Likewise.
22235 * disk/ata_pthru.c: Likewise.
22236 * disk/loopback.c: Likewise.
22237 * hook/datehook.c: Likewise.
22238 * parttool/pcpart.c: Likewise.
22239 * fs/i386/pc/pxe.c: Likewise.
22240 * fs/ntfscomp.c: Likewise.
22241 * efiemu/main.c: Likewise.
22242 * mmap/mmap.c: Likewise.
22243 * commands/crc.c: Likewise.
22244 * commands/hexdump.c: Likewise.
22245 * commands/hdparm.c: Likewise.
22246 * commands/acpi.c: Likewise.
22247 * commands/echo.c: Likewise.
22248 * commands/minicmd.c: Likewise.
22249 * commands/blocklist.c: Likewise.
22250 * commands/memrw.c: Likewise.
22251 * commands/loadenv.c: Likewise.
22252 * commands/usbtest.c: Likewise.
22253 * commands/lsmmap.c: Likewise.
22254 * commands/boot.c: Likewise.
22255 * commands/parttool.c: Likewise.
22256 * commands/configfile.c: Likewise.
22257 * commands/search.c: Likewise.
22258 * commands/ieee1275/suspend.c: Likewise.
22259 * commands/cat.c: Likewise.
22260 * commands/i386/pc/pxecmd.c: Likewise.
22261 * commands/i386/pc/play.c: Likewise.
22262 * commands/i386/pc/halt.c: Likewise.
22263 * commands/i386/pc/vbeinfo.c: Likewise.
22264 * commands/i386/pc/vbetest.c: Likewise.
22265 * commands/lspci.c: Likewise.
22266 * commands/date.c: Likewise.
22267 * commands/handler.c: Likewise.
22268 * commands/ls.c: Likewise.
22269 * commands/test.c: Likewise.
22270 * commands/cmp.c: Likewise.
22271 * commands/efi/loadbios.c: Likewise.
22272 * commands/efi/fixvideo.c: Likewise.
22273 * commands/halt.c: Likewise.
22274 * commands/help.c: Likewise.
22275 * commands/reboot.c: Likewise.
22276 * hello/hello.c: Likewise.
22277 * script/sh/main.c: Likewise.
22278 * loader/xnu.c: Likewise.
22279 * term/terminfo.c: Likewise.
22280 * term/i386/pc/serial.c: Likewise.
22281 * term/usb_keyboard.c: Likewise.
22282
515b5079 222832009-05-03 David S. Miller <davem@davemloft.net>
22284
22285 * normal/menu.c: Include grub/parser.h
22286
dfc31a22 222872009-05-03 Pavel Roskin <proski@gnu.org>
22288
2fee74f1 22289 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
22290 not char*.
22291 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
22292 Suggested by Javier Martín <lordhabbit@gmail.com>
22293
dfc31a22 22294 * util/i386/pc/grub-mkrescue.in: Allow for the case when
22295 efiemu??.o doesn't exist.
22296 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
22297 copying.
22298
18f547ad 222992009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 22300
22301 FreeBSD 64-bit support
22302
18f547ad 22303 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 22304 and loader/i386/bsd_trampoline.S
22305 (bsd_mod_ASFLAGS): new variable
22306 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
22307 (FREEBSD_MODTYPE_KERNEL64): likewise
22308 (grub_bsd64_trampoline_start): likewise
22309 (grub_bsd64_trampoline_end): likewise
22310 (grub_bsd64_trampoline_selfjump): likewise
22311 (grub_bsd64_trampoline_gdt): likewise
22312 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
22313 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
22314 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
22315 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 22316 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 22317 of "attrib" member
22318 * loader/i386/bsd_pagetable.c: new file
22319 * loader/i386/bsd_trampoline.S: likewise
22320 * loader/i386/bsd.c (ALIGN_QWORD): new macro
22321 (ALIGN_VAR): likewise
22322 (entry_hi): new variable
22323 (kern_end_mdofs): likewise
22324 (is_64bit): likewise
22325 (grub_freebsd_add_meta): use ALIGN_VAR
22326 (grub_e820_mmap): new declaration
22327 (grub_freebsd_add_mmap): new function
22328 (grub_freebsd_add_meta_module): support 64 bit kernels
22329 (grub_freebsd_list_modules): use ALIGN_VAR
22330 (gdt_descriptor): new declaration
22331 (grub_freebsd_boot): support 64 bit kernels
22332 (grub_bsd_elf64_hook): new function
22333 (grub_bsd_load_elf): support elf64
22334
038c5720 223352009-05-03 Bean <bean123ch@gmail.com>
22336
22337 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
22338 after we get the result of if statement.
22339
fc45fb58 223402009-05-03 Bean <bean123ch@gmail.com>
22341
22342 * Makefile.in (enable_efiemu): New variable.
22343
22344 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
22345 set.
22346 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
22347 path.
22348 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
22349 path, add -mno-red-zone option.
22350 (efiemu64_s.o): Likewise.
22351 (efiemu64.o): Use macro $^ for source file.
22352
22353 * configure.ac (--enable-efiemu): New option.
22354
bbee0f2b 223552009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22356
22357 xnu support
22358
22359 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
22360 (pkglib_MODULES): add xnu.mod
22361 (xnu_mod_SOURCES): new variable
22362 (xnu_mod_CFLAGS): likewise
22363 (xnu_mod_LDFLAGS): likewise
22364 (xnu_mod_ASFLAGS): likewise
22365 * conf/i386-pc.rmk: likewise
22366 * conf/x86_64-efi.rmk: likewise
7dd4a573 22367 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 22368 new declaration
22369 * include/grub/i386/macho.h: new file
22370 * include/grub/i386/xnu.h: likewise
22371 * include/grub/macho.h: likewise
22372 * include/grub/machoload.h: likewise
22373 * include/grub/x86_64/macho.h: likewise
22374 * include/grub/x86_64/xnu.h: likewise
22375 * include/grub/xnu.h: likewise
22376 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
22377 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
22378 * loader/i386/efi/xnu.c: new file
22379 * loader/i386/pc/xnu.c: likewise
22380 * loader/i386/xnu.c: likewise
22381 * loader/i386/xnu_helper.S: likewise
22382 * loader/macho.c: likewise
22383 * loader/xnu.c: likewise
22384 * loader/xnu_resume.c: likewise
22385 * util/grub-dumpdevtree: likewise
22386 * include/grub/i386/pit.h: include grub/err.h
22387 (grub_pit_wait): export
22388 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 22389
5caf964d 223902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22391
22392 Efiemu
7dd4a573 22393
5caf964d 22394 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 22395 _linux_efi, linux_efi.
22396 new files in grub-emu
5caf964d 22397 new targets efiemu32.o and efiemu64.o
22398 * loader/linux_normal_efiemu.c: likewise
22399 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 22400 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 22401 files to copy
22402 * include/grub/autoefi.h: new file
7dd4a573 22403 * include/grub/i386/efiemu.h: likewise
5caf964d 22404 * include/grub/i386/pc/efiemu.h: likewise
22405 * include/grub/efi/api.h: add LL suffix when necessary
22406 new definitions relating to tables
22407 * include/grub/efiemu/efiemu.h: new file
22408 * include/grub/efiemu/runtime.h: likewise
22409 * efiemu/prepare.c: likewise
22410 * efiemu/loadcore_common.c: likewise
22411 * efiemu/loadcore64.c: likewise
22412 * efiemu/runtime/efiemu.sh: likewise
22413 * efiemu/runtime/efiemu.S: likewise
22414 * efiemu/runtime/efiemu.c: likewise
22415 * efiemu/runtime/config.h: likewise
22416 * efiemu/prepare32.c: likewise
22417 * efiemu/main.c: likewise
22418 * efiemu/modules/pnvram.c: likewise
22419 * efiemu/modules/i386: likewise
22420 * efiemu/modules/i386/pc: likewise
22421 * efiemu/modules/acpi.c: likewise
22422 * efiemu/i386/pc/cfgtables.c: likewise
22423 * efiemu/i386/loadcore64.c: likewise
22424 * efiemu/i386/loadcore32.c: likewise
22425 * efiemu/prepare64.c: likewise
22426 * efiemu/loadcore.c: likewise
22427 * efiemu/symbols.c: likewise
22428 * efiemu/mm.c: likewise
22429 * efiemu/loadcore32.c: likewise
7dd4a573 22430
224312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 22432
22433 ACPI spoofing
22434
22435 * commands/acpi.c: new file
22436 * commands/i386/pc/acpi.c: likewise
22437 * commands/efi/acpi.c: likewise
22438 * include/grub/acpi.h: likewise
22439 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
22440 (acpi_mod_SOURCES): new variable
22441 (acpi_mod_CFLAGS): likewise
22442 (acpi_mod_LDFLAGS): likewise
22443 * conf/i386-efi.rmk: likewise
22444 * conf/x86_64-efi.rmk: likewise
22445
7dd4a573 224462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 22447
22448 Missing part from mmap patch
22449
22450 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
22451 (grub_mmap_unregister)
22452 (grub_mmap_free_and_unregister): use grub_mmap_register
22453
7dd4a573 224542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 22455
22456 Mmap services
22457
22458 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
22459 * loader/i386/linux.c (find_mmap_size): likewise
22460 (allocate_pages): likewise
22461 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
22462 (grub_fill_multiboot_mmap): likewise
22463 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
22464 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
22465 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
22466 (OPENBSD_MMAP_RESERVED): likewise
22467 * include/grub/i386/pc/memory.h: include grub/memory.h
22468 (grub_lower_mem): removed
22469 (grub_upper_mem): likewise
22470 (GRUB_MACHINE_MEMORY_ACPI): new definition
22471 (GRUB_MACHINE_MEMORY_NVS): likewise
22472 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
22473 (GRUB_MACHINE_MEMORY_HOLE): likewise
22474 (grub_machine_mmap_register): likewise
22475 (grub_machine_mmap_unregister): likewise
22476 (grub_machine_get_upper): likewise
22477 (grub_machine_get_lower): likewise
22478 (grub_machine_get_post64): likewise
22479 * include/grub/i386/efi/memory.h: new file
22480 * include/grub/x86_64/efi/memory.h: likewise
22481 * include/grub/efi/memory.h: likewise
22482 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
22483 (mmap_mod_SOURCES): new variable
22484 (mmap_mod_LDFLAGS): likewise
22485 (mmap_mod_ASFLAGS): likewise
22486 * conf/i386-coreboot.rmk: likewise
22487 * conf/i386-ieee1275.rmk: likewise
22488 * conf/i386-efi.rmk: likewise
22489 * conf/x86_64-efi.rmk: likewise
22490 * include/grub/types.h (UINT_TO_PTR): new macro
22491 (PTR_TO_UINT32): likewise
22492 (PTR_TO_UINT64): likewise
22493 * include/grub/memory.h: new file
22494 * mmap/i386/pc/mmap.c: likewise
22495 * mmap/i386/pc/mmap_helper.S: likewise
22496 * mmap/i386/uppermem.c: likewise
22497 * mmap/mmap.c: likewise
22498 * mmap/efi/mmap.c: likewise
7dd4a573 22499 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 22500 grub_upper_mem
22501 * kern/i386/pc/init.c (grub_lower_mem): removed variable
22502 (grub_upper_mem): likewise
22503 (grub_machine_init): don't use grub_upper_mem,
22504 make grub_lower_mem local
22505 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
22506 grub_mmap_iterate and grub_mmap_get_upper
22507 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
22508
d558e6b5 225092009-05-02 Bean <bean123ch@gmail.com>
22510
22511 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
22512 script/sh/parser.y.
22513 (pkglib_MODULES): Add normal.mod and sh.mod.
22514 (normal_SOURCES): New variable.
22515 (normal_mod_CFLAGS): Likewise.
22516 (normal_mod_LDFLAGS): Likewise.
22517 (sh_mod_SOURCES): Likewise.
22518 (sh_mod_CFLAGS): Likewise.
22519 (sh_mod_LDFLAGS): Likewise.
22520
22521 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
22522 script/sh/lexer.c_DEPENDENCIES.
22523 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
22524 kern/rescue_reader.c and kern/rescue_parser.c.
22525 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
22526 (grub_emu_SOURCES): Change source files.
22527 (pkglib_MODULES): Remove normal.mod.
22528 (normal_SOURCES): Removed.
22529 (normal_mod_CFLAGS): Likewise.
22530 (normal_mod_LDFLAGS): Likewise.
22531 * conf/i386-coreboot.rmk: Likewise.
22532 * conf/i386-efi.rmk: Likewise.
22533 * conf/i386-ieee1276.rmk: Likewise.
22534 * conf/powerpc-ieee1275.rmk: Likewise.
22535 * conf/sparc64-ieee1275.rmk: Likewise.
22536 * conf/x86_64-efi.rmk: Likewise.
22537
22538 * include/grub/command.h (grub_command_execute): New inline function.
22539
22540 * include/grub/menu.h (grub_menu_entry): Removed commands field.
22541
22542 * include/grub/normal.h: Remove <grub/setjmp.h>.
22543 (grub_fs_module_list): Moved to normal/autofs.c.
22544 (grub_exit_env): Removed.
22545 (grub_command_execute): Likewise.
22546 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
22547 parameter script.
22548 (read_command_list): New function declaration.
22549 (read_fs_list): Likewise.
22550
22551 * include/parser.h: Include <grub/reader.h>.
22552 (grub_parser_split_cmdline): Change type of getline parameter.
22553 (grub_parser): New structure.
22554 (grub_parser_class): New variable.
22555 (grub_parser_execute): New function declaration.
22556 (grub_register_rescue_parser): Likewise.
22557 (grub_parser_register): New inline function.
22558 (grub_parser_unregister): Likewise.
22559 (grub_parser_get_current): Likewise.
22560 (grub_parser_set_current): Likewise.
22561
22562 * include/grub/reader.h: New file.
22563 * kern/reader.c: Likewise.
22564 * kern/rescue_parser.c: Likewise.
22565 * kern/rescue_reader.c: Likewise.
22566 * normal/autofs.c: Likewise.
22567 * normal/dyncmd.c: Likewise.
22568
22569 * include/grub/rescue.h: Removed.
22570 * normal/command.h: Likewise.
22571
22572 * include/grub/script.h: Moved to ...
22573 * include/grub/script_sh.h: ... Moved here.
22574 * normal/execute.c: Moved to ...
22575 * script/sh/execute.c: ... Moved here.
22576 * normal/function.c: Moved to ...
22577 * script/sh/function.c: ... Moved here.
22578 * normal/lexer.c: Moved to ...
22579 * script/sh/lexer.c: ... Moved here.
22580 * normal/parser.y: Moved to ...
22581 * script/sh/parser.y: ... Moved here.
22582 * normal/script.c: Moved to ...
22583 * script/sh/script.c: ... Moved here.
22584
22585 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
22586 <grub/reader.h>.
22587 (grub_exit_env): Removed.
22588 (fs_module_list): Moved to normal/autofs.c.
22589 (grub_file_getline): Don't handle comment here.
22590 (free_menu): Skip removed field entry->commands.
22591 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
22592 script parameter.
22593 (read_config_file): Removed nested parameter, change getline function.
22594 (grub_enter_normal_mode): Removed.
22595 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
22596 (read_command_list): Likewise.
22597 (autoload_fs_module): Moved to normal/autofs.c.
22598 (read_fs_list): Likewise.
22599 (reader_nested): New variable.
22600 (grub_normal_execute): Run parser.sh to switch to sh parser.
22601 (grub_cmd_rescue): Removed.
22602 (cmd_normal): Removed.
22603 (grub_cmd_normal): Unregister itself at the beginning. Don't register
22604 rescue command.
22605 (grub_cmdline_run): New function.
22606 (grub_normal_reader_init): Likewise.
22607 (grub_normal_read_line): Likewise.
22608 (grub_env_write_pager): Likewise.
22609 (cmdline): New variable.
22610 (grub_normal_reader): Likewise.
22611 (GRUB_MOD_INIT): Register normal reader and set as current, register
22612 pager hook, register normal command with grub_register_command_prio,
22613 so that it won't show up in command.lst.
22614 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
22615 grub_fs_autoload_hook.
22616
22617 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
22618 (grub_menu_execute_entry): Replace grub_script_execute with
22619 grub_parser_execute, change parameter to grub_command_execute.
22620
22621 * normal/menu_text.c: Remove <grub/script.h>.
22622
22623 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
22624 and <grub/parser.h>.
22625 (run): Change editor_getline to use new parser interface. Change
22626 parameter to grub_command_execute.
22627
22628 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
22629 <grub/reader.h> and <grub/parser.h>.
22630 (grub_load_normal_mode): Execute normal command.
22631 (grub_main): Call grub_register_core_commands,
22632 grub_register_rescue_parser and grub_register_rescue_reader, use
22633 grub_reader_loop to enter input loop.
22634
7dd4a573 22635 * kern/parser.c (grub_parser_split_cmdline): Change type of
22636 getline parameter.
d558e6b5 22637 (grub_parser_class): New variable.
22638 (grub_parser_execute): New function.
22639
22640 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
22641 * loader/multiboot2.c: Likewise.
22642 * loader/sparc64/ieee1275/linux.c: Likewise.
22643
22644 * util/grub-emu.c (read_command_list): New dummy function.
22645
18db813d 226462009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22647
22648 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
22649 count to 16 for CCISS and IDA.
22650
6c67de15 226512009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22652
22653 * normal/menu_text.c (grub_wait_after_message): Print a newline
22654 after waiting for user input.
22655
22656 * loader/i386/linux.c: Include `<grub/normal.h>'.
22657 (grub_cmd_linux): Improve the error message about `ask' mode, by
22658 waiting for user input so it's not missed (we can do this, since
22659 user requested interaction).
22660
d9dc87b0 226612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22662
22663 Added missing lst to grub-mkrescue
22664
22665 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
22666 and ${input_dir}/parttool.lst
22667
ac8a2baa 226682009-04-30 David S. Miller <davem@davemloft.net>
22669
ad22a610 22670 * util/hostdisk.c (device_is_wholedisk): New function.
22671 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
22672 zero only if device_is_wholedisk() returns true.
22673
6966215d 22674 * util/hostdisk.c (convert_system_partition_to_system_disk):
22675 Handle virtual disk devices named /dev/vdiskX as found on sparc
22676 and powerpc.
22677
ac8a2baa 22678 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
22679 lettered partition specifier is found, convert to numbered.
22680
979b4fb4 226812009-04-29 David S. Miller <davem@davemloft.net>
22682
e2bf39b2 22683 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
22684 * include/grub/sparc64/ieee1275/memory.h: Likewise.
22685
3c64e104 22686 * normal/command.c: Add missing newline at end of file.
22687
979b4fb4 22688 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
22689 warnings.
22690 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
22691 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
22692 grub_ofdisk_read): Likewise, and deal similarly with the fact that
22693 ihandles have a 32-bit type but need to be stored in a "void *".
22694
136d9f82 226952009-04-28 Pavel Roskin <proski@gnu.org>
22696
9459c306 22697 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
22698 not disk. Adjust all dependencies.
2e08a26a 22699 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 22700 grub_disk_close().
22701
136d9f82 22702 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
22703 parent's partition, don't copy it by reference, as it gets freed
22704 on close.
22705
7dd4a573 227062009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 22707
22708 Preboot hooks support
22709
22710 * commands/boot.c (struct grub_preboot_t): new declaration
22711 (preboots_head): new variable
22712 (preboots_tail): likewise
22713 (grub_loader_register_preboot_hook): new function
22714 (grub_loader_unregister_preboot_hook): likewise
22715 (grub_loader_set): launch preboot hooks
22716 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
22717 (grub_loader_register_preboot_hook): new declaration
22718 (grub_loader_unregister_preboot_hook): likewise
22719
5af922b5 227202009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22721
22722 Warning fix
22723
7dd4a573 22724 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 22725 calling grub_dprintf
22726
a5562c30 227272009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
22728
22729 Bug and warning fixes
22730
7dd4a573 22731 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 22732 declaration
22733 * commands/test.c (test_parse): fixed bug with file tests and corrected
22734 declaration of find_file
22735
4006f85c 227362009-04-26 Pavel Roskin <proski@gnu.org>
22737
22738 * Makefile.in: Don't install empty manual pages if help2man is
22739 missing. Use help2man option for output, not shell redirection.
22740
5c77c3de 227412009-04-26 David S. Miller <davem@davemloft.net>
22742
22743 * util/grub-mkdevicemap.c (make_device_map): Add missing
22744 NESTED_FUNC_ATTR to process_device().
22745
033b10a8 227462009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22747
22748 Test command
22749
22750 * commands/test.c: rewritten to use bash-like test
22751
e4343593 227522009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22753
22754 Parttool autoloading and improvements
22755
7dd4a573 22756 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 22757 (parttool.lst): new target
22758 * genmk.rb: generate parttool-*
22759 (CLEANFILES): add #{parttool}
22760 (PARTTOOLFILES): new variable
22761 * genparttoollist.sh: new file
7dd4a573 22762 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 22763 (grub_pcpart_type): likewise
22764 * commands/parttool.c (helpmsg): new variable
22765 (grub_cmd_parttool): output help if not enough arguments are supplied
22766 autoload modules
22767 (GRUB_MOD_INIT(parttool)): use helpmsg
22768
0d312500 227692009-04-24 David S. Miller <davem@davemloft.net>
22770
7dd4a573 22771 Avoiding opening same device multiple times in device iterator.
0d312500 22772
22773 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 22774 and use it to build a list of partitions in iterate_disk() and
0d312500 22775 iterate_partition().
22776
ac20caff 22777 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
22778 on disk->data.
22779
0dcf7495 22780 * disk/ieee1275/nand.c (grub_nand_iterate): Return
22781 grub_devalias_iterate() result instead of unconditional 0.
22782 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
22783 Also, capture hook return value, either directly or via
22784 grub_children_iterate(), and propagate to caller.
22785 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
22786 grub_children_iterate): Return value is now 'int' instead of
22787 'grub_err_t'.
22788 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
22789 like a proper iterator, stopping when hooks return non-zero.
22790 (grub_devalias_iterate): Likewise.
22791
c8c08833 227922009-04-23 David S. Miller <davem@davemloft.net>
22793
22794 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
22795
f01005a8 227962009-04-22 David S. Miller <davem@davemloft.net>
22797
22798 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
22799 is larger than address_cells, use that value for address_cells too.
22800
4e8269da 22801 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
22802 IEEE1275_MAX_PATH_LEN): Define.
22803 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
22804 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
22805 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
22806 'devtype'. Explicitly NULL terminate devalias expansion.
22807
a1447506 22808 * util/sparc64/ieee1275/misc.c: New file.
22809 * util/sparc64/ieee1275/grub-setup.c: New file.
22810 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
22811 * util/sparc64/ieee1275/grub-mkimage.c: New file.
22812 * util/sparc64/ieee1275/grub-install.in: New file.
22813 * util/ieee1275/ofpath.c: New file.
22814 * util/ieee1275/devicemap.c: New file.
22815 * util/devicemap.c: New file.
22816 * util/deviceiter.c: New file.
22817 * kern/sparc64/ieee1275/init.c: New file.
22818 * include/grub/util/ofpath.h: New file.
22819 * include/grub/util/deviceiter.h: New file.
22820 * util/grub-mkdevicemap.c: Include deviceiter.h.
22821 Implement using grub_util_emit_devicemap_entry and
22822 grub_util_iterate_devices.
22823 * conf/i386-corebook.rmk: Build util/deviceiter.c and
22824 util/devicemap.c into grub-mkdevicemap
22825 * conf/i386-efi.rmk: Likewise.
22826 * conf/i386-ieee1275.rmk: Likewise.
22827 * conf/i386-pc.rmk: Likewise.
22828 * conf/powerpc-ieee1275.rmk: Likewise.
22829 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
22830 images and installation utilities. Build kernel as image
22831 instead of as elf binary. Use common rules as much as possible.
22832
7dd4a573 228332009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 22834
22835 Correct GPT definition
22836
7dd4a573 22837 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 22838 of "attrib" member
22839
c6c5219f 228402009-04-19 Felix Zielcke <fzielcke@z-51.de>
22841
22842 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
22843
0552ff9f 228442009-04-19 David S. Miller <davem@davemloft.net>
22845
22846 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
22847 (grub_rescue_cmd_linux): Rename to...
22848 (grub_cmd_linux): and fix prototype.
22849 (grub_rescue_cmd_initrd): Rename to...
22850 (grub_cmd_initrd): and fix prototype.
22851 (cmd_linux, cmd_initrd): New.
22852 (GRUB_MOD_INIT(linux)): Use grub_register_command().
22853 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
22854
d1a282fc 228552009-04-17 Pavel Roskin <proski@gnu.org>
22856
07c5039f 22857 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
22858 format.
22859 (grub_ohci_transfer): Likewise.
22860
b012002d 22861 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
22862
1bc09c35 22863 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
22864 return without a value. Fix inconsistent indentation.
22865
e0ff9126 22866 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
22867 match struct grub_fs.
22868
d1a282fc 22869 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
22870 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
22871 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22872 * commands/lspci.c (grub_lspci_iter): Likewise.
22873
a96df3f2 228742009-04-16 Bean <bean123ch@gmail.com>
22875
22876 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
22877 value.
22878
41bb0fe9 228792009-04-15 Pavel Roskin <proski@gnu.org>
22880
22881 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
22882 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
22883 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
22884 definitions.
22885
596c6970 228862009-04-15 Felix Zielcke <fzielcke@z-51.de>
22887
22888 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 22889 that no multiple data or metadata areas are supported and `Unknown
596c6970 22890 metadata header'.
22891
7dd4a573 228922009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 22893
22894 Move loader out of the kernel
22895
22896 * kern/loader.c: moved to ...
22897 * commands/boot.c: ... moved here
22898 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
22899 * commands/boot.c (grub_cmd_boot): moved here. All users updated
22900 * include/grub/kernel.h (grub_machine_fini): export
22901 * include/grub/loader.h (grub_loader_is_loaded): update declaration
22902 (grub_loader_set): likewise
22903 (grub_loader_unset): likewise
22904 (grub_loader_boot): likewise
22905 * conf/common.rmk: new module boot.mod
22906 (pkglib_MODULES): add boot.mod
22907 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
22908 (grub_emu_SOURCES): likewise
22909 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
22910 (grub_emu_SOURCES): likewise
22911 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
22912 (grub_emu_SOURCES): likewise
22913 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
22914 (grub_emu_SOURCES): likewise
22915 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
22916 (grub_emu_SOURCES): likewise
7dd4a573 22917 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
22918 (grub_emu_SOURCES): likewise
0d5d5653 22919 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 22920 (grub_emu_SOURCES): likewise
0d5d5653 22921
7dd4a573 229222009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 22923
22924 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 22925
5999d619 22926 * kern/misc.c (grub_itoa): Removed function
22927 (grub_ltoa): likewise
22928 (grub_vsprintf): use grub_lltoa
22929
7dd4a573 229302009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 22931
22932 Restore grub-emu
22933
22934 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
22935 * conf/i386-coreboot.rmk: likewise
22936 * conf/i386-ieee1275.rmk: likewise
22937 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 22938
20318222 229392009-04-15 Felix Zielcke <fzielcke@z-51.de>
22940
22941 * INSTALL: Add that `./autogen.sh' needs to be run before
22942 `./configure.'.
22943
d05f0df3 229442009-04-14 Bean <bean123ch@gmail.com>
22945
22946 * Makefile.in (pkglib_DATA): Add handler.lst.
22947 (handler.lst): New rule.
22948
22949 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
22950 * conf/i386-coreboot.rmk: Likewise.
22951 * conf/i386-ieee1275.rmk: Likewise.
22952 * conf/i386-efi.rmk: Likewise.
22953 * conf/x86_64-efi.rmk: Likewise.
22954 * conf/powerpc-ieee1275.rmk: Likewise.
22955 * conf/sparc64-ieee1275.rmk: Likewise.
22956
22957 * genhandlerlist.sh: New file.
22958
22959 * genmk.rb: Add rules to generate handler.lst.
22960
22961 * include/grub/normal.h (grub_file_getline): New function definition.
22962 (read_handler_list): Likewise.
22963 (free_handler_list): Likewise.
22964
22965 * include/grub/term.h (grub_term_register_input): Add name parameter
22966 for auto generation of handler.lst.
22967 (grub_term_register_output): Likewise.
22968
22969 * normal/handler.c: New file.
22970
22971 * normal/main.c (get_line): Renamed to grub_file_getline.
22972 (read_config_file): Use the newly renamed grub_file_getline.
22973 (read_command_list): Likewise.
22974 (read_fs_list): Likewise.
22975 (grub_normal_execute): Call read_handler_list to parse handler.lst.
22976 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
22977
22978 * term/efi/console.c (grub_console_init): Add name parameter for auto
22979 generation of handler.lst.
22980 * term/gfxterm.c: Likewise.
22981 * term/i386/pc/at_keyboard.c: Likewise.
22982 * term/i386/pc/console.c: Likewise.
22983 * term/i386/pc/serial.c: Likewise.
22984 * term/i386/pc/vesafb.c: Likewise.
22985 * term/i386/pc/vga.c: Likewise.
22986 * term/i386/pc/vga_text.c: Likewise.
22987 * term/ieee1275/ofconsole.c: Likewise.
22988 * term/usb_keyboard.c: Likewise.
22989
33c846be 229902009-04-14 Bean <bean123ch@gmail.com>
22991
22992 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
22993 properly with null character.
22994
4484e01e 229952009-04-14 Felix Zielcke <fzielcke@z-51.de>
22996
22997 * configure: Remove.
22998 * config.h.in: Likewise.
f93d668e 22999 * stamp-h.in: Likewise.
4484e01e 23000 * DISTLIST: Likewise.
23001 * conf/common.mk: Likewise.
23002 * conf/i386-coreboot.mk: Likewise.
23003 * conf/i386-efi.mk: Likewise.
23004 * conf/i386-ieee1275.mk: Likewise.
23005 * conf/i386.mk: Likewise.
23006 * conf/i386-pc.mk: Likewise.
23007 * conf/powerpc-ieee1275.mk: Likewise.
23008 * conf/sparc64-ieee1275.mk: Likewise.
23009 * conf/x86_64-efi.mk: Likewise.
23010
23011 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
23012 develop on GRUB.
23013
7dd4a573 230142009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 23015 David S. Miller <davem@davemloft.net>
23016
23017 * util/hostdisk.c (make_device_name): Fix buffer length
23018 calculations.
23019
e25b5a8c 230202009-04-14 Felix Zielcke <fzielcke@z-51.de>
23021
23022 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
23023 <sys/param.h> and <sys/sysctl.h>.
23024 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
23025 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
23026 opening the device and reset them afterwards.
23027
1f1f580c 230282009-04-13 Pavel Roskin <proski@gnu.org>
23029
23030 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
23031 Reported by John Stanley <jpsinthemix@verizon.net>
23032
7ebc2d6b 230332009-04-13 Robert Millan <rmh@aybabtu.com>
23034
23035 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 23036 that name for menuentries when appropriate.
7ebc2d6b 23037
d8ba3667 230382009-04-13 Felix Zielcke <fzielcke@z-51.de>
23039
23040 * util/grub.d/10_freebsd.in: Add a missing `fi'.
23041
cba416eb 230422009-04-13 Robert Millan <rmh@aybabtu.com>
23043
23044 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
23045 to Linux, simply abort telling the user it's no longer supported.
23046
a547a745 230472009-04-13 Felix Zielcke <fzielcke@z-51.de>
23048
23049 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 23050 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 23051 `freebsd_loadenv' only when devices.hints exist.
23052
232a769c 230532009-04-13 Pavel Roskin <proski@gnu.org>
23054
23055 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
23056
c3012039 230572009-04-13 Felix Zielcke <fzielcke@z-51.de>
23058
23059 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
23060 partition number.
23061 (grub_drive): Likewise.
23062
234022fe 230632009-04-13 David S. Miller <davem@davemloft.net>
23064
23065 * kern/sparc64/ieee1275/ieee1275.c: New file.
23066 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
23067 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
23068 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
23069 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
23070 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
23071 grub_ieee1275_alloc_physmem): Declare new exported functions.
23072
d8e1836c 23073 * include/grub/sparc64/ieee1275/loader.h: New file.
23074 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23075 * include/grub/sparc64/kernel.h: Likewise.
23076 * loader/sparc64/ieee1275/linux.c: Likewise.
23077
96bd81ec 23078 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
23079 (grub_fstest_SOURCES): Likewise.
23080
6a4737e5 23081 * util/hostdisk.c (make_device_name): Do not make any assumptions
23082 about the length of drive names.
23083
1d7a72fd 23084 * kern/dl.c (grub_dl_load_file): Close file immediately when
23085 we are done using it.
23086
56bc2471 230872009-04-12 David S. Miller <davem@davemloft.net>
23088
23089 * kern/misc.c (grub_ltoa): Fix cast when handling negative
23090 values. Noticed by Pavel Roskin.
23091
df38d0bb 23092 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
23093 target compiler.
7dd4a573 23094
e382e93a 23095 * genmk.rb: Add more flexible image type specification, also
23096 pass --strip-unneeded to objcopy.
23097 * conf/i386-pc.rmk: Use *_FORMAT.
23098 * conf/i386-pc.mk: Rebuilt.
23099
f5dbbca9 23100 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
23101 (OFDISK_HASH_SZ): Define.
23102 (ofdisk_hash): New hash table.
23103 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
23104 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
23105 instead of device phandle which is not unique.
23106
91c88b12 23107 * kern/sparc64/ieee1275/init.c: Delete, replace with...
23108 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
23109 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
23110 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
23111 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
23112 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
23113 GRUB_KERNEL_MACHINE_DATA_END): Define.
23114 (grub_kernel_image_size, grub_total_module_size): Declare.
23115
5b5d4aa5 231162009-04-12 Pavel Roskin <proski@gnu.org>
23117
7dd4a573 23118 * configure.ac: Change the logic when we check for target tools.
23119 Do it when the target is specified and it's different from the
23120 specified value of the host.
5b5d4aa5 23121
c91e1793 231222009-04-11 Felix Zielcke <fzielcke@z-51.de>
23123
23124 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
23125 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
23126 GNU/kFreeBSD. Check if a device is a character device. Use
23127 DIOCGMEDIASIZE to get the size.
23128 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
23129 support for GNU/kFreeBSD.
23130 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
23131 is a character device instead of a block device. Add support for
23132 FreeBSD device names.
23133
23134 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
23135 is a character device instead of a block device.
23136
23137 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
23138 is a character device instead of a block device.
23139
b1ac8644 231402009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
23141
23142 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
23143 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
23144 FreeBSD. Check if a device is a character device. Use
23145 DIOCGMEDIASIZE to get the size.
23146 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
23147 support for FreeBSD.
23148 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
23149 is a character device instead of a block device. Add support for
23150 FreeBSD device names.
23151
23152 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
23153 a character device instead of a block device.
23154 (grub_util_check_char_device): New function.
23155
23156 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
23157 a character device instead of a block device.
23158
23159 * include/grub/util/getroot.h (grub_util_check_char_device): New
23160 prototype.
23161
a3f7515a 231622009-04-11 David S. Miller <davem@davemloft.net>
23163
23164 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
23165 static libgcc.
23166 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
23167 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
23168 function, if present.
23169 (__bswapdi2): Likewise.
23170
0d44993d 23171 * include/grub/sparc64/ieee1275/boot.h: New file.
23172 * boot/sparc64/ieee1275/boot.S: Likewise.
23173 * boot/sparc64/ieee1275/diskboot.S: Likewise.
23174
ed3d2bc2 23175 * kern/misc.c (grub_ltoa): New function.
23176 (grub_vsprintf): Use it to format 'long' integers.
23177
d3bfb59c 231782009-04-10 David S. Miller <davem@davemloft.net>
23179
23180 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
23181 slots are of type grub_ieee1275_cell_t.
23182 (grub_nand_read): Likewise.
23183 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
23184 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
23185 macros are used to compare values in arg/ret block of the call.
23186 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23187 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
23188 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
23189 grub_ieee1275_instance_to_path, grub_ieee1275_write,
23190 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
23191 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
23192 grub_ieee1275_close, grub_ieee1275_set_property,
23193 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
23194 grub_ieee1275_cell_t.
23195 * kern/ieee1275/openfw.c (grub_map): Likewise.
23196 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
23197 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
23198
450e2238 23199 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
23200 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
23201 (grub_devalias_iterate): Likewise.
23202
7dd4a573 232032009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 23204
23205 UFS improvements
23206
23207 * fs/ufs.c (INODE_NBLOCKS): new definition
23208 (struct grub_ufs_dirent): added fields for non-BSD dirents
23209 (grub_ufs_get_file_block): fixed double indirect handling
23210 (grub_ufs_lookup_symlink): use more robust way to determine whether
23211 symlink is inline
23212 (grub_ufs_find_file): support for non-BSD dirents
23213 (grub_ufs_dir): support for non-BSD dirents
23214
e7e6862a 232152009-04-10 Bean <bean123ch@gnail.com>
23216
23217 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
23218 attribute, otherwise the size would be wrong for i386 platform.
23219
23220 * include/grub/pci.h (grub_pci_read_word): New inline function.
23221 (grub_pci_read_byte): Likewise.
23222 (grub_pci_write): Likewise.
23223 (grub_pci_write_word): Likewise.
23224 (grub_pci_write_byte): Likewise.
23225
23226 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
23227
23228 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
23229 (find_framebuf): Scan pci to locate the frame buffer address.
23230
23231 * commands/efi/fixvideo.c: New file.
23232
23233 * commands/efi/loadbios.c: Likewise.
23234
23235 * commands/memrw.c: Likewise.
23236
23237 * util/grub-dumpbios.in: Likewise.
23238
23239 * conf/common.rmk (grub-dumpbios): New utility.
23240 (pkglib_MODULES): New module memrw.mod.
23241 (memrw_mod_SOURCE): New macro.
23242 (memrw_mod_CFLAGS): Likewise.
23243 (memrw_mod_LDFLAGS): Likewise.
23244
7dd4a573 23245 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23246 fixvideo.mod.
23247 (loadbios_mod_SOURCE): New macro.
23248 (loadbios_mod_CFLAGS): Likewise.
23249 (loadbios_mod_LDFLAGS): Likewise.
23250 (fixvideo_mod_SOURCE): Likewise.
23251 (fixvideo_mod_CFLAGS): Likewise.
23252 (fixvideo_mod_LDFLAGS): Likewise.
23253
7dd4a573 23254 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23255 fixvideo.mod.
23256 (loadbios_mod_SOURCE): New macro.
23257 (loadbios_mod_CFLAGS): Likewise.
23258 (loadbios_mod_LDFLAGS): Likewise.
23259 (fixvideo_mod_SOURCE): Likewise.
23260 (fixvideo_mod_CFLAGS): Likewise.
23261 (fixvideo_mod_LDFLAGS): Likewise.
23262
af63ada2 232632009-04-08 Felix Zielcke <fzielcke@z-51.de>
23264
23265 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
23266
c2cdde70 232672009-04-07 David S. Miller <davem@davemloft.net>
23268
23269 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
23270 support for R_SPARC_OLO10 relocations. Fix compile warning for
23271 R_SPARC_WDISP30 case.
ea3f72cf 23272 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 23273
761319cf 232742009-04-06 Pavel Roskin <proski@gnu.org>
23275
1007d1f5 23276 * include/grub/misc.h (ARRAY_SIZE): New macro.
23277 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
23278 New macro.
23279 * loader/i386/linux.c (allocate_pages): Use free_pages().
23280 (grub_linux_unload): Don't use free_pages().
23281 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
23282 wrong index. Treat all other modes as text modes.
23283 (grub_cmd_linux): Initialize vid_mode unconditionally to
23284 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
23285
761319cf 23286 * commands/help.c (print_command_help): Use cmd->prio, not
23287 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
23288
ea761d40 232892009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 23290
ea761d40 23291 Parttool
23292
23293 * parttool/pcpart.c: new file
23294 * commands/parttool.c: likewise
23295 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
23296 (parttool_mod_SOURCES): new variable
23297 (parttool_mod_CFLAGS): likewise
23298 (parttool_mod_LDFLAGS): likewise
23299 (pcpart_mod_SOURCES): likewise
23300 (pcpart_mod_CFLAGS): likewise
23301 (pcpart_mod_LDFLAGS): likewise
7dd4a573 23302 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 23303 and parttool/pcpart.c
23304 * conf/i386-efi.rmk: likewise
23305 * conf/i386-ieee1275.rmk: likewise
23306 * conf/i386-pc.rmk: likewise
23307 * conf/powerpc-ieee1275.rmk: likewise
23308 * conf/sparc64-ieee1275.rmk: likewise
23309 * conf/x86_64-ieee1275.rmk: likewise
23310
05aaebfb 233112009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23312
23313 Support for mtime and further expandability of dir command
23314
23315 * include/grub/lib/datetime.h: moved to ...
7dd4a573 23316 * include/grub/datetime.h: ... moved here and added
05aaebfb 23317 declaration of grub_unixtime2datetime. All users updated
7dd4a573 23318 * include/grub/fs.h: new syntax for dir and mtime functions in
23319 struct grub_fs
05aaebfb 23320 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
23321 and GRUB_FSHELP_FLAGS_MASK
23322 * commands/ls.c (grub_ls_list_files): Write mtime in long format
23323 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
23324 (grub_ext2_mtime): new function
23325 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
23326 (grub_hfsplus_mtime): new function
23327 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
23328 (GRUB_UFS_ATTR_FILE): likewise
23329 (GRUB_UFS_ATTR_LNK): likewise
23330 (struct grub_ufs_sblock): new fields mtime
23331 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
23332 all users updated
23333 (grub_ufs_dir): mtime support
23334 (grub_ufs_mtime): new function
23335 * fs/affs.c (grub_affs_dir): use new dir syntax
23336 * fs/afs.c (grub_afs_dir): likewise
23337 * fs/cpio.c (grub_cpio_dir): likewise
23338 * fs/fat.c (grub_fat_find_dir): likewise
23339 * fs/hfs.c (grub_hfs_dir): likewise
23340 * fs/iso9660.c (grub_iso9660_dir): likewise
23341 * fs/jfs.c (grub_jfs_dir): likewise
23342 * fs/minix.c (grub_minix_dir): likewise
23343 * fs/ntfs.c (grub_ntfs_dir): likewise
23344 * fs/reiserfs.c (grub_reiserfs_dir): likewise
23345 * fs/sfs.c (grub_sfs_dir): likewise
23346 * fs/xfs.c (grub_xfs_dir): likewise
23347 * util/hostfs.c (grub_hostfs_dir): likewise
23348 * lib/datetime.c: moved to ...
23349 * normal/datetime.c: ... moved here
23350 (grub_unixtime2datetime): new function
23351 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 23352 * normal/completion.c (iterate_dir): use new dir syntax
23353 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 23354 last modification time of a volume
7dd4a573 23355 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 23356 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 23357 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 23358 (normal_mod_SOURCES): likewise
23359 (datetime_mod_SOURCES): Removed lib/datetime.c
23360 * conf/i386-efi.rmk: likewise
7dd4a573 23361 * conf/i386-ieee1275.rmk: likewise
05aaebfb 23362 * conf/i386-pc.rmk: likewise
23363 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23364 * conf/sparc64-ieee1275.rmk: likewise
23365 * conf/x86_64-efi.rmk: likewise
05aaebfb 23366
8a7e1a14 233672009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23368
23369 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 23370
23371 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 23372 on grub_fat_find_dir
23373 (grub_fat_find_dir): use grub_fat_iterate_dir
23374 (grub_fat_label): likewise
23375
04186a9c 233762009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23377
7dd4a573 23378 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 23379 and command.h
23380 remove extraneous kernel_elf_HEADERS
23381
da4c0bb6 233822009-04-04 Bean <bean123ch@gnail.com>
23383
23384 * include/grub/util/misc.h: Add dummy function fsync for mingw.
23385
23386 * util/misc.c: Likewise.
23387
54ad9555 233882009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23389
23390 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
23391 instead of grub_printf.
23392
7a6bf9f2 233932009-04-03 Robert Millan <rmh@aybabtu.com>
23394
23395 * loader/i386/linux.c (grub_linux_setup_video): Fill
23396 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
23397 values from `mode info' structure instead of hardcoded
23398 values.
23399
3fcc2083 234002009-04-01 Pavel Roskin <proski@gnu.org>
23401
23402 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
23403 unused now.
23404 * genmk.rb: Likewise.
23405 * configure.ac: Likewise.
23406
5ec9740b 234072009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
23408
23409 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
23410 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
23411
5270cec8 234122009-04-01 David S. Miller <davem@davemloft.net>
23413
23414 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 23415 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 23416 (grub_setjmp): Mark with 'returns_twice' attribute.
23417 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
23418 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
23419 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
23420
9c3dd854 234212009-04-01 Robert Millan <rmh@aybabtu.com>
23422
23423 Reapply fix from 2008-07-28 which was accidentally reverted; also
23424 perform the same fix to a similar check in same function.
23425
23426 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23427 with the same number are found, just use issue a warning with
23428 grub_dprintf(), as this error has been reported to be non-fatal.
23429
0d818b7e 234302009-03-31 Pavel Roskin <proski@gnu.org>
23431
23432 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
23433 for cross-compilation.
23434
95646d92 234352009-03-30 Robert Millan <rmh@aybabtu.com>
23436
23437 Fix i386-ieee1275 build.
23438
23439 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
23440 Remove declaration.
23441
6a003ed1 234422009-03-30 Pavel Roskin <proski@gnu.org>
23443
23444 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
23445 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
23446 zero-terminated, rely only on the strlen value. Fix comparison
23447 of strings differing in length.
23448
92f33540 234492009-03-30 Robert Millan <rmh@aybabtu.com>
23450
23451 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
23452 checking for abi version. Improve error messages on BIOS to notify
23453 user about `linux16' command.
23454
a8c48fd5 234552009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
23456
f968172e 23457 Leak fixes
a8c48fd5 23458
f968172e 23459 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
23460 in case of collision
23461 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 23462
9c323f09 234632009-03-29 Robert Millan <rmh@aybabtu.com>
23464
23465 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
23466 set `vid_mode' accordingly.
23467 (grub_linux_boot): Process `vid_mode' and set video mode.
23468
ae68f423 234692009-03-29 Robert Millan <rmh@aybabtu.com>
23470
23471 * util/grub.d/10_linux.in (linux_entry): New function.
23472 Factorize generation of Linux boot entries.
23473
5709cfc4 234742009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
23475
23476 Make the format of Environment Block plain text. The boot loader
23477 part is not tested well yet.
7dd4a573 23478
5709cfc4 23479 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
23480 (buffer): Removed.
23481 (envblk): Likewise.
23482 (usage): Remove "info" and "clear". Add "unset". Update the
23483 description of "set", as this does not delete variables any
23484 longer.
23485 (create_envblk_file): Complete rewrite.
23486 (open_envblk_file): Likewise.
23487 (cmd_info): Removed.
23488 (cmd_list): Likewise.
23489 (cmd_set): Likewise.
23490 (cmd_clear): Likewise.
23491 (list_variables): New function.
23492 (write_envblk): Likewise.
23493 (set_variables): Likewise.
23494 (unset_variables): Likewise.
23495 (main): Complete rewrite.
23496
23497 * commands/loadenv.c (buffer): Removed.
23498 (envblk): Likewise.
23499 (open_envblk_file): New function.
23500 (read_envblk_file): Complete rewrite.
23501 (grub_cmd_load_env): Likewise.
23502 (grub_cmd_list_env): Likewise.
23503 (struct blocklist): New struct.
23504 (free_blocklists): New function.
23505 (check_blocklists): Likewise.
23506 (write_blocklists): Likewise.
23507 (grub_cmd_save_env): Complete rewrite.
23508
23509 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
23510 a plain text signature.
23511 (GRUB_ENVBLK_MAXLEN): Removed.
23512 (struct grub_envblk): Complete rewrite.
23513 (grub_envblk_find): Removed.
23514 (grub_envblk_insert): Likewise.
23515 (grub_envblk_open): New prototype.
23516 (grub_envblk_set): Likewise.
23517 (grub_envblk_delete): Put const to VALUE.
23518 (grub_envblk_iterate): Put const to NAME and VALUE.
23519 (grub_envblk_close): New prototype.
23520 (grub_envblk_buffer): New inline function.
23521 (grub_envblk_size): Likewise.
23522
23523 * lib/envblk.c: Include grub/mm.h.
23524 (grub_env_find): Removed.
23525 (grub_envblk_open): New function.
23526 (grub_envblk_close): Likewise.
23527 (escaped_value_len): Likewise.
23528 (find_next_line): Likewise.
23529 (grub_envblk_insert): Removed.
23530 (grub_envblk_set): New function.
23531 (grub_envblk_delete): Complete rewrite.
23532 (grub_envblk_iterate): Likewise.
23533
a9368fd3 235342009-03-28 Robert Millan <rmh@aybabtu.com>
23535
23536 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
23537 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
23538 variables. Use 16-bit loader.
23539 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
23540 loader.
23541 * kern/i386/loader.S (grub_linux_boot): Rename to ...
23542 (grub_linux16_boot): ... this. Update all users.
23543 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
23544 (grub_linux_boot): ... this. Update all users.
23545
23546 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
23547 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
23548 commands to `linux16' and `initrd16'.
23549 (GRUB_MOD_FINI(linux)): Rename to ...
23550 (GRUB_MOD_FINI(linux16)): ... this.
23551
e4dd5a7e 235522009-03-24 Pavel Roskin <proski@gnu.org>
23553
23554 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
23555 not just for compilation.
23556
c04d6e05 235572009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
23558
23559 Move multiboot helper out of kernel
23560
23561 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
23562 `loader/i386/multiboot_helper.S'.
23563 * conf/i386-coreboot.rmk: Likewise
23564 * conf/i386-ieee1275.rmk: Likewise
23565
23566 * kern/i386/loader.S: Move multiboot helpers from here...
23567 * loader/i386/multiboot_helper.S: ...moved here
23568 * include/grub/i386/loader.h: Move declarations of multiboot
23569 helpers from here...
23570 * include/grub/i386/multiboot.h: ...moved here
23571 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
23572
42a5b3fc 235732009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23574
23575 * kern/env.c (grub_env_context_open): Added an argument to specify
23576 whether a new context inherits exported variables from current
23577 one. This is useful when making a sandbox to interpret a config
23578 file.
23579 All callers updated.
23580
23581 * include/grub/env.h (grub_env_context_open): Updated the prototype.
23582
b28bbc4e 235832009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23584
23585 * kern/env.c (grub_env_context_close): Fix memory leaks.
23586
f04f02e4 235872009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23588
23589 * normal/main.c (grub_normal_execute): Added an argument
23590 BATCH to specify if an interactive interface should be provided
23591 after reading a config file.
23592 All callers updated.
23593 (read_command_list): Prevent being executed twice.
23594 (read_fs_list): Likewise.
23595
42a5b3fc 23596 * include/grub/normal.h (grub_normal_execute): Updated the
23597 prototype.
f04f02e4 23598
41473ac2 235992009-03-22 Pavel Roskin <proski@gno.org>
23600
fbc00b0c 23601 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
23602 _start.
23603 * kern/i386/pc/startup.S: Likewise.
23604 * kern/i386/efi/startup.S: Likewise.
23605 * kern/i386/ieee1275/startup.S: Likewise.
23606 * kern/i386/coreboot/startup.S: Likewise.
23607 * kern/x86_64/efi/startup.S: Likewise.
23608
41473ac2 23609 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
23610 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
23611 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
23612
2274cc8f 236132009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
23614
23615 Bugfixes in multiboot for bugs uncovered by solaris kernel.
23616
23617 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
23618 limit detection.
23619 Use vaddr of correct segment for entry_point.
23620
b1b797cb 236212009-03-21 Bean <bean123ch@gmail.com>
23622
23623 * commands/blocklist.c: Add include file <grub/command.h>, remove
23624 <grub/normal.h> and <grub/arg.h>.
23625 (grub_cmd_blocklist): Use the new command interface.
23626 (GRUB_MOD_INIT): Likewise.
23627 (GRUB_MOD_FINI): Likewise.
23628 * commands/boot.c: Likewise.
23629 * commands/cat.c: Likewise.
23630 * commands/cmp.c: Likewise.
23631 * commands/configfile.c: Likewise.
23632 * commands/crc.c: Likewise.
23633 * commands/echo.c: Likewise.
23634 * commands/halt.c: Likewise.
23635 * commands/handler.c: Likewise.
23636 * commands/hdparm.c: Likewise.
23637 * commands/help.c: Likewise.
23638 * commands/hexdump.c: Likewise.
23639 * commands/loadenv.c: Likewise.
23640 * commands/ls.c: Likewise.
23641 * commands/lsmmap.c: Likewise.
23642 * commands/lspci.c: Likewise.
23643 * commands/loadenv.c: Likewise.
23644 * commands/read.c: Likewise.
23645 * commands/reboot.c: Likewise.
23646 * commands/search.c: Likewise.
23647 * commands/sleep.c: Likewise.
23648 * commands/test.c: Likewise.
23649 * commands/usbtest.c: Likewise.
23650 * commands/videotest.c: Likewise.
23651 * commands/i386/cpuid.c: Likewise.
23652 * commands/i386/pc/halt.c: Likewise.
23653 * commands/i386/pc/play.c: Likewise.
23654 * commands/i386/pc/pxecmd.c: Likewise.
23655 * commands/i386/pc/vbeinfo.c: Likewise.
23656 * commands/i386/pc/vbetest.c: Likewise.
23657 * commands/ieee1275/suspend.c: Likewise.
23658 * disk/loopback.c: Likewise.
23659 * font/font_cmd.c: Likewise.
23660 * hello/hello.c: Likewise.
23661 * loader/efi/appleloader.c: Likewise.
23662 * loader/efi/chainloader.c: Likewise.
23663 * loader/i386/bsd.c: Likewise.
23664 * loader/i386/efi/linux.c: Likewise.
23665 * loader/i386/ieee1275/linux.c: Likewise.
23666 * loader/i386/linux.c: Likewise.
23667 * loader/i386/pc/chainloader.c: Likewise.
23668 * loader/i386/pc/linux.c: Likewise.
23669 * loader/powerpc/ieee1275/linux.c: Likewise.
23670 * loader/multiboot_loader.c: Likewise.
23671 * term/gfxterm.c: Likewise.
23672 * term/i386/pc/serial.c: Likewise.
23673 * term/terminfo.c: Likewise.
23674
23675 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
23676 * term/i386/pc/vga.c: Likewise.
23677 * video/readers/jpeg.c: Likewise.
23678 * video/readers/png.c: Likewise.
23679 * video/readers/tga.c: Likewise.
23680
23681 * util/grub-fstest (cmd_loopback): Removed.
23682 (cmd_blocklist): Likewise.
23683 (cmd_ls): Likewise.
23684 (grub_register_command): Likewise.
23685 (grub_unregister_command): Likewise.
23686 (execute_command): Use grub_command_find to locate command and execute
23687 it.
23688
23689 * include/grub/efi/chainloader.h: Removed.
23690 * loader/efi/chainloader_normal.c: Likewise.
23691 * loader/i386/bsd_normal.c: Likewise.
23692 * loader/i386/pc/chainloader_normal.c: Likewise.
23693 * loader/i386/pc/multiboot_normal.c: Likewise.
23694 * loader/linux_normal.c: Likewise.
23695 * loader/multiboot_loader_normal.c: Likewise.
23696 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23697
23698 * gencmdlist.sh: Scan new registration command grub_register_extcmd
23699 and grub_register_command_p1.
23700
23701 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
23702 kern/command.c, lib/arg.c and commands/extcmd.c.
23703 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
23704 (minicmd_mod_SOURCES): New variable.
23705 (minicmd_mod_CFLAGS): Likewise.
23706 (minicmd_mod_LDFLAGS): Likewise.
23707 (extcmd_mod_SOURCES): Likewise.
23708 (extcmd_mod_CFLAGS): Likewise.
23709 (extcmd_mod_LDFLAGS): Likewise.
23710 (boot_mod_SOURCES): Removed.
23711 (boot_mod_CFLAGS): Likewise.
23712 (boot_mod_LDFLAGS): Likewise.
23713
23714 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
23715 kern/corecmd.c.
23716 (kernel_img_HEADERS): Add command.h.
23717 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
23718 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
23719 and lib/arg.c.
23720 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
23721 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
23722 remove the corresponding normal mode command.
23723 (normal_mod_SOURCES): Remove normal/arg.c.
23724 * conf/i386-coreboot.rmk: Likewise.
23725 * conf/i386-efi.rmk: Likewise.
23726 * conf/i386-ieee1275.rmk: Likewise.
23727 * conf/powerpc-ieee1275.rmk: Likewise.
23728 * conf/x86_64-efi.rmk: Likewise.
23729
23730 * include/grub/arg.h: Move from here ...
23731 * include/grub/lib/arg.h: ... to here.
23732
23733 * normal/arg.c: Move from here ...
23734 * lib/arg.c: ... to here.
23735
23736 * commands/extcmd.c: New file.
23737 * commands/minicmd.c: Likewise.
23738 * include/grub/command.h: Likewise.
23739 * include/grub/extcmd.h: Likewise.
23740 * kern/command.c: Likewise.
23741 * kern/corecmd.c: Likewise.
23742
23743 * kern/list.c (grub_list_iterate): Return int instead of void.
23744 (grub_list_insert): New function.
23745 (grub_prio_list_insert): Likewise.
23746
23747 * kern/rescue.c (grub_rescue_command): Removed.
23748 (grub_rescue_command_list): Likewise.
23749 (grub_rescue_register_command): Likewise.
23750 (grub_rescue_unregister_command): Likewise.
23751 (grub_rescue_cmd_boot): Move to minicmd.c
23752 (grub_rescue_cmd_help): Likewise.
23753 (grub_rescue_cmd_info): Likewise.
23754 (grub_rescue_cmd_boot): Likewise.
23755 (grub_rescue_cmd_testload): Likewise.
23756 (grub_rescue_cmd_dump): Likewise.
23757 (grub_rescue_cmd_rmmod): Likewise.
23758 (grub_rescue_cmd_lsmod): Likewise.
23759 (grub_rescue_cmd_exit): Likewise.
23760 (grub_rescue_print_devices): Moved to corecmd.c.
23761 (grub_rescue_print_files): Likewise.
23762 (grub_rescue_cmd_ls): Likewise.
23763 (grub_rescue_cmd_insmod): Likewise.
23764 (grub_rescue_cmd_set): Likewise.
23765 (grub_rescue_cmd_unset): Likewise.
7d074e3c 23766 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 23767 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 23768 commands, remove grub_rescue_register_command calls.
b1b797cb 23769
7d074e3c 23770 * normal/command.c (grub_register_command): Removed.
b1b797cb 23771 (grub_unregister_command): Likewise.
23772 (grub_command_find): Likewise.
23773 (grub_iterate_commands): Likewise.
23774 (rescue_command): Likewise.
23775 (export_command): Moved to corecmd.c.
23776 (set_command): Removed.
23777 (unset_command): Likewise.
23778 (insmod_command): Likewise.
23779 (rmmod_command): Likewise.
23780 (lsmod_command): Likewise.
23781 (grub_command_init): Likewise.
23782
23783 * normal/completion.c (iterate_command): Use cmd->prio to check for
23784 active command.
23785 (complete_arguments): Use grub_extcmd_t structure to find options.
23786 (grub_normal_do_completion): Change function grub_iterate_commands to
23787 grub_command_iterate.
23788
23789 * normal/execute.c (grub_script_execute_cmd): No need to parse
23790 argument here.
23791
23792 * normal/main.c (grub_dyncmd_dispatcher): New function.
23793 (read_command_list): Register unload commands as dyncmd.
23794 (grub_cmd_normal): Use new command interface, register rescue,
23795 unregister normal at entry, register normal, unregister rescue at exit.
23796
23797 * include/grub/list.h (grub_list_test_t): New type.
23798 (grub_list_iterate): Return int instead of void.
23799 (grub_list_insert): New function.
23800 (GRUB_AS_NAMED_LIST_P): New macro.
23801 (GRUB_AS_PRIO_LIST): Likewise.
23802 (GRUB_AS_PRIO_LIST_P): Likewise.
23803 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
23804 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
23805 (grub_prio_list): New structure.
23806 (grub_prio_list_insert): New function.
23807 (grub_prio_list_remove): New inline function.
23808
23809 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
23810 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
23811 (GRUB_COMMAND_FLAG_MENU): Likewise.
23812 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23813 (GRUB_COMMAND_FLAG_TITLE): Likewise.
23814 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23815 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
23816 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
23817 (grub_command): Likewise.
23818 (grub_register_command): Likewise.
23819 (grub_command_find): Likewise.
23820 (grub_iterate_commands): Likewise.
23821 (grub_command_init): Likewise.
23822 (grub_arg_parse): Likewise.
23823 (grub_arg_show_help): Likewise.
23824
23825 * include/grub/rescue.h (grub_rescue_register_command): Removed.
23826 (grub_rescue_unregister_command): Likewise.
23827
23828 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
23829 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
23830 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
23831
23832 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
23833 grub_rescue_cmd_initrd.
23834 * include/grub/i386/loader.h: Likewise.
23835 * include/grub/x86_64/loader.h: Likewise.
23836
23837 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
23838
1f4147aa 238392009-03-21 Bean <bean123ch@gmail.com>
23840
23841 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
23842 instead of stat in mingw environment.
23843
23844 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
23845
23846 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
23847
23848 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
23849 AC_CONFIG_LINKS.
23850
2156d5ba 238512009-03-21 Bean <bean123ch@gmail.com>
23852
23853 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
23854 out of range error.
23855
177b82ca 238562009-03-18 Michel Dänzer <michel@daenzer.net>
23857
23858 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
23859 checking inode flags for EXT4_EXTENTS_FLAG.
23860
14aad807 238612009-03-18 Robert Millan <rmh@aybabtu.com>
23862
23863 * loader/i386/linux.c: Include `<grub/video.h>' and
23864 `<grub/i386/pc/vbe.h>'..
23865 (grub_linux_setup_video): New function. Loosely based on the EFI one.
23866 (grub_linux32_boot): Attempt to configure video settings with
23867 grub_linux_setup_video().
23868 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
23869 to avoid grub_console_fini() which would step out of graphical mode
23870 unconditionally.
23871
8cf83a27 238722009-03-14 Robert Millan <rmh@aybabtu.com>
23873
23874 Fix build on powerpc.
23875 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
23876
40164e75 238772009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
23878
23879 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
23880 background image command.
23881
c58bc32a 238822009-03-12 Colin D Bennett <colin@gibibit.com>
23883
23884 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
23885 (grub_gfxterm_putchar): Extract pairs of identical calls to
23886 draw_cursor out of conditional blocks.
23887
5415144a 238882009-03-11 Pavel Roskin <proski@gnu.org>
23889
23890 * fs/hfs.c (grub_hfs_strncasecmp): New function.
23891 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
23892
6394042e 238932009-03-11 Robert Millan <rmh@aybabtu.com>
23894
23895 * loader/i386/multiboot_elfxx.c
23896 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
23897
b7b50e5f 238982009-03-11 Felix Zielcke <fzielcke@z-51.de>
23899
23900 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
23901 `kern/handler.c'.
23902
1ca7fc96 239032009-03-11 Robert Millan <rmh@aybabtu.com>
23904
23905 * loader/i386/multiboot.c (code_size): New variable.
23906 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 23907 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 23908 4-byte alignment to MBI and others by increasing
7d074e3c 23909 `boot_loader_name_length' appropriately.
1ca7fc96 23910
23911 * loader/i386/multiboot_elfxx.c
23912 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
23913
a83ea1d2 239142009-03-09 Felix Zielcke <fzielcke@z-51.de>
23915
23916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
23917 `fs/ext2.c'.
23918
aa9f3bff 239192009-03-08 Robert Millan <rmh@aybabtu.com>
23920
23921 Make loader/i386/linux.c usable on i386-pc again.
23922
23923 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
23924 memory to heap.
23925 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
23926 `#error' stanza.
23927
d8b3b60e 239282009-03-07 Bean <bean123ch@gmail.com>
23929
23930 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
23931 allocation.
23932
b362c9e9 239332009-03-06 Robert Millan <rmh@aybabtu.com>
23934
23935 Fix display issue on terminals with screen size other than 80x25
23936 (e.g. gfxterm with resolution higher than 640x480).
23937
23938 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 23939 position relative to the center of the terminal instead of relying
b362c9e9 23940 on a hardcoded offset.
23941
9304eef1 239422009-03-04 Robert Millan <rmh@aybabtu.com>
23943
23944 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
23945 installed.
23946
23947 * Makefile.in (host_kernel): New variable.
23948 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
23949 scripts instead of just the windows one.
23950 * configure.ac: Initialize and AC_SUBST `host_kernel'.
23951
eabc95fb 239522009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 23953
23954 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
23955 `kern/handler.c'.
23956 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23957 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23958 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23960 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23961 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23962
ceb1223c 239632009-03-04 Felix Zielcke <fzielcke@z-51.de>
23964
23965 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
23966 or if there's no space for the disk label and print the partition number on a
23967 invalid magic.
23968
4910684a 239692009-03-04 Felix Zielcke <fzielcke@z-51.de>
23970
23971 * util/misc.c: Include <time.h>.
23972 (grub_millisleep): New function.
23973
7e9ca17a 239742009-03-04 Bean <bean123ch@gmail.com>
23975
23976 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
23977 another option -mno-red-zone.
23978
23979 * commands/handler.c: Change module description.
23980
23981 * kern/handler.c: Add missing space at the end of description line.
23982
23983 * kern/list.c: Likewise.
23984
f501677c 239852009-03-03 Robert Millan <rmh@aybabtu.com>
23986
23987 Move more components to the relocation area, and fix mbi pointer
23988 handling to use the destination rather than the origin (thanks to
23989 Vladimir Serbinenko for spotting).
23990
23991 * loader/i386/multiboot.c (mbi_dest): New variable.
23992 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
23993 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
23994 relocation area.
23995
9902d047 239962009-03-01 Bean <bean123ch@gmail.com>
23997
50fb7002 23998 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 23999 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
24000 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
24001 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
24002
24003 * loader/i386/efi/linux.c (acpi_guid): New variable.
24004 (acpi_guid): Likewise.
24005 (EBDA_SEG_ADDR): New constant.
24006 (LOW_MEM_ADDR): Likewise.
24007 (FAKE_EBDA_SEG): Likewise.
24008 (fake_bios_data): New function.
24009 (grub_linux_boot): Call fake_bios_data.
24010
71b9f361 240112009-03-01 Bean <bean123ch@gmail.com>
24012
24013 * commands/terminal.c: Removed.
24014
24015 * commands/handler.c: New file.
24016
24017 * include/grub/list.h: Likewise.
24018
24019 * include/grub/handler.h: Likewise.
24020
24021 * kern/list.c: Likewise.
24022
24023 * kern/handler.c: Likewise.
24024
24025 * kern/term.h: Include header file <grub/handler.h>.
24026 (grub_term_input): Move next field to the beginning.
24027 (grub_term_output): Likewise.
24028 (grub_term_input_class): New variable.
24029 (grub_term_output_class): Likewise.
24030 (grub_term_register_input): Changed to inline function.
24031 (grub_term_register_output): Likewise.
24032 (grub_term_unregister_input): Likewise.
24033 (grub_term_unregister_output): Likewise.
24034 (grub_term_set_current_input): Likewise.
24035 (grub_term_set_current_output): Likewise.
24036 (grub_term_get_current_input): Likewise.
24037 (grub_term_get_current_output): Likewise.
24038 (grub_term_iterate_input): Removed.
24039 (grub_term_iterate_output): Likewise.
24040
24041 * kern/term.c (grub_term_list_input): Removed.
24042 (grub_term_list_output): Likewise.
24043 (grub_term_input_class): New variable.
24044 (grub_term_output_class): Likewise.
50fb7002 24045 (grub_cur_term_input): Change variable as macro.
71b9f361 24046 (grub_cur_term_output): Likewise.
24047 (grub_term_register_input): Removed.
24048 (grub_term_register_output): Likewise.
24049 (grub_term_unregister_input): Likewise.
24050 (grub_term_unregister_output): Likewise.
24051 (grub_term_set_current_input): Likewise.
24052 (grub_term_set_current_output): Likewise.
24053 (grub_term_iterate_input): Likewise.
24054 (grub_term_iterate_output): Likewise.
24055 (grub_term_get_current_input): Likewise.
24056 (grub_term_get_current_output): Likewise.
24057
24058 * util/grub-editenv.c: Include header file <grub/handler.h>.
24059 (grub_term_get_current_input): Removed.
24060 (grub_term_get_current_output): Likewise.
24061 (grub_term_input_class): New variable.
50fb7002 24062 (grub_term_output_class): Likewise.
71b9f361 24063
24064 * util/grub-fstest.c (grub_term_get_current_input): Removed.
24065 (grub_term_get_current_output): Likewise.
24066 (grub_term_input_class): New variable.
50fb7002 24067 (grub_term_output_class): Likewise.
71b9f361 24068
24069 * util/grub-probe.c (grub_term_get_current_input): Removed.
24070 (grub_term_get_current_output): Likewise.
24071 (grub_term_input_class): New variable.
50fb7002 24072 (grub_term_output_class): Likewise.
71b9f361 24073
24074 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
24075 (grub_term_get_current_output): Likewise.
24076 (grub_term_input_class): New variable.
50fb7002 24077 (grub_term_output_class): Likewise.
71b9f361 24078
24079 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
24080 (terminal_mod_SOURCES): Likewise.
24081 (terminal_mod_CFLAGS): Likewise.
24082 (terminal_mod_LDFLAGS): Likewise.
24083
24084 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
24085 handler.c.
24086 (kernel_img_SOURCES): Add list.c and handler.c.
24087 (kernel_img_HEADERS): Add list.h and handler.h.
24088
24089 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24090 handler.c.
24091 (kernel_mod_SOURCES): Add list.c and handler.c.
24092 (kernel_mod_HEADERS): Add list.h and handler.h.
24093
24094 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
24095 handler.c.
24096 (kernel_elf_SOURCES): Add list.c and handler.c.
24097 (kernel_elf_HEADERS): Add list.h and handler.h.
24098
24099 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24100 handler.c.
24101 (kernel_elf_SOURCES): Add list.c and handler.c.
24102 (kernel_elf_HEADERS): Add list.h and handler.h.
24103
24104 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24105 handler.c.
24106 (kernel_mod_SOURCES): Add list.c and handler.c.
24107 (kernel_mod_HEADERS): Add list.h and handler.h.
24108
24109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24110 handler.c.
24111 (kernel_elf_SOURCES): Add list.c and handler.c.
24112 (kernel_elf_HEADERS): Add list.h and handler.h.
24113
8a31787f 241142009-02-27 Robert Millan <rmh@aybabtu.com>
24115
24116 Factorize elf32 / elf64 code in Multiboot loader. This will
24117 prevent it from getting out of sync again.
24118
24119 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
24120 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
24121 grub_multiboot_load_elf64): Move from here ...
24122 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
24123 grub_multiboot_load_elf): ... to here (new file).
24124
51cd3dfc 241252009-02-27 Robert Millan <rmh@aybabtu.com>
24126
24127 * util/grub.d/10_linux.in: Rename "single-user mode" to
24128 "recovery mode".
24129
6e8c9c3a 241302009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
24131
24132 Don't leak in SCSI code.
24133 * disk/scsi.c (grub_scsi_close): free `scsi'.
24134
4b6bf4f9 241352009-02-27 Robert Millan <rmh@aybabtu.com>
24136
24137 * loader/i386/pc/multiboot.c: Move from here ...
24138 * loader/i386/multiboot.c: ... to here. Update all users.
24139
b9413424 241402009-02-27 Robert Millan <rmh@aybabtu.com>
24141
24142 Patch from Alexandre Bique <bique.alexandre@gmail.com>
24143 * util/i386/pc/grub-setup.c (setup): Fix directory path.
24144
50fb7002 241452009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 24146
24147 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
24148 b-tree.
24149
8cc50345 241502009-02-27 Robert Millan <rmh@aybabtu.com>
24151
24152 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
24153 `0x' qualifier as 0 when base is specified as parameter).
24154
6e09b8b7 241552009-02-24 Bean <bean123ch@gmail.com>
24156
24157 * configure.ac: Check for -mcmodel=large in x86_64 target.
24158
24159 * include/grub/efi/api.h (efi_call_10): New macro.
24160 (efi_wrap_10): New function.
24161
24162 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
24163 (GRUB_PE32_REL_BASED_HIGH): Likewise.
24164 (GRUB_PE32_REL_BASED_LOW): Likewise.
24165 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
24166 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
24167 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
24168 (GRUB_PE32_REL_BASED_SECTION): Likewise.
24169 (GRUB_PE32_REL_BASED_REL): Likewise.
24170 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
24171 (GRUB_PE32_REL_BASED_DIR64): Likewise.
24172 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
24173
24174 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
24175 issue.
24176
24177 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
24178 (efi_wrap_10): New function.
24179
24180 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
24181
24182 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
24183 MB/MBP model (NV chipset).
24184 (devdata_devs): Add devpath_5 to the list.
24185
24186 * load/i386/efi/linux.c (video_base): Remove variable.
24187 (RGB_MASK): New macro.
24188 (RGB_MAGIC): Likewise.
24189 (LINE_MIN): Likewise.
24190 (LINE_MAX): Likewise.
24191 (FBTEST_STEP): Likewise.
24192 (FBTEST_COUNT): Likewise.
24193 (fb_list): New variable.
24194 (grub_find_video_card): Remove function.
24195 (find_framebuf): New function.
24196 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
24197 line length.
24198
24199 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
24200 problem for x86_64.
24201
74b21bee 242022009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
24203
24204 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
24205
24206 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
24207 coding tool name.
24208
a455f472 242092009-02-22 Robert Millan <rmh@aybabtu.com>
24210
24211 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
24212 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
24213 in our relocation, instead of using it directly from heap. Also
24214 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
24215
6374daf3 242162009-02-21 Robert Millan <rmh@aybabtu.com>
24217
24218 Implement USB keyboard support (based on patch by Marco Gerards)
24219
24220 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
24221 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
24222 (usb_keyboard_mod_LDFLAGS): New variables.
24223
24224 * term/usb_keyboard.c: New file.
24225
8fa4ea70 242262009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24227
24228 Corrected wrong declaration
24229
24230 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
24231
353976ac 242322009-02-14 Christian Franke <franke@computer.org>
24233
24234 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
24235 (grub_lspci_iter): Print class code and programming interface byte.
24236
6aa1169b 242372009-02-14 Christian Franke <franke@computer.org>
24238
24239 * gendistlist.sh: Ignore `.svn' directories.
24240
265372ca 242412009-02-14 Felix Zielcke <fzielcke@z-51.de>
24242
24243 * fs/fat.c: Add 2009 to Copyright line.
24244
9ff516f3 242452009-02-14 Christian Franke <franke@computer.org>
24246
24247 * commands/hdparm.c: New file. Provides `hdparm' command
24248 which sends ATA commands via grub_disk_ata_pass_through ().
24249
24250 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
24251
24252 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
24253 and <grub/cpu/io.h> to include/grub/ata.h.
24254 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
24255 (GRUB_CDROM_SECTOR_SIZE): Remove.
24256 (GRUB_ATA_*): Move to include/grub/ata.h.
24257 (GRUB_ATAPI_*): Likewise.
24258 (enum grub_ata_commands): Likewise.
24259 (enum grub_ata_timeout_milliseconds): Likewise.
24260 (struct grub_ata_device): Likewise.
24261 (grub_ata_regset): Likewise.
24262 (grub_ata_regget): Likewise.
24263 (grub_ata_regset2): Likewise.
24264 (grub_ata_regget2): Likewise.
24265 (grub_ata_check_ready): Likewise.
24266 (grub_ata_wait_not_busy): Remove static, exported in
24267 include/grub/ata.h.
24268 (grub_ata_wait_drq): Likewise.
24269 (grub_ata_pio_read): Likewise.
24270
24271 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
24272 function for hdparm.mod.
24273
24274 * include/grub/ata.h: New file, contains declarations from
24275 disk/ata.c.
24276 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
24277
24278 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
24279 (grub_disk_ata_pass_through): New exported variable.
24280
24281 * kern/disk.c (grub_disk_ata_pass_through): New variable.
24282
772e23da 242832009-02-13 Colin D Bennett <colin@gibibit.com>
24284
24285 Support multiple fallback entries, and provide an API to support
24286 executing default+fallback menu entries. Renamed the `terminal' menu
24287 viewer to `text'.
24288
24289 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
24290 variable declaration.
24291 (grub_menu_execute_callback): New structure declaration.
24292 (grub_menu_execute_callback_t): New typedef.
24293 (grub_menu_execute_with_fallback): New function declaration.
24294 (grub_menu_get_entry): Likewise.
24295 (grub_menu_get_timeout): Likewise.
24296 (grub_menu_set_timeout): Likewise.
24297
24298 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
24299
24300 * normal/menu.c (grub_wait_after_message): Moved to
24301 `normal/menu_text.c'.
24302 (draw_border): Likewise.
24303 (print_message): Likewise.
24304 (print_entry): Likewise.
24305 (print_entries): Likewise.
24306 (grub_menu_init_page): Likewise.
24307 (get_entry_number): Likewise.
24308 (print_timeout): Likewise.
24309 (run_menu): Likewise.
24310 (grub_menu_execute_entry): Likewise.
24311 (show_text_menu): Likewise.
24312 (get_and_remove_first_entry_number): New function.
24313 (grub_menu_execute_with_fallback): Likewise.
24314 (get_entry): Renamed to ...
24315 (grub_menu_get_entry): .. this and made it global.
24316 (get_timeout): Renamed to ...
24317 (grub_menu_get_timeout): ... this and made it global.
24318 (set_timeout): Renamed to ...
24319 (grub_menu_set_timeout): ... this and made it global.
24320 (grub_normal_terminal_menu_viewer): Renamed to ...
24321 (grub_normal_text_menu_viewer): ... this.
24322
24323 * normal/menu_text.c: New file. Extracted text-menu-specific code
24324 from normal/menu.c.
24325
24326 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
24327 (normal_mod_SOURCES): Likewise.
24328
24329 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24330 (normal_mod_SOURCES): Likewise.
24331
24332 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24333 (normal_mod_SOURCES): Likewise.
24334
24335 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
24336 (normal_mod_SOURCES): Likewise.
24337
24338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24339 (normal_mod_SOURCES): Likewise.
24340
24341 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24342 (normal_mod_SOURCES): Likewise.
24343
24344 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24345 (normal_mod_SOURCES): Likewise.
24346
16ac430e 243472009-02-11 Robert Millan <rmh@aybabtu.com>
24348
24349 * util/grub.d/00_header.in: Update old reference to `font' command.
24350
06ff20fc 243512009-02-10 Felix Zielcke <fzielcke@z-51.de>
24352
24353 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
24354
24355 Based on patch from Javier Martín.
24356
96da9407 243572009-02-09 Felix Zielcke <fzielcke@z-51.de>
24358
24359 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 24360 to avoid false positives with FAT.
96da9407 24361 (grub_fstest_SOURCES): Likewise.
24362 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24363 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24365 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24366 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24367 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24368
6dca6fe4 243692009-02-09 Felix Zielcke <fzielcke@z-51.de>
24370
06ff20fc 24371 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 24372 bpb.version_specific.fat12_or_fat16.fstype and
24373 bpb.version_specific.fat32.fstype.
24374
2550c62f 243752009-02-08 Robert Millan <rmh@aybabtu.com>
24376
be110b30 24377 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 24378
56978920 243792009-02-08 Robert Millan <rmh@aybabtu.com>
24380
24381 * Makefile.in (host_os, host_cpu): New variables.
24382 (target_os): Remove. Update all users.
24383
d64399b5 243842009-02-08 Marco Gerards <marco@gnu.org>
24385
24386 * Makefile.in (enable_grub_emu_usb): New variable.
24387 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
24388 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
24389 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
24390 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
24391 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
24392 `usbtest.mod' and `usbms.mod'.
24393 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
24394 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
24395 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
24396 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
24397 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
24398 variables.
24399
24400 * disk/usbms.c: New file.
24401
24402 * include/grub/usb.h: Likewise.
24403
24404 * include/grub/usbtrans.h: Likewise.
24405
24406 * include/grub/usbdesc.h: Likewise.
24407
24408 * bus/usb/usbtrans.c: Likewise.
24409
24410 * bus/usb/ohci.c: Likewise.
24411
24412 * bus/usb/uhci.c: Likewise.
24413
24414 * bus/usb/usbhub.c: Likewise.
24415
24416 * bus/usb/usb.c: Likewise.
24417
24418 * commands/usbtest.c: Likewise.
24419
24420 * util/usb.c: Likewise.
50fb7002 24421
d64399b5 24422 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
24423
24424 * configure.ac: Test for libusb presence.
50fb7002 24425
d64399b5 24426 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
24427
2b40d6bb 244282009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
24429
24430 * kern/mm.c: Add more comments.
24431
73a4ce81 244322009-02-08 Robert Millan <rmh@aybabtu.com>
24433
24434 Patch from Javier Martín.
24435 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
24436 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
24437
f821ce59 244382009-02-08 Robert Millan <rmh@aybabtu.com>
24439
24440 * fs/cpio.c: Split tar functionality to ...
24441 * fs/tar.c: ... here (new file). Update all users.
24442
aebfc4b0 244432009-02-07 Robert Millan <rmh@aybabtu.com>
24444
24445 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
24446 backward-incompatible features.
24447
24448 Based on patch from Javier Martín, with some adjustments.
24449
50fb7002 244502009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 24451
24452 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
24453
0bb5115e 244542009-02-07 Robert Millan <rmh@aybabtu.com>
24455
24456 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
24457 position of `disk/lvm.c' to ensure grub_init_all() always picks it
24458 after the RAID stuff.
24459
38a0f8e7 244602009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
24461
50fb7002 24462 Fixes problem when running vbetest command as reported by
38a0f8e7 24463 Vladimir Serbinenko <phcoder@gmail.com>.
24464
24465 * (grub_vbe_set_video_mode): Fixed problem with text modes.
24466
3143cc1c 244672009-02-04 Felix Zielcke <fzielcke@z-51.de>
24468
24469 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
24470 /dev/md/NpN style mdraid devices.
24471
9cba6fce 244722009-02-03 Felix Zielcke <fzielcke@z-51.de>
24473
24474 * util/unifont2pff.rb: Remove.
24475
e507a2c1 244762009-02-03 Felix Zielcke <fzielcke@z-51.de>
24477
24478 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
24479 `#'.
24480
d2c2b4cd 244812009-02-03 Felix Zielcke <fzielcke@z-51.de>
24482
24483 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
24484 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24485 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24486 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24488 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24489 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24490
b4315fb0 244912009-02-02 Christian Franke <franke@computer.org>
24492
24493 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
24494
de3aa260 244952009-02-01 Felix Zielcke <fzielcke@z-51.de>
24496
7c3ff286 24497 * INSTALL: Note that we now require at least autoconf 2.59 and
24498 that LZO is optional.
de3aa260 24499
825a182b 245002009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24501
24502 Base on patch on bug #24154 created by Tomas Tintera
24503 <trosos@seznam.cz>.
24504
24505 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
24506
a69ef770 245072009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24508
7c3ff286 24509 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 24510 <bero@arklinux.org>.
24511
24512 * normal/parser.y (script_init): Add missing semicolon.
24513
6fa42fa6 245142009-01-31 Colin D Bennett <colin@gibibit.com>
24515
7c3ff286 24516 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 24517 (free_menu_entry_classes): Added.
24518 (grub_normal_menu_addentry): Added class property handling.
24519 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
24520 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
24521
24522 * normal/menu_viewer.c: New file.
24523
24524 * normal/menu.c (run_menu_entry): Renamed to ...
24525 (grub_menu_execute_entry): ... this and made it as global.
24526 (grub_menu_run): Renamed to ...
24527 (show_text_menu): ... this and made it local.
24528 (show_text_menu): Adapt to new function names.
24529 (grub_normal_terminal_menu_viewer): New global variable.
24530
24531 * include/grub/menu.h: New file.
24532
24533 * include/grub/menu_viewer.h: New file.
24534
24535 * include/grub/normal.h: Added include to grub/menu.h.
24536 (grub_menu_entry): Moved to include/grub/menu.h.
24537 (grub_menu_entry_t): Likewise.
24538 (grub_menu): Likewise.
24539 (grub_menu_t): Likewise.
24540 (grub_normal_terminal_menu_viewer): Added.
24541 (grub_menu_execute_entry): Likewise.
24542 (grub_menu_run): Removed.
24543
24544 * DISTLIST: Added include/grub/menu.h.
24545 Added include/grub/menu_viewer.h.
24546 Added normal/menu_viewer.c.
24547
245482009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
24549
24550 * normal/execute.c (grub_script_execute_menuentry): Changed to use
24551 arglist for menutitle arguments.
24552
24553 * normal/main.c (grub_normal_menu_addentry): Likewise.
24554
24555 * normal/parser.y (menuentry): Likewise.
24556
24557 * normal/script.c (grub_script_create_cmdmenu): Likewise.
24558
24559 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
24560 (grub_script_create_cmdmenu): Likewise.
24561
24562 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
24563
24564 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
24565 changes.
24566
24567 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
24568
24569 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
24570
24571 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
24572
24573 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24574
24575 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24576
24577 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24578
56192c23 245792009-01-30 Christian Franke <franke@computer.org>
24580
24581 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
24582 in option help text.
24583
d72521b3 245842009-01-27 Pavel Roskin <proski@gnu.org>
24585
24586 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
24587
994b5e84 245882009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24589
24590 * commands/lsmmap.c: Add include to grub/machine/memory.h.
24591
24592 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
24593
24594 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
24595 unregister function.
24596
6a7eab2c 245972009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24598
24599 * disk/scsi.c (grub_scsi_read): Fix sign problem.
24600
24601 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
24602
24603 * util/grub-mkfont.c (usage): Fix typo.
24604
24605 * util/elf/grub-mkimage.c (load_modules): Fix warning.
24606
1806b56e 246072009-01-26 Daniel Mierswa <impulze@impulze.org>
24608
3fb18f09 24609 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
24610
336e1fb9 24611 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
24612
1806b56e 24613 * kern/misc.c (grub_strcasecmp): New function.
24614 (grub_strcasecmp): Use grub_size_t instead of int for length.
24615 Fix return value.
24616 * include/grub/misc.h: Update function prototypes.
24617
580b2a0f 246182009-01-26 Robert Millan <rmh@aybabtu.com>
24619
24620 * configure.ac: Fix cross-compilation check.
ef257b36 24621
d31c24f1 246222009-01-22 Christian Franke <franke@computer.org>
24623
24624 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
24625 (precision) digit string. Allow `.format2' without `format1' (width).
24626 Limit input chars for `%s' output to `format2' if specified. This is
24627 compatible with standard printf ().
24628
3138b44c 246292009-01-22 Christian Franke <franke@computer.org>
24630
24631 * disk/ata.c (grub_ata_wait_status): Replace by ...
24632 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
24633 other status bits may be invalid while BSY is asserted.
24634 (grub_ata_check_ready): New function.
24635 (grub_ata_cmd): Removed.
24636 (grub_ata_wait_drq): New function.
24637 (grub_ata_strncpy): Remove inline.
24638 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
24639 and error check now done by grub_ata_wait_drq ().
24640 (grub_ata_pio_write): Likewise.
24641 (grub_atapi_identify): Set DEV before check for !BSY. Use
24642 grub_ata_wait_drq () to wait for data.
24643 (grub_ata_device_initialize): Add status register check to
24644 detect missing SATA slave devices. Add debug messages.
24645 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
24646 (grub_atapi_packet): Set DEV before check for !BSY. Replace
24647 transfer loop by grub_ata_pio_write ().
24648 (grub_ata_identify): Set DEV before check for !BSY. Use
24649 grub_ata_wait_drq () to wait for data.
ef257b36 24650 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 24651 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
24652 read/write in one loop. Fix invalid command on write. Fix incomplete
24653 command on (size % batch) == 0. Add missing error check after write of
24654 last block. Add debug messages.
24655 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
24656
59a64ef6 246572009-01-19 Christian Franke <franke@computer.org>
24658
24659 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
24660 (GRUB_ATAPI_IREASON_*): Likewise.
24661 (grub_ata_pio_write): Fix timeout error return.
24662 (grub_atapi_identify): Add grub_ata_wait () after cmd.
24663 (grub_atapi_wait_drq): New function.
24664 (grub_atapi_packet): New parameter `size'.
24665 Use grub_atapi_wait_drq () and direct write instead of
24666 grub_ata_pio_write ().
24667 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
24668 reads the number of bytes requested by the device for each DRQ
24669 assertion.
24670 (grub_atapi_write): Remove old implementation, return not
24671 implemented instead.
24672
1cfe20b3 246732009-01-19 Christian Franke <franke@computer.org>
24674
24675 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
24676 of 512 to calculate data size.
24677 (grub_scsi_read12): Likewise.
24678 (grub_scsi_write10): Likewise.
24679 (grub_scsi_write12): Likewise.
24680 (grub_scsi_read): Adjust size according to blocksize.
24681 Add checks for invalid blocksize and unaligned transfer.
24682
bee5fe5d 246832009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
24684
24685 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
24686
ef257b36 24687 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 24688 width glyphs.
24689
3e643f8c 246902009-01-19 Robert Millan <rmh@aybabtu.com>
24691
24692 * config.guess: Update to latest version from config git.
24693 * config.sub: Likewise.
24694
4fa80998 246952009-01-17 Felix Zielcke <fzielcke@z-51.de>
24696
24697 * Makefile.in: Change font compilation to use new grub-mkfont instead
24698 of java version.
24699
24700 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
24701 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
24702 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24703 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24704 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
24705 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
24706 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
24707 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
24708 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24709
7086085b 247102009-01-16 Christian Franke <franke@computer.org>
24711
24712 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
24713 (enum grub_ata_timeout_milliseconds): New enum.
24714 (grub_ata_wait_status): Add parameter milliseconds.
24715 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
24716 recovery from timed-out commands.
24717 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
24718 return grub_errno instead of REG_ERROR.
24719 (grub_ata_pio_write): Add parameter milliseconds.
24720 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
24721 Pass milliseconds to grub_ata_wait_status () and
24722 grub_ata_pio_read ().
24723 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
24724 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
24725 grub_ata_wait_status (). Fix IDENTIFY timeout check.
24726 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
24727 It is not suitable for device detection, because DEV bit is ignored,
24728 the command may run too long, and not all devices set the signature
24729 properly.
24730 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
24731 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
24732 Fix device selection, DEV bit must be set first to address the registers
24733 of the correct device.
24734 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
24735 grub_ata_pio_read/write ().
24736 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
24737 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
24738
4a412913 247392009-01-13 Carles Pina i Estany <carles@pina.cat>
24740
24741 * util/grub-editenv.c (main): Use fseeko(), not fseek().
24742
7795c55e 247432009-01-13 Bean <bean123ch@gmail.com>
d913988c 24744
24745 * util/grub-mkfont.c (write_font): forget to remove some debug code.
24746
7795c55e 247472009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 24748
24749 * Makefile.in: (enable_grub_mkfont): New variable.
24750 (freetype_cflags): Likewise.
24751 (freetype_libs): Likewise.
24752
24753 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
24754 (grub_mkfont_SOURCES): New variable.
24755 (grub_mkfont_CFLAGS): Likewise.
24756 (grub_mkfont_LDFLAGS): Likewise.
24757
24758 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
24759 library if `--enable-grub-mkfont' is requested.
24760 (enable_grub_mkfont): New variable.
24761 (freetype_cflags): Likewise.
24762 (freetype_libs): Likewise.
24763
24764 * util/grub-mkfont.c: New file.
24765
093af1fe 247662009-01-12 Christian Franke <franke@computer.org>
24767
24768 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
24769 mode check. Fix setting of compat_use[].
24770
f36cc108 247712009-01-10 Robert Millan <rmh@aybabtu.com>
24772
24773 Update a few copyright years which we forgot to do in 2008 (only for
24774 files whose changes made in 2008 were copyright-significant)
24775
24776 * Makefile.in: Add 2008 to Copyright line.
24777 * disk/ieee1275/ofdisk.c: Likewise.
24778 * disk/efi/efidisk.c: Likewise.
24779 * kern/dl.c: Likewise.
24780 * kern/sparc64/ieee1275/init.c: Likewise.
24781 * kern/mm.c: Likewise.
24782 * kern/efi/mm.c: Likewise.
24783 * boot/i386/pc/boot.S: Likewise.
24784 * genfslist.sh: Likewise.
24785 * fs/iso9660.c: Likewise.
24786 * fs/hfs.c: Likewise.
24787 * fs/jfs.c: Likewise.
24788 * fs/minix.c: Likewise.
24789 * fs/ufs.c: Likewise.
24790 * gensymlist.sh.in: Likewise.
24791 * genkernsyms.sh.in: Likewise.
24792 * include/grub/misc.h: Likewise.
24793 * include/grub/types.h: Likewise.
24794 * include/grub/symbol.h: Likewise.
24795 * include/grub/elf.h: Likewise.
24796 * include/grub/kernel.h: Likewise.
24797 * include/grub/disk.h: Likewise.
24798 * include/grub/dl.h: Likewise.
24799 * include/grub/i386/linux.h: Likewise.
24800 * include/grub/i386/pc/biosdisk.h: Likewise.
24801 * include/grub/efi/api.h: Likewise.
24802 * include/grub/efi/pe32.h: Likewise.
24803 * include/grub/util/misc.h: Likewise.
24804 * normal/execute.c: Likewise.
24805 * normal/arg.c: Likewise.
24806 * normal/completion.c: Likewise.
24807 * normal/lexer.c: Likewise.
24808 * normal/parser.y: Likewise.
24809 * normal/misc.c: Likewise.
24810 * commands/i386/pc/vbeinfo.c: Likewise.
24811 * commands/hexdump.c: Likewise.
24812 * commands/terminal.c: Likewise.
24813 * commands/ls.c: Likewise.
24814 * commands/help.c: Likewise.
24815 * partmap/pc.c: Likewise.
24816 * loader/efi/chainloader.c: Likewise.
24817 * loader/multiboot_loader.c: Likewise.
24818 * loader/i386/pc/multiboot2.c: Likewise.
24819 * term/efi/console.c: Likewise.
24820 * term/i386/pc/serial.c: Likewise.
24821 * util/lvm.c: Likewise.
24822 * util/console.c: Likewise.
24823 * util/i386/efi/grub-mkimage.c: Likewise.
24824 * util/raid.c: Likewise.
24825
7f02114b 248262009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
24827
24828 * commands/videotest.c: Removed include to grub/machine/memory.h.
24829
24830 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
24831 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
24832 (video_mod_SOURCES): Removed.
24833 (video_mod_CFLAGS): Likewise.
24834 (video_mod_LDFLAGS): Likewise.
24835 (gfxterm_mod_SOURCES): Likewise.
24836 (gfxterm_mod_CFLAGS): Likewise.
24837 (gfxterm_mod_LDFLAGS): Likewise.
24838 (videotest_mod_SOURCES): Likewise.
24839 (videotest_mod_CFLAGS): Likewise.
24840 (videotest_mod_LDFLAGS): Likewise.
24841 (bitmap_mod_SOURCES): Likewise.
24842 (bitmap_mod_CFLAGS): Likewise.
24843 (bitmap_mod_LDFLAGS): Likewise.
24844 (tga_mod_SOURCES): Likewise.
24845 (tga_mod_CFLAGS): Likewise.
24846 (tga_mod_LDFLAGS): Likewise.
24847 (jpeg_mod_SOURCES): Likewise.
24848 (jpeg_mod_CFLAGS): Likewise.
24849 (jpeg_mod_LDFLAGS): Likewise.
24850 (png_mod_SOURCES): Likewise.
24851 (png_mod_CFLAGS): Likewise.
24852 (png_mod_LDFLAGS): Likewise.
24853
24854 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
24855 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
24856 (video_mod_SOURCES): Added.
24857 (video_mod_CFLAGS): Likewise.
24858 (video_mod_LDFLAGS): Likewise.
24859 (videotest_mod_SOURCES): Likewise.
24860 (videotest_mod_CFLAGS): Likewise.
24861 (videotest_mod_LDFLAGS): Likewise.
24862 (bitmap_mod_SOURCES): Likewise.
24863 (bitmap_mod_CFLAGS): Likewise.
24864 (bitmap_mod_LDFLAGS): Likewise.
24865 (tga_mod_SOURCES): Likewise.
24866 (tga_mod_CFLAGS): Likewise.
24867 (tga_mod_LDFLAGS): Likewise.
24868 (jpeg_mod_SOURCES): Likewise.
24869 (jpeg_mod_CFLAGS): Likewise.
24870 (jpeg_mod_LDFLAGS): Likewise.
24871 (png_mod_SOURCES): Likewise.
24872 (png_mod_CFLAGS): Likewise.
24873 (png_mod_LDFLAGS): Likewise.
24874 (gfxterm_mod_SOURCES): Likewise.
24875 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 24876 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 24877
24878 * term/gfxterm.c: Removed include to grub/machine/memory.h,
24879 grub/machine/console.h.
24880
644fff97 248812009-01-04 Jerone Young <jerone@gmail.com>
24882
24883 Make on screen instructions clearer
24884
24885 Based on patch created by Jidanni <jidanni@jidanni.org>
24886
24887 * normal/menu.c: print clearer instructions on the screen
24888
1e901a75 248892009-01-02 Colin D Bennett <colin@gibibit.com>
24890
24891 New font engine.
34c44600 24892
1e901a75 24893 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
24894 build system and fixed gfxterm.c to work with different sized fonts.
24895
24896 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 24897
1e901a75 24898 * configure: Re-generated.
34c44600 24899
1e901a75 24900 * DISTLIST: Removed font/manager.c.
24901 Added font/font.c.
24902 Added font/font_cmd.c.
34c44600 24903
1e901a75 24904 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
24905 compilation.
34c44600 24906
1e901a75 24907 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 24908
24909 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 24910
24911 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 24912
1e901a75 24913 * normal/menu.c: Likewise.
34c44600 24914
1e901a75 24915 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
24916 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 24917
1e901a75 24918 * include/grub/font.h: Replaced with new file.
34c44600 24919
1e901a75 24920 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
24921 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
24922 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
24923 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
24924 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 24925 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 24926 fg_red, fg_green, fg_blue, fg_alpha.
24927 (grub_video_adapter): Removed blit_glyph.
34c44600 24928 (grub_video_blit_glyph): Removed.
24929
1e901a75 24930 * font/manager.c: Removed file.
34c44600 24931
24932 * font/font.c: New file.
24933
1e901a75 24934 * font/font_cmd.c: Likewise.
34c44600 24935
1e901a75 24936 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 24937
1e901a75 24938 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
24939 (grub_video_vbe_map_rgba): Likewise.
24940 (grub_video_vbe_unmap_color_int): Likewise.
24941 (grub_video_vbe_blit_glyph): Removed.
24942 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 24943
1e901a75 24944 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
24945 (get_pixel): Likewise.
34c44600 24946 (set_pixel): Likewise.
24947
1e901a75 24948 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 24949
1e901a75 24950 * term/gfxterm.c: Adapted to new font engine.
34c44600 24951
1e901a75 24952 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 24953
1e901a75 24954 * term/i386/pc/vga.c: Likewise.
34c44600 24955
1e901a75 24956 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 24957
1e901a75 24958 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 24959
1e901a75 24960 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 24961
1e901a75 24962 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 24963
1e901a75 24964 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 24965
1e901a75 24966 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 24967
1e901a75 24968 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 24969
1e901a75 24970 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 24971
1e901a75 24972 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24973
24974 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 24975
1e901a75 24976 * util/grub-mkconfig_lib.in: Changed font extension.
24977
278922e8 249782008-12-28 Felix Zielcke <fzielcke@z-51.de>
24979
24980 * util/getroot.c (grub_util_get_grub_dev): Add support for
24981 /dev/md/dNNpNN style partitionable mdraid devices.
24982
3ced05cf 249832008-12-12 Alex Smith <alex@alex-smith.me.uk>
24984
24985 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
24986 at a time limit of the PXE TFTP API correctly.
24987 (grub_pxefs_close): Likewise.
24988
7fd0ee30 249892008-11-29 Robert Millan <rmh@aybabtu.com>
24990
34c44600 24991 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 24992 grub_ata_device_initialize() calls.
24993
34c44600 249942008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 24995
24996 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
24997 iteration failed.
24998 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
24999
89313780 250002008-11-28 Robert Millan <rmh@aybabtu.com>
25001
25002 Fix build on powerpc-ieee1275. Based on patch created by
25003 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
25004 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25005 `kern/ieee1275/mmap.c'.
25006 * include/grub/powerpc/ieee1275/memory.h: New file.
25007
15257703 25008 Provide grub-install on coreboot.
25009 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
25010 (grub_install_SOURCES): New variable.
25011 * util/i386/pc/grub-install.in: Add a few condition checks to make it
25012 usable on coreboot.
25013
9fc5388a 250142008-11-25 Felix Zielcke <fzielcke@z-51.de>
25015
25016 * util/grub-fstest.c (grub_term_get_current_input): Change return type
25017 to `grub_term_input_t'.
25018 (grub_term_get_current_output): Change return type to
25019 `grub_term_output_t'.
25020
bc3a2f31 250212008-11-22 Robert Millan <rmh@aybabtu.com>
25022
34c44600 25023 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 25024 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
25025 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
25026 grub_vga_text_cls().
25027
80fc88f2 25028 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 25029 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 25030
cbf36fd3 25031 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
25032 to 0x200000 (avoids trouble with some OFW implementations, and matches
25033 with the one in Yaboot).
25034 Reported by Manoel Abranches
25035
73e8e268 250362008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 25037
25038 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
25039 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
25040
73e8e268 25041 * util/grub-mkconfig_lib.in (grub_warn): New function.
25042 (convert_system_path_to_grub_path): Use grub_warn() when issuing
25043 warnings, to obtain consistent formatting.
25044 * util/grub.d/00_header.in: Likewise.
25045 * util/update-grub_lib.in: Likewise.
25046
e94045a1 25047 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 25048 Move comment text to `#error' stanza.
e94045a1 25049
79d29fd7 25050 Harmonize ieee1275's grub_available_iterate() with the generic
25051 grub_machine_mmap_iterate() interface (fixes a recently-introduced
25052 build problem on i386-ieee1275):
25053 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
25054 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
25055 parameter `type'. Update all users of this function.
25056 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25057 `kern/ieee1275/mmap.c'.
25058 * kern/ieee1275/init.c
25059 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
25060 with ...
25061 (grub_machine_mmap_iterate): ... this.
25062 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
25063 return type to `grub_err_t'. Update all implementations of this
25064 function prototype.
25065 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
25066 Likewise.
25067
60d6b16e 25068 Add `lsmmap' command (lists firmware-provided memory map):
25069 * commands/lsmmap.c: New file.
25070 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
25071 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
25072 variables.
25073 * conf/powerpc-ieee1275.rmk: Likewise.
25074 * conf/i386-coreboot.rmk: Likewise.
25075 * conf/i386-ieee1275.rmk: Likewise.
25076
ebaaf49b 250772008-11-19 Robert Millan <rmh@aybabtu.com>
25078
25079 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 25080 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
25081 constraints to initrd allocation (based on code from
25082 loader/i386/pc/linux.c). Without them, initrd was allocated too high
25083 for Linux to find it.
ebaaf49b 25084
dfab719f 250852008-11-14 Robert Millan <rmh@aybabtu.com>
25086
25087 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
25088 order to cope with duplicate slashes.
25089
10fc3eb9 250902008-11-14 Robert Millan <rmh@aybabtu.com>
25091
25092 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
25093 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
25094 don't want to mess with lower memory, because it is used in the Linux
25095 loader.
25096
25097 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 25098 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 25099 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
25100 is in our heap (probably as a result of it being corrupted during
2f2a3442 25101 decompression). Add #error instance with comment to explain why this
25102 loader isn't currently usable on PC/BIOS.
10fc3eb9 25103
e2e07847 251042008-11-14 Robert Millan <rmh@aybabtu.com>
25105
25106 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 25107 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 25108
fe8e8d69 251092008-11-12 Robert Millan <rmh@aybabtu.com>
25110
25111 Make loader/i386/linux.c buildable on i386-pc (although disabled).
25112
25113 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
25114 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
25115 from here ...
25116 * include/grub/i386/pc/memory.h: ... to here.
25117
976b07d0 251182008-11-12 Robert Millan <rmh@aybabtu.com>
25119
25120 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
25121 split).
25122
25123 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
25124 (grub_console_cur_color, grub_console_real_putchar)
25125 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25126 (grub_console_setcolorstate, grub_console_setcolor)
25127 (grub_console_getcolor): Move from here ...
25128 * include/grub/i386/vga_common.h: ... to here (new file).
25129
25130 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
25131 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
25132 `<grub/i386/io.h>'.
25133 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
25134 `<grub/i386/vga_common.h>'.
25135
76679cd3 251362008-11-12 Robert Millan <rmh@aybabtu.com>
25137
25138 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
25139 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
25140 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
25141 variables.
25142 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25143 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
25144
25145 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
25146 grub_console_init() with call to grub_vga_text_init().
25147 (grub_machine_fini): Replace call to
25148 grub_console_fini() with call to grub_vga_text_fini() and
25149 grub_at_keyboard_fini().
25150
25151 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
25152 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25153 (grub_console_setcolorstate, grub_console_setcolor)
25154 (grub_console_getcolor): New function prototypes.
25155
25156 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
25157 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
25158 (grub_vga_text_setcursor): Static-ize.
25159 (grub_vga_text_term): New structure.
25160 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
25161
25162 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
25163 (grub_console_cur_color, grub_console_standard_color)
25164 (grub_console_normal_color, grub_console_highlight_color)
25165 (map_char, grub_console_putchar, grub_console_getcharwidth)
25166 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
25167 (grub_console_getcolor): Move from here ...
25168 * term/i386/vga_common.c: ... to here (same function names).
25169
95b841d3 251702008-11-12 Robert Millan <rmh@aybabtu.com>
25171
25172 Use newly-added Multiboot support in coreboot.
25173
25174 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25175 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
25176
25177 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
25178 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
25179 (codestart): Store the MBI in `startup_multiboot_info' when we're
25180 being loaded using Multiboot.
25181
25182 * kern/i386/coreboot/init.c (grub_machine_init): Move
25183 grub_at_keyboard_init() call to beginning of function (useful for
25184 debugging). Call grub_machine_mmap_init() before attempting to use
25185 grub_machine_mmap_iterate().
25186 (grub_lower_mem, grub_upper_mem): Move from here ...
25187 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
25188 here (new file).
25189
25190 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
25191 function prototype.
25192
761ca975 251932008-11-12 Robert Millan <rmh@aybabtu.com>
25194
25195 Fix a regression introduced by the at_keyboard.mod split. Because
25196 some terminals are default on some platforms and non-default on
25197 others, the first terminal being registered determines which is
25198 going to be default.
25199
25200 * kern/term.c (grub_term_register_input): If this is the first
25201 terminal being registered, set it as the current one.
25202 (grub_term_register_output): Likewise.
25203
25204 * term/efi/console.c (grub_console_init): Do not call
25205 grub_term_set_current_output() or grub_term_set_current_input().
25206 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
25207 * term/i386/pc/console.c (grub_console_init): Likewise.
25208 (grub_console_fini): Do not call grub_term_set_current_input()
25209 (but leave grub_term_set_current_output() to restore text mode).
25210
6c529df7 252112008-11-10 Robert Millan <rmh@aybabtu.com>
25212
25213 * util/grub.d/00_header.in: Add backward compatibility check for
25214 versions of terminal.mod that don't understand `terminal_input' or
25215 `terminal_output'.
25216
132e4113 252172008-11-09 Robert Millan <rmh@aybabtu.com>
25218
25219 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
25220 `terminal_input' / `terminal_output', not `terminal'.
25221
ac293d50 252222008-11-08 Robert Millan <rmh@aybabtu.com>
25223
25224 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 25225 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 25226
0025933a 252272008-11-08 Robert Millan <rmh@aybabtu.com>
25228
25229 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 25230 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 25231 members. Update all users.
25232 * util/console.c (grub_ncurses_term): Split in ...
25233 (grub_ncurses_term_input): ... this, and ...
25234 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 25235 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 25236
37c86336 252372008-11-08 Robert Millan <rmh@aybabtu.com>
25238
25239 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
25240 (PKGDATA): Add $(pkgdata_SRCDIR).
25241 (pkglib_BUILDDIR): New variable.
25242 (pkgdata_SRCDIR): New variable.
25243 (build_env.mk): New target.
25244 (include_DATA): New variable.
25245 (install-local): Install $(include_DATA) files in $(includedir).
25246
b6c15a2d 252472008-11-07 Pavel Roskin <proski@gnu.org>
25248
d99d46f1 25249 * gendistlist.sh: Use C locale for sorting to ensure consistent
25250 output on all systems.
25251
b6c15a2d 25252 * util/grub.d/00_header.in: Remove incorrect space before
25253 "serial".
25254
c32ee8c9 252552008-11-07 Robert Millan <rmh@aybabtu.com>
25256
25257 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
25258 per specification.
25259 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
25260 * loader/multiboot_loader.c (find_multi_boot2_header): New function
25261 (based on find_multi_boot1_header).
25262 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
25263 using find_multi_boot2_header(), and abort if neither Multiboot or
25264 Multiboot headers were found.
25265
651c29b7 252662008-11-07 Robert Millan <rmh@aybabtu.com>
25267
25268 Modularize at_keyboard.mod:
25269
25270 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
25271 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25272 (at_keyboard_mod_LDFLAGS): New variables.
25273
25274 Actual terminal split:
25275
25276 * include/grub/term.h (struct grub_term): Split in ...
25277 (struct grub_term_input): ... this, and ...
25278 (struct grub_term_output): ... this. Update all users.
25279 (grub_term_set_current): Split in ...
25280 (grub_term_set_current_input): ... this, and ...
25281 (grub_term_set_current_output): ... this.
25282 (grub_term_get_current): Split in ...
25283 (grub_term_get_current_input): ... this, and ...
25284 (grub_term_get_current_output): ... this.
25285 (grub_term_register): Split in ...
25286 (grub_term_register_input): ... this, and ...
25287 (grub_term_register_output): ... this.
25288 (grub_term_unregister): Split in ...
25289 (grub_term_unregister_input): ... this, and ...
25290 (grub_term_unregister_output): ... this.
25291 (grub_term_iterate): Split in ...
25292 (grub_term_iterate_input): ... this, and ...
25293 (grub_term_iterate_output): ... this.
25294
25295 * kern/term.c (grub_term_list): Split in ...
25296 (grub_term_list_input): ... this, and ...
25297 (grub_term_list_output): ... this. Update all users.
25298 (grub_cur_term): Split in ...
25299 (grub_cur_term_input): ... this, and ...
25300 (grub_cur_term_output): ... this. Update all users.
25301 (grub_term_set_current): Split in ...
25302 (grub_term_set_current_input): ... this, and ...
25303 (grub_term_set_current_output): ... this.
25304 (grub_term_get_current): Split in ...
25305 (grub_term_get_current_input): ... this, and ...
25306 (grub_term_get_current_output): ... this.
25307 (grub_term_register): Split in ...
25308 (grub_term_register_input): ... this, and ...
25309 (grub_term_register_output): ... this.
25310 (grub_term_unregister): Split in ...
25311 (grub_term_unregister_input): ... this, and ...
25312 (grub_term_unregister_output): ... this.
25313 (grub_term_iterate): Split in ...
25314 (grub_term_iterate_input): ... this, and ...
25315 (grub_term_iterate_output): ... this.
25316
25317 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
25318 a check for input and one for output (and only attempt to get keys
25319 from user when input works).
25320
25321 * util/grub-probe.c (grub_term_get_current): Split in ...
25322 (grub_term_get_current_input): ... this, and ...
25323 (grub_term_get_current_output): ... this.
25324 * util/grub-fstest.c: Likewise.
25325 * util/i386/pc/grub-setup.c: Likewise.
25326 * util/grub-editenv.c: Likewise.
25327
25328 Portability adjustments:
25329
25330 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
25331 `term/i386/pc/at_keyboard.c'.
25332 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
25333 grub_keyboard_controller_init() (now handled by terminal .init).
25334 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
25335 grub_at_keyboard_init().
25336 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
25337 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
25338 at_keyboard.mod via input terminal interface).
25339 * include/grub/i386/coreboot/console.h: Convert into a stub for
25340 `<grub/i386/pc/console.h>'.
25341
25342 Migrate full terminals to new API:
25343
25344 * term/efi/console.c (grub_console_term): Split into ...
25345 (grub_console_term_input): ... this, and ...
25346 (grub_console_term_output): ... this. Update all users.
25347 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
25348 (grub_ofconsole_init): Split into ...
25349 (grub_ofconsole_init_input): ... this, and ...
25350 (grub_ofconsole_init_output): ... this.
25351 (grub_ofconsole_term): Split into ...
25352 (grub_ofconsole_term_input): ... this, and ...
25353 (grub_ofconsole_term_output): ... this. Update all users.
25354 * term/i386/pc/serial.c (grub_serial_term): Split into ...
25355 (grub_serial_term_input): ... this, and ...
25356 (grub_serial_term_output): ... this. Update all users.
25357 * term/i386/pc/console.c (grub_console_term): Split into ...
25358 (grub_console_term_input): ... this, and ...
25359 (grub_console_term_output): ... this. Update all users.
25360 (grub_console_term_input): Only enable it on PC/BIOS platform.
25361 (grub_console_init): Remove grub_keyboard_controller_init() call.
25362
25363 Migrate input terminals to new API:
25364
25365 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
25366 `i386' and `i386/pc' to enable build on x86_64 (this driver is
25367 i386-specific anyway).
25368 (grub_console_checkkey): Rename to ...
25369 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
25370 users.
25371 (grub_keyboard_controller_orig): New variable.
25372 (grub_console_getkey): Rename to ...
25373 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
25374 users.
25375 (grub_keyboard_controller_init): Static-ize. Save original
25376 controller value so that it can be restored ...
25377 (grub_keyboard_controller_fini): ... here (new function).
25378 (grub_at_keyboard_term): New structure.
25379 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
25380 functions.
25381
25382 Migrate output terminals to new API:
25383
25384 * term/i386/pc/vga.c (grub_vga_term): Change type to
25385 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25386 members. Update all users.
25387 * term/gfxterm.c (grub_video_term): Change type to
25388 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25389 members. Update all users.
25390 * include/grub/i386/pc/console.h (grub_console_checkkey)
25391 (grub_console_getkey): Do not export (no longer needed by gfxterm,
25392 etc).
25393
25394 Migrate `terminal' command and userland tools to new API:
25395
25396 * commands/terminal.c (grub_cmd_terminal): Split into ...
25397 (grub_cmd_terminal_input): ... this, and ...
25398 (grub_cmd_terminal_output): ... this.
25399 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
25400 `terminal_input' and `terminal_output'.
25401 * util/grub.d/00_header.in: Adjust `terminal' calls to new
25402 `terminal_input' / `terminal_output' API.
25403 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
25404 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
25405 provided ${GRUB_TERMINAL}, convert it).
25406
96e5d876 254072008-11-04 Robert Millan <rmh@aybabtu.com>
25408
25409 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
25410 for FreeBSD.
25411 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
25412
556f3775 254132008-11-03 Bean <bean123ch@gmail.com>
25414
25415 * kern/elf.c (grub_elf32_load): Revert to previous code.
25416 (grub_elf64_load): Likewise.
25417
25418 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
25419
926b9823 254202008-11-01 Robert Millan <rmh@aybabtu.com>
25421
25422 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
25423 (TARGET_CPPFLAGS): Likewise.
25424 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
25425
1432e958 254262008-11-01 Carles Pina i Estany <carles@pina.cat>
25427
25428 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
25429
dba3f844 254302008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 25431
25432 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
25433 addition of objects until the code is not going to be able to fail.
25434
dba3f844 254352008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 25436
25437 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
25438 (add a missing NULL check, and correct them by moving the pointer
25439 operations after the actual check).
25440
7ab28c21 254412008-10-29 Robert Millan <rmh@aybabtu.com>
25442
25443 * util/i386/pc/grub-install.in: Handle empty string as output from
25444 make_system_path_relative_to_its_root().
25445
1b7748eb 254462008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
25447
25448 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
25449 circular metadata worst case scenario. If the metadata is circular
25450 then copy the wrap in place.
25451 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
25452 project lib/format_text/layout.h
25453 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
25454
c9618ab2 254552008-10-03 Felix Zielcke <fzielcke@z-51.de>
25456
7a36edca 25457 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 25458
bf981c62 254592008-10-03 Felix Zielcke <fzielcke@z-51.de>
25460
25461 * util/update-grub_lib.in: Mention filename in warning message.
25462
6d994591 254632008-09-29 Felix Zielcke <fzielcke@z-51.de>
25464
25465 * NEWS: Update for rename of update-grub to grub-mkconfig.
25466
18ade780 254672008-09-29 Felix Zielcke <fzielcke@z-51.de>
25468
25469 * util/update-grub_lib.in: Copy to ...
25470 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 25471 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 25472 * util/update-grub.in: Rename to ...
25473 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
25474 option. Add `--output' option to allow users to specify the generated
25475 configuration file. Default to stdout.
25476 (update_grub_dir): Rename to ...
25477 (grub_mkconfig_dir): ... this.
25478 (grub_cfg): Default to an empty string.
25479 * conf/common.rmk (update-grub): Rename to ...
25480 (grub-mkconfig): ... this.
25481 (update-grub_lib): Copy to ...
25482 (grub-mkconfig_lib): ... this.
25483 (update-grub_SCRIPTS): Copy to ...
25484 (grub-mkconfig_SCRIPTS): ... this. Update all users.
25485 (update-grub_DATA): Rename to ...
25486 (grub-mkconfig_DATA): ... this.
25487
556ce6ac 254882008-09-28 Robert Millan <rmh@aybabtu.com>
25489
25490 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
25491 to `modified'. Add the real `created' field.
25492 (grub_iso9660_uuid): Use `modified' rather than `created' for
25493 constructing the UUID.
25494
254952008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 25496
25497 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
25498 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
25499
92274e85 255002008-09-28 Bean <bean123ch@gmail.com>
25501
25502 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
25503 Thanks to Christian Franke for finding this bug.
25504
add6f17a 255052008-09-25 Robert Millan <rmh@aybabtu.com>
25506
25507 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
25508 instances of grub_util_get_disk_name() (see previous commit).
25509
d2a367b8 255102008-09-25 Robert Millan <rmh@aybabtu.com>
25511
25512 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
25513 `util/i386/get_disk_name.c'.
25514 * conf/i386-efi.rmk: Likewise.
25515 * conf/x86_64-efi.rmk: Likewise.
25516 * conf/i386-coreboot.rmk: Likewise.
25517 * conf/i386-ieee1275.rmk: Likewise.
25518 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
25519 `util/ieee1275/get_disk_name.c'.
25520 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
25521 * util/ieee1275/get_disk_name.c: Remove file.
25522 * util/i386/get_disk_name.c: Remove file.
25523 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
25524 "hd%d" for device.map entries, rather than using
25525 grub_util_get_disk_name().
25526
81a06771 255272008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 25528
25529 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
25530 warning.
25531 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
25532
5a004279 255332008-09-24 Carles Pina i Estany <carles@pina.cat>
25534
25535 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
25536 Changed to 0x5100.
25537 (GRUB_TERM_PPAGE): Changed to 0x4900.
25538
397093d3 255392008-09-24 Robert Millan <rmh@aybabtu.com>
25540
25541 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
25542 macros (they were i386-pc specific).
25543 * include/grub/sparc64/ieee1275/console.h: Likewise.
25544 * include/grub/efi/console.h: Likewise.
25545
a91b6c7c 255462008-09-22 Bean <bean123ch@gmail.com>
25547
25548 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
25549 resident and in attribute list.
25550
25551 * include/grub/ntfs.h (BMP_LEN): Removed.
25552
c40fd116 255532008-09-22 Bean <bean123ch@gmail.com>
25554
81a06771 25555 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 25556 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
25557
25558 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
25559 error occurs, as grub_disk_open will call grub_disk_close, which will
25560 call p->close (scsi).
25561
81a06771 255622008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 25563
25564 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
25565 (AC_PREREQ): Bumped to 2.59.
25566 (AC_TRY_COMPILE): Replace obsolete macro with ...
25567 (AC_COMPILE_IFELSE): ... this.
25568 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
25569 (AC_LINK_IFELSE): ... this.
25570
5dc43410 255712008-09-21 Felix Zielcke <fzielcke@z-51.de>
25572
25573 * autogen.sh: Add a call to `gendistlist.sh'.
25574
9035dce4 255752008-09-19 Christian Franke <franke@computer.org>
25576
25577 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
25578 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
25579 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
25580 Export __enable_execute_stack() to modules.
25581 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
25582 New function.
25583
7fd75377 255842008-09-09 Felix Zielcke <fzielcke@z-51.de>
25585
040030b3 25586 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
25587 Sort the list.
25588
255892008-09-09 Felix Zielcke <fzielcke@z-51.de>
25590
25591 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 25592 #include <grub/util/hostdisk.h>.
25593
89d5ffcf 255942008-09-08 Robert Millan <rmh@aybabtu.com>
25595
25596 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
25597 segments when their filesz is zero (grub_file_read() interprets
81a06771 25598 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 25599 Use `lowest_segment' rather than 0 for calculating the current
25600 segment load address.
25601
40da438f 256022008-09-08 Robert Millan <rmh@aybabtu.com>
25603
25604 * util/hostdisk.c (open_device): Replace a grub_util_info() call
25605 with grub_dprintf("hostdisk", ...), as it was so verbose that it
25606 clobbered useful information.
25607
ddbf5556 256082008-09-08 Robert Millan <rmh@aybabtu.com>
25609
25610 * include/grub/util/biosdisk.h: Move to ...
25611 * include/grub/util/hostdisk.h: ... here. Update all users.
25612 * util/biosdisk.c: Move to ...
25613 * util/hostdisk.c: ... here. Update all users.
25614
783d0f48 256152008-09-07 Robert Millan <rmh@aybabtu.com>
25616
25617 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
25618 variables.
25619 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
25620 and length can be stored directly in the `mbi->mmap_addr' and
25621 `mbi->mmap_length' struct fields.
25622
548e2ea5 256232008-09-07 Robert Millan <rmh@aybabtu.com>
25624
25625 * conf/i386.rmk: New file. Provides declaration for building
25626 `cpuid.mod'.
25627 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
25628 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
25629 variables.
25630 Include `conf/i386.mk'.
25631 * conf/i386-efi.rmk: Likewise.
25632 * conf/x86_64-efi.rmk: Likewise.
25633 * conf/i386-coreboot.rmk: Likewise.
25634 * conf/i386-ieee1275.rmk: Likewise.
25635
0ea85a37 256362008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
25637
25638 Based on patch created by Colin D Bennett <colin@gibibit.com>.
25639 Adds optimization support for BGR based modes.
25640
25641 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
25642 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25643 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25644 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25645 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25646 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25647 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25648 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25649 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25650 (grub_video_i386_vbeblit_index_index): Likewise.
25651 (grub_video_i386_vbeblit_replace_directN): Added.
25652 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25653 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25654 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25655 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25656 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25657 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 25658 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 25659 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25660 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25661 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25662 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25663 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25664 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
25665
25666 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
25667 (grub_video_i386_vbefill_R8G8B8): Likewise.
25668 (grub_video_i386_vbefill_index): Likewise.
25669 (grub_video_i386_vbefill_direct32): Added.
25670 (grub_video_i386_vbefill_direct24): Likewise.
25671 (grub_video_i386_vbefill_direct16): Likewise.
25672 (grub_video_i386_vbefill_direct8): Likewise.
25673
81a06771 25674 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 25675 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
25676 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
25677 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
25678 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
25679 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 25680
0ea85a37 25681 * video/video.c (grub_video_get_blit_format): Updated to use new
25682 blit formats. Added handling for 16 bit color modes.
81a06771 25683
25684 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 25685 fillers.
25686 (common_blitter): Updated to use new blitters.
25687
25688 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
25689 Removed.
25690 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25691 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25692 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25693 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25694 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25695 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25696 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25697 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25698 (grub_video_i386_vbeblit_index_index): Likewise.
25699 (grub_video_i386_vbeblit_replace_directN): Added.
25700 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25701 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25702 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25703 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25704 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25705 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
25706 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
25707 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25708 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25709 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25710 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25711 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25712 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 25713
0ea85a37 25714 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
25715 (grub_video_i386_vbefill_R8G8B8): Likewise.
25716 (grub_video_i386_vbefill_index): Likewise.
25717 (grub_video_i386_vbefill_direct32): Added.
25718 (grub_video_i386_vbefill_direct24): Likewise.
25719 (grub_video_i386_vbefill_direct16): Likewise.
25720 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 25721
0ea85a37 25722 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
25723 types.
81a06771 25724
0ea85a37 25725 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
25726 types.
81a06771 25727
0ea85a37 25728 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
25729 blitter types.
81a06771 25730
0ea85a37 25731 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
25732 types.
25733
e8a83df6 257342008-09-06 Felix Zielcke <fzielcke@z-51.de>
25735
25736 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
25737 RAID level 1.
25738
6bcd8ee5 257392008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 25740
6bcd8ee5 25741 * fs/iso9660.c (grub_iso9660_date): New structure.
25742 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
25743 (grub_iso9660_uuid): New function.
c375ae58 25744
59261157 257452008-09-05 Bean <bean123ch@gmail.com>
25746
25747 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
25748
25749 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
25750 insensitive bit for names in Win32 and Win32 & DOS namespace.
25751
25752 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
25753
25754 * include/grub/types.h (LONG_MAX): Likewise.
25755
58b6645a 257562008-09-04 Felix Zielcke <fzielcke@z-51.de>
25757
4ee55921 25758 * util/getroot.c: Include <config.h>.
25759 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
25760 add support for /dev/md/N devices and handle LVM double dash escaping.
25761
257622008-09-04 Felix Zielcke <fzielcke@z-51.de>
25763
25764 * config.guess: Update to latest version from config git.
25765 * config.sub: Likewise.
58b6645a 25766
9124f65d 257672008-09-03 Robert Millan <rmh@aybabtu.com>
25768
25769 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
25770 `disk->total_sectors'.
25771
81a06771 257722008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 25773
25774 * include/grub/normal.h: Fixed incorrect comment for
25775 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
25776
81a06771 257772008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 25778
25779 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
25780 values with defines.
25781
25782 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
25783 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
25784 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
25785 (GRUB_VBE_MODEATTR_COLOR): Likewise.
25786 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
25787 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
25788 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
25789 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
25790 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
25791 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
25792 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
25793 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
25794 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
25795 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
25796 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
25797 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
25798 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
25799 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
25800 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
25801
93d5cbf8 258022008-08-31 Robert Millan <rmh@aybabtu.com>
25803
25804 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
25805 declaration.
25806 (grub_multiboot): Fix a few warnings.
25807
21751d50 258082008-08-31 Robert Millan <rmh@aybabtu.com>
25809
25810 * loader/i386/pc/multiboot.c: Update comment not to say that
25811 boot_device support is unimplemented.
25812
e27a75c5 258132008-08-31 Robert Millan <rmh@aybabtu.com>
25814
25815 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
25816 or memory map support are unimplemented.
25817
81a06771 258182008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 25819
25820 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
25821
81a06771 258222008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 25823
25824 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
25825 total video memory in 'vbeinfo' output; show color format details for
25826 each video mode.
25827
7c5d8d95 258282008-08-30 Pavel Roskin <proski@gnu.org>
25829
25830 * util/genmoddep.c: Remove for real this time.
25831 * DISTLIST: Remove util/genmoddep.c.
25832
4cebd25a 258332008-08-30 Robert Millan <rmh@aybabtu.com>
25834
25835 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
25836 as required by Multiboot spec (it was already 4-byte aligned, but
25837 only by chance).
25838
b497a269 258392008-08-29 Pavel Roskin <proski@gnu.org>
25840
e3925185 25841 * kern/powerpc/ieee1275/crt0.S: Rename to ...
25842 * kern/powerpc/ieee1275/startup.S: ... this.
25843 * conf/powerpc-ieee1275.rmk: Adjust for the above.
25844 * DISTLIST: Likewise.
25845
b497a269 25846 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
25847 grub/cpu/kernel.h. Add start label for consistency with other
25848 platforms. Add grub_prefix immediately after start. Add jump
25849 to the code after grub_prefix.
25850 * include/grub/powerpc/kernel.h: Provide valid values for
25851 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
25852
6e5a42fe 258532008-08-29 Bean <bean123ch@gmail.com>
25854
25855 * configure.ac: Change host_os to cygwin for mingw.
25856 (asprintf): New check for function.
25857
25858 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
25859 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
25860
25861 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 25862 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 25863 sync, sleep and grub_util_get_disk_size for mingw.
25864
25865 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
25866 to get size in mingw.
25867 (open_device): Use flag O_BINARY if it's defined.
25868 (find_root_device): Add dummy code for mingw.
25869
25870 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
25871 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
25872 (get_scsi_disk_name): Return 0 for mingw.
25873
25874 * util/hostfs.c: #include <grub/util/misc.h>.
25875 (grub_hostfs_open): Use "rb" flag to open file, use
25876 grub_util_get_disk_size to get disk size for mingw.
25877
25878 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
25879 (asprintf): New function if HAVE_ASPRINTF is not set.
25880 (sync): New function for mingw.
25881 (sleep): Likewise.
25882 (grub_util_get_disk_size): Likewise.
25883
ab3f2673 258842008-08-28 Pavel Roskin <proski@gnu.org>
25885
25886 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25887 kern/time.c.
25888
1c282483 258892008-08-28 Robert Millan <rmh@aybabtu.com>
25890
25891 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
25892
678e849c 258932008-08-28 Robert Millan <rmh@aybabtu.com>
25894
25895 Change find_grub_drive() syntax so it doesn't prevent it from
25896 detecting NULL names as errors.
25897
25898 * util/biosdisk.c (find_grub_drive): Move free slot search code
25899 from here ...
25900 (find_free_slot): ... to here.
25901 (read_device_map): Use find_free_slot() to search for free slots.
25902
965c75ca 259032008-08-27 Marco Gerards <marco@gnu.org>
25904
25905 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
25906 (scsi_mod_SOURCES): New variable.
25907 (scsi_mod_CFLAGS): Likewise
25908 (scsi_mod_LDFLAGS): Likewise.
25909
25910 * disk/scsi.c: New file.
25911
25912 * include/grub/scsi.h: Likewise.
25913
25914 * include/grub/scsicmd.h: Likewise.
25915
25916 * disk/ata.c: Include <grub/scsi.h>.
25917 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
25918 instead.
25919 (grub_ata_iterate): Skip ATAPI devices.
25920 (grub_ata_open): Only handle ATAPI devices.
25921 (struct grub_atapi_read): Removed.
25922 (grub_atapi_readsector): Likewise.
25923 (grub_ata_read): No longer handle ATAPI devices.
25924 (grub_ata_write): Likewise.
25925 (grub_atapi_iterate): New function.
25926 (grub_atapi_read): Likewise.
25927 (grub_atapi_write): Likewise.
25928 (grub_atapi_open): Likewise.
25929 (grub_atapi_close): Likewise.
25930 (grub_atapi_dev): New variable.
25931 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
25932 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
25933
25934 * include/grub/disk.h (enum grub_disk_dev_id): Add
25935 `GRUB_DISK_DEVICE_SCSI_ID'.
25936
c07ae501 259372008-08-26 Robert Millan <rmh@aybabtu.com>
25938
25939 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
25940 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
25941 descriptive.
25942
5ed20adc 259432008-08-23 Bean <bean123ch@gmail.com>
25944
25945 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
25946 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25947 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
25948 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
25949 dm_nv.mod.
25950 (raid5rec_mod_SOURCES): New macro.
25951 (raid5rec_mod_CFLAGS): Likewise.
25952 (raid5rec_mod_LDFLAGS): Likewise.
25953 (raid6rec_mod_SOURCES): Likewise.
25954 (raid6rec_mod_CFLAGS): Likewise.
25955 (raid6rec_mod_LDFLAGS): Likewise.
25956 (mdraid_mod_SOURCES): Likewise.
25957 (mdraid_mod_CFLAGS): Likewise.
25958 (mdraid_mod_LDFLAGS): Likewise.
25959 (dm_nv_mod_SOURCES): Likewise.
25960 (dm_nv_mod_CFLAGS): Likewise.
25961 (dm_nv_mod_LDFLAGS): Likewise.
25962
25963 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
25964 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25965 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
25966
25967 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
25968 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
25969
25970 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25971
25972 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25973
25974 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25975
25976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25977
25978 * disk/raid5_recover.c: New file.
25979
25980 * disk/raid6_recover.c: Likewise.
25981
25982 * disk/mdraid_linux.c: Likewise.
25983
25984 * disk/dmraid_nvidia.c: Likewise.
25985
25986 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
25987 ULONG_MAX.
25988
25989 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
25990 calculate the size of raid device.
25991 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
25992 different layout of raid5.
25993 (grub_raid_scan_device): Remove code specific to mdraid.
25994 (grub_raid_list): New variable.
25995 (free_array): New function.
25996 (grub_raid_register): Likewise.
25997 (grub_raid_unregister): Likewise.
25998 (grub_raid_rescan): Likewise.
25999 (GRUB_MOD_INIT): Don't iterate device here.
26000 (GRUB_MOD_FINI): Use free_array to release resource.
26001
26002 * include/grub/raid.h: Remove macro and structure specific to mdraid.
26003 (grub_raid5_recover_func_t): New function variable type.
26004 (grub_raid6_recover_func_t): Likewise.
26005 (grub_raid5_recover_func): New variable.
26006 (grub_raid6_recover_func): Likewise.
26007 (grub_raid_register): New function.
26008 (grub_raid_unregister): Likewise.
26009 (grub_raid_rescan): Likewise.
26010 (grub_raid_block_xor): Likewise.
26011
26012 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
26013 (CMD_CRC): New macro.
26014 (part): Removed.
26015 (read_file): Handle device as well as file.
26016 (cmd_crc): New function.
26017 (fstest): Handle multiple disks.
26018 (options): Remove part, raw and long, add root and diskcount.
26019 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 26020 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 26021 add handling for the new options, support multiple disks.
26022
26023 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
26024
29c18915 260252008-08-23 Bean <bean123ch@gmail.com>
26026
26027 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
26028
26029 * genfslist.sh: Ignore kernel.mod.
26030
26031 * genpartmaplist.sh: Likewise.
26032
8415f261 260332008-08-23 Robert Millan <rmh@aybabtu.com>
26034
26035 * util/getroot.c (find_root_device): Skip anything that starts with
26036 a dot, not just directories. This avoids things like /dev/.tmp.md0.
26037
d5a7dc5b 260382008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 26039
d5a7dc5b 26040 * util/update-grub.in (GRUB_GFXMODE): Export variable.
26041 * util/grub.d/00_header.in: Allow the administrator to change default
26042 gfxmode via ${GRUB_GFXMODE}.
26043
380cfbb4 260442008-08-21 Felix Zielcke <fzielcke@z-51.de>
26045
26046 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
26047
c9baafe7 260482008-08-21 Robert Millan <rmh@aybabtu.com>
26049
26050 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
26051 loader.
26052 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
26053 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
26054
e290bef2 260552008-08-20 Carles Pina i Estany <carles@pina.cat>
26056
26057 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
26058 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
26059
f9dbfc96 260602008-08-19 Robert Millan <rmh@aybabtu.com>
26061
26062 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
26063 (struct grub_virtual_screen): Remove `cursor_color'.
26064 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
26065 initialization.
26066 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
26067
dd6bd6ab 260682008-08-18 Robert Millan <rmh@aybabtu.com>
26069
26070 Unify (identical) linux_normal.c files.
26071 * loader/i386/efi/linux_normal.c: Move from here ...
26072 * loader/linux_normal.c: ... to here. Update all users.
26073 * loader/i386/pc/linux_normal.c: Delete. Update all users.
26074 * loader/i386/ieee1275/linux_normal.c: Likewise.
26075
7f42f83e 260762008-08-18 Robert Millan <rmh@aybabtu.com>
26077
26078 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
26079 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
26080 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
26081 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
26082 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
26083 New macros.
26084 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
26085 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
26086 (GRUB_LINUX_CL_END_OFFSET): ... to here.
26087 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
26088 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
26089 (GRUB_EFI_CL_END_OFFSET): Rename to ...
26090 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
26091 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
26092 Initialize `params->video_cursor_x' and `params->video_cursor_y'
26093 portably using grub_getxy().
26094 Replace `-EFI' with `-bzImage' in boot message.
26095
38487ddb 260962008-08-17 Robert Millan <rmh@aybabtu.com>
26097
26098 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
26099
deceb3ec 261002008-08-17 Robert Millan <rmh@aybabtu.com>
26101
26102 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
26103
26104 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
26105 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
26106 (grub_machine_mmap_iterate): New function declaration.
26107 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
26108 structure.
26109 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
26110 macros.
26111
26112 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
26113 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
26114 Move e820 parsing from here ...
26115 * kern/i386/pc/mmap.c: New file.
26116 (grub_machine_mmap_iterate): ... to here.
26117
26118 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
26119 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
26120 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
26121 (grub_available_iterate): Redeclare to return `void', and redeclare
26122 its hook to use grub_uint64_t as addr and size parameters, and rename
26123 to ...
26124 (grub_machine_mmap_iterate): ... this. Update all users.
26125
26126 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
26127 to make it more readable. Rename to ...
26128 (grub_machine_mmap_iterate): ... this.
26129
26130 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
26131 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
26132 (grub_multiboot): Allocate an extra region after the payload, and fill
26133 it with a Multiboot memory map. Adjust a.out loader to calculate size
26134 with the extra space.
26135 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
26136 with the extra space.
26137
f8aa0f43 261382008-08-17 Carles Pina i Estany <carles@pina.cat>
26139
9807deb9 26140 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 26141
605f5bb6 261422008-08-17 Felix Zielcke <fzielcke@z-51.de>
26143
26144 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
26145 mdate-sh to the list `find' searches for.
26146 * DISTLIST: Regenerated.
26147
210db6c6 261482008-08-16 Felix Zielcke <fzielcke@z-51.de>
26149
26150 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
26151 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 26152 genmoddep.awk, gensymlist.sh.in.
26153 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 26154 * DISTLIST: Regenerated.
48cdbfd4 26155 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 26156
1082b929 261572008-08-16 Robert Millan <rmh@aybabtu.com>
26158
26159 * disk/raid.c (grub_raid_init): Handle/report errors set by
26160 grub_device_iterate().
26161 * disk/lvm.c (grub_lvm_init): Likewise.
26162
42ce5170 261632008-08-15 Bean <bean123ch@gmail.com>
26164
26165 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26166 and datehook.mod.
26167 (datetime_mod_SOURCES): New macro.
26168 (datetime_mod_CFLAGS): Likewise.
26169 (datetime_mod_LDFLAGS): Likewise.
26170 (date_mod_SOURCES): Likewise.
26171 (date_mod_CFLAGS): Likewise.
26172 (date_mod_LDFLAGS): Likewise.
26173 (datehook_mod_SOURCES): Likewise.
26174 (datehook_mod_CFLAGS): Likewise.
26175 (datehook_mod_LDFLAGS): Likewise.
26176
26177 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26178 and datehook.mod.
26179 (datetime_mod_SOURCES): New macro.
26180 (datetime_mod_CFLAGS): Likewise.
26181 (datetime_mod_LDFLAGS): Likewise.
26182 (date_mod_SOURCES): Likewise.
26183 (date_mod_CFLAGS): Likewise.
26184 (date_mod_LDFLAGS): Likewise.
26185 (datehook_mod_SOURCES): Likewise.
26186 (datehook_mod_CFLAGS): Likewise.
26187 (datehook_mod_LDFLAGS): Likewise.
26188
26189 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26190 and datehook.mod.
26191 (datetime_mod_SOURCES): New macro.
26192 (datetime_mod_CFLAGS): Likewise.
26193 (datetime_mod_LDFLAGS): Likewise.
26194 (date_mod_SOURCES): Likewise.
26195 (date_mod_CFLAGS): Likewise.
26196 (date_mod_LDFLAGS): Likewise.
26197 (datehook_mod_SOURCES): Likewise.
26198 (datehook_mod_CFLAGS): Likewise.
26199 (datehook_mod_LDFLAGS): Likewise.
26200
26201 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26202 and datehook.mod.
26203 (datetime_mod_SOURCES): New macro.
26204 (datetime_mod_CFLAGS): Likewise.
26205 (datetime_mod_LDFLAGS): Likewise.
26206 (date_mod_SOURCES): Likewise.
26207 (date_mod_CFLAGS): Likewise.
26208 (date_mod_LDFLAGS): Likewise.
26209 (datehook_mod_SOURCES): Likewise.
26210 (datehook_mod_CFLAGS): Likewise.
26211 (datehook_mod_LDFLAGS): Likewise.
26212
26213 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26214 and datehook.mod.
26215 (datetime_mod_SOURCES): New macro.
26216 (datetime_mod_CFLAGS): Likewise.
26217 (datetime_mod_LDFLAGS): Likewise.
26218 (date_mod_SOURCES): Likewise.
26219 (date_mod_CFLAGS): Likewise.
26220 (date_mod_LDFLAGS): Likewise.
26221 (datehook_mod_SOURCES): Likewise.
26222 (datehook_mod_CFLAGS): Likewise.
26223 (datehook_mod_LDFLAGS): Likewise.
26224
26225 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
26226
26227 * commands/date.c: New file.
26228
26229 * hook/datehook.c: Likewise.
26230
26231 * include/grub/lib/datetime.h: Likewise.
26232
26233 * include/grub/i386/cmos.h: Likewise.
26234
26235 * lib/datetime.c: Likewise.
26236
26237 * lib/i386/datetime.c: Likewise.
26238
26239 * lib/efi/datetime.c: Likewise.
26240
0e9242da 262412008-08-14 Robert Millan <rmh@aybabtu.com>
26242
26243 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
26244 (grub_mkelfimage_SOURCES): New variable.
26245 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
26246
26247 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
26248 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
26249 * conf/powerpc-ieee1275.rmk: Likewise.
26250 * conf/i386-ieee1275.rmk: Likewise.
26251
26252 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
26253 * kern/i386/coreboot/init.c: Likewise.
26254
26255 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
26256 with `<grub/cpu/kernel.h>'.
26257 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
26258 to ...
26259 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
26260 * kern/i386/coreboot/startup.S: Likewise.
26261
26262 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
26263 (GRUB_MOD_GAP): Remove.
26264 * include/grub/powerpc/kernel.h: New file.
26265 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
26266 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26267 * include/grub/i386/kernel.h: New file.
26268 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
26269 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
26270 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26271
26272 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
26273 `grub-mkelfimage'.
26274 Use --directory when invoking grub_mkimage.
26275
26276 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
26277 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
26278 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
26279 and GRUB_KERNEL_CPU_PREFIX.
26280
b86408f8 262812008-08-14 Felix Zielcke <fzielcke@z-51.de>
26282
d5e619ca 26283 * include/grub/err.h (grub_err_printf): New function prototype.
26284 * util/misc.c (grub_err_printf): New function.
26285 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
26286 grub_printf.
26287 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 26288
7161f0e0 262892008-08-13 Robert Millan <rmh@aybabtu.com>
26290
26291 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
26292
a1967522 262932008-08-13 Robert Millan <rmh@aybabtu.com>
26294
26295 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
26296 boot entry.
26297
371458b5 262982008-08-12 Robert Millan <rmh@aybabtu.com>
26299
26300 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
26301 of the relocation code from here ...
26302 (grub_multiboot): ... to here.
26303 (forward_relocator, backward_relocator): Move from here ...
26304 * kern/i386/loader.S (grub_multiboot_forward_relocator)
26305 (grub_multiboot_backward_relocator): ... to here.
26306 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
26307 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
26308 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
26309 (grub_multiboot_forward_relocator_end)
26310 (grub_multiboot_backward_relocator)
26311 (grub_multiboot_backward_relocator_end): New variables.
26312
05f9452b 263132008-08-12 Bean <bean123ch@gmail.com>
26314
26315 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
26316
20024ab0 263172008-08-11 Robert Millan <rmh@aybabtu.com>
26318
26319 * kern/i386/linuxbios/startup.S: Move from here ...
26320 * kern/i386/coreboot/startup.S: ... to here.
26321
26322 * kern/i386/linuxbios/init.c: Move from here ...
26323 * kern/i386/coreboot/init.c: ... to here.
26324
26325 * kern/i386/linuxbios/table.c: Move from here ...
26326 * kern/i386/coreboot/mmap.c: ... to here.
26327
26328 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
26329
e352e9cd 263302008-08-11 Robert Millan <rmh@aybabtu.com>
26331
26332 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
26333 errors. Leave it to the upper layer to handle them.
26334
2d05bc6a 263352008-08-09 Christian Franke <franke@computer.org>
26336
26337 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
26338 * conf/common.rmk: Install `grub-pe2elf' only if requested.
26339 Install `grub.d/10_windows' only on Cygwin.
26340 * configure.ac: Add subst of `target_os'.
26341 Check `target_os' also before setting TARGET_OBJ2ELF.
26342 Add `--enable-grub-pe2elf'.
26343
042bd419 263442008-08-08 Robert Millan <rmh@aybabtu.com>
26345
26346 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26347 (grub_last_time): Change type to grub_uint64_t.
26348 (grub_disk_open): Migrate code from to using grub_get_time_ms().
26349 (grub_disk_close): Likewise.
26350
26351 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26352 (run_menu): Migrate code from to using grub_get_time_ms().
26353
26354 * util/misc.c (grub_get_time_ms): New function.
26355
7f280db5 263562008-08-08 Marco Gerards <marco@gnu.org>
26357
26358 * disk/ata.c (grub_ata_regget): Change return type to
26359 `grub_uint8_t'.
26360 (grub_ata_regget2): Likewise.
26361 (grub_ata_wait_status): New function.
26362 (grub_ata_wait_busy): Removed function, updated all users to use
26363 `grub_ata_wait_status'.
26364 (grub_ata_wait_drq): Likewise.
26365 (grub_ata_cmd): New function.
26366 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
26367 error handling.
26368 (grub_ata_pio_write): Add error handling.
26369 (grub_atapi_identify): Likewise.
26370 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
26371 handling.
26372 (grub_ata_identify): Use `grub_ata_cmd' and improve error
26373 handling. Actually use the detected registers. Reorder the
26374 detection logic such that it is easier to read.
26375 (grub_ata_pciinit): Do not assign the same ID to each controller.
26376 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
26377 handling.
26378 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
26379
26380 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
26381
1fbc5e66 263822008-08-08 Marco Gerards <marco@gnu.org>
26383
26384 * NEWS: Update.
26385
819ce6c0 263862008-08-07 Bean <bean123ch@gmail.com>
26387
26388 * include/grub/x86_64/pci.h: New file.
26389
5c41d44d 263902008-08-07 Christian Franke <franke@computer.org>
26391
26392 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
26393 (TIMER2_GATE): Likewise.
26394 (grub_pit_wait): Add enable/disable of the timer2 gate
26395 bit of port 0x61. This fixes a possible infinite loop.
26396
5ebc275d 263972008-08-07 Bean <bean123ch@gmail.com>
26398
26399 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
26400 kern/i386/tsc.c and kern/i386/pit.c.
26401
26402 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
26403 x86_64 platform.
26404
26405 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
26406 <grub/i386/tsc.h>.
26407
26408 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
26409
e383b3d0 264102008-08-07 Bean <bean123ch@gmail.com>
26411
26412 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
26413
26414 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
26415
26416 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
26417 multiple inclusion. Add #include <grub/types.h>.
26418
1cbb58ac 264192008-08-06 Christian Franke <franke@computer.org>
26420
26421 * conf/common.rmk: Build and install `10_windows'.
26422 * util/grub.d/10_windows.in: New script.
26423
337f5a1e 264242008-08-06 Pavel Roskin <proski@gnu.org>
26425
26426 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
26427
057bc4ac 264282008-08-06 Robert Millan <rmh@aybabtu.com>
26429
26430 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
26431 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
26432
2b99f123 264332008-08-06 Bean <bean123ch@gmail.com>
26434
26435 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
26436 (grub_pxefs_fs_int): Remove dummy definition.
26437 (grub_pxefs_open): Use data->block_size to store the current block
26438 size setting.
26439 (grub_pxefs_read): Use block size stored in data->block_size. As the
26440 value of grub_pxe_blksize can be changed after the file is opened.
26441
9f0234cb 264422008-08-06 Bean <bean123ch@gmail.com>
26443
26444 * fs/i386/pc/pxe.c (curr_file): new variable.
26445 (grub_pxefs_open): Simply the handling of pxe file system. Don't
26446 require the dummy internal file system anymore.
26447 (grub_pxefs_read): Removed.
26448 (grub_pxefs_close): Likewise.
26449 (grub_pxefs_fs_int): Likewise.
26450 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
26451 connection when we switch file.
26452 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
26453
a55d42e0 264542008-08-06 Robert Millan <rmh@aybabtu.com>
26455
26456 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
26457 `halt.mod'.
26458 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
26459 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
26460
26461 * kern/i386/halt.c: New file.
26462 * kern/i386/reboot.c: Likewise.
26463 * include/grub/i386/reboot.h: Likewise.
26464 * include/grub/i386/halt.h: Likewise.
26465
26466 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
26467 Include `<grub/cpu/halt.h>'.
26468 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
26469 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
26470
26471 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
26472 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
26473 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
26474 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
26475 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
26476 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
26477 from here ...
26478 * include/grub/i386/at_keyboard.h: ... to here.
26479
24371d26 264802008-08-05 Robert Millan <rmh@aybabtu.com>
26481
26482 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
26483 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
26484 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
26485 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26486 `kern/generic/millisleep.c'.
26487
26488 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
26489 instead of grub_get_rtc().
26490 (grub_tsc_init): Initialize `tsc_boot_time'.
26491
26492 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
26493 (grub_machine_init): Use grub_tsc_init() rather than
26494 installing an RTC-based handler via grub_install_get_time_ms().
26495
26496 * kern/i386/pit.c: New file.
26497 * include/grub/i386/pit.h: Likewise.
26498
9e7007b3 264992008-08-05 Bean <bean123ch@gmail.com>
26500
26501 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
26502
26503 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
26504 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
26505 (pxe_mod_SOURCES): New macro.
26506 (pxe_mod_CFLAGS): Likewise.
26507 (pxe_mod_LDFLAGS): Likewise.
26508 (pxecmd_mod_SOURCES): Likewise.
26509 (pxecmd_mod_CFLAGS): Likewise.
26510 (pxecmd_mod_LDFLAGS): Likewise.
26511
26512 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
26513 (grub_pxe_call): Likewise.
26514
26515 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
26516
26517 * commands/i386/pc/pxecmd.c: New file.
26518
9f0234cb 26519 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 26520
26521 * include/grub/i386/pc/pxe.h: Likewise.
26522
6977d49f 265232008-08-05 Bean <bean123ch@gmail.com>
26524
26525 * util/console.c (grub_console_cur_color): New variable.
26526 (grub_console_standard_color): Likewise.
26527 (grub_console_normal_color): Likewise.
26528 (grub_console_highlight_color): Likewise.
26529 (color_map): Likewise.
26530 (use_color): Likewise.
26531 (NUM_COLORS): New macro.
26532 (grub_ncurses_setcolorstate): Handle color properly.
26533 (grub_ncurses_setcolor): Don't change color here, just remember the
26534 settings, color will be set in grub_ncurses_setcolorstate.
26535 (grub_ncurses_getcolor): New function.
26536 (grub_ncurses_init): Initialize color pairs.
26537 (grub_ncurses_term): New member grub_ncurses_getcolor.
26538
9c2ff3ee 265392008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 26540
9c2ff3ee 26541 High resolution timer support. Implemented for x86 CPUs using TSC.
26542 Extracted generic grub_millisleep() so it's linked in only as needed.
26543 This requires a Pentium compatible CPU; if the RDTSC instruction is
26544 not supported, then it falls back on the generic grub_get_time_ms()
26545 implementation that uses the machine's RTC.
26546
26547 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
26548 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26549 `kern/generic/millisleep.c'.
26550
26551 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
26552 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
26553
26554 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
26555 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
26556
26557 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26558
26559 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26560 `kern/generic/millisleep.c'.
26561
26562 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26563
26564 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
26565
26566 * kern/generic/rtc_get_time_ms.c: New file.
26567
26568 * kern/generic/millisleep.c: New file.
337f5a1e 26569
9c2ff3ee 26570 * kern/misc.c: Don't include
26571 <kern/time.h> anymore.
26572 (grub_millisleep_generic): Removed.
26573
26574 * commands/sleep.c (grub_interruptible_millisleep): Uses
26575 grub_get_time_ms() instead of grub_get_rtc().
26576
26577 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
26578 function.
26579 (grub_cpu_is_cpuid_supported): New inline function.
26580 (grub_cpu_is_tsc_supported): New inline function.
26581 (grub_tsc_init): New function prototype.
26582 (grub_tsc_get_time_ms): New function prototype.
26583
26584 * kern/i386/tsc.c (grub_get_time_ms): New file.
26585
26586 * include/grub/time.h: Include <grub/types.h.
26587 (grub_millisleep_generic): Removed.
26588 (grub_get_time_ms): New prototype.
26589 (grub_install_get_time_ms): New prototype.
26590 (grub_rtc_get_time_ms): New prototype.
26591
26592 * kern/time.c (grub_get_time_ms): New function.
26593 (grub_install_get_time_ms): New function.
26594
26595 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
26596 <grub/time.h> anymore.
26597 (grub_millisleep): Removed.
26598 (grub_machine_init): Call grub_tsc_init.
26599
26600 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
26601 get_time_ms() implementation.
26602
26603 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
26604 (ieee1275_get_time_ms): New function.
26605 (grub_machine_init): Install get_time_ms() implementation.
26606
26607 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
26608 (grub_machine_init): Call grub_tsc_init().
26609 (grub_millisleep): Removed.
bf06a93f 26610
9c2ff3ee 26611 * kern/ieee1275/init.c (grub_millisleep): Removed.
26612 (grub_machine_init): Install ieee1275_get_time_ms()
26613 implementation.
26614 (ieee1275_get_time_ms): New function.
26615 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
26616 real work.
26617
9ec92aaf 266182008-08-05 Marco Gerards <marco@gnu.org>
26619
26620 * disk/ata.c: Include <grub/pci.h>.
26621 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
26622 (grub_ata_initialize): Rewritten.
26623 (grub_ata_device_initialize): New function.
26624
8d23f507 266252008-08-04 Pavel Roskin <proski@gnu.org>
26626
26627 * kern/main.c: Include grub/mm.h.
26628
5e15ee3d 266292008-08-04 Robert Millan <rmh@aybabtu.com>
26630
26631 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
26632 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
26633 corruption problem).
26634
a9053f8f 266352008-08-04 Robert Millan <rmh@aybabtu.com>
26636
26637 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
26638 warnings introduced in my last commit.
26639
dd19c7d7 266402008-08-03 Robert Millan <rmh@aybabtu.com>
26641
26642 Make PCI available on all i386 architectures.
26643
26644 * include/grub/i386/pc/pci.h: Move from here ...
26645 * include/grub/i386/pci.h: ... to here.
26646
26647 * include/grub/i386/pc/pci.h: Remove.
26648 * include/grub/i386/efi/pci.h: Remove.
26649 * include/grub/x86_64/efi/pci.h: Remove.
26650
26651 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
26652 `<grub/cpu/pci.h>'.
26653
26654 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
26655 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
26656 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
26657
26658 * conf/i386-ieee1275.rmk: Likewise.
26659
e14a6184 266602008-08-03 Robert Millan <rmh@aybabtu.com>
26661
26662 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
26663 (grub_console_setcursor): Make it possible to set cursor off.
26664
52768e37 266652008-08-03 Robert Millan <rmh@aybabtu.com>
26666
26667 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
26668 of modules instead of assuming which platform provides what.
26669 * util/update-grub.in: Likewise.
26670
2d52f57f 266712008-08-03 Robert Millan <rmh@aybabtu.com>
26672
26673 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
26674 instead of `grub_install_dos_part' to determine whether a drive needs
26675 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 26676 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 26677
2a5cd121 266782008-08-02 Robert Millan <rmh@aybabtu.com>
26679
26680 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
26681
93808428 266822008-08-02 Robert Millan <rmh@aybabtu.com>
26683
26684 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
26685 of informational grub_dprintf() calls.
26686
3bd0a12a 266872008-08-02 Robert Millan <rmh@aybabtu.com>
26688
26689 * disk/memdisk.c (memdisk_size): Don't initialize.
26690 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
26691
26692 * include/grub/i386/pc/kernel.h
26693 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
26694 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
26695 (grub_memdisk_image_size, grub_arch_memdisk_addr)
26696 (grub_arch_memdisk_size): Remove.
26697
26698 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
26699 field (was only used to transfer a constant). Add `type' field to
26700 support multiple module types.
26701 (grub_module_iterate): New function.
26702
26703 * kern/device.c (grub_device_open): Do not hide error messages
26704 when grub_disk_open() fails. Use grub_print_error() instead.
26705
26706 * kern/i386/pc/init.c (grub_arch_modules_addr)
26707 (grub_arch_memdisk_size): Remove functions.
26708 (grub_arch_modules_addr): Return the module address in high memory
26709 (now that it isn't copied anymore).
26710
26711 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
26712 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
26713 decompression routine (grub_total_module_size already includes that
26714 now). Don't copy modules back to low memory.
26715
26716 * kern/main.c: Include `<grub/mm.h>'.
26717 (grub_load_modules): Split out (and use) ...
26718 (grub_module_iterate): ... this function, which iterates through
26719 module objects and runs a hook.
26720 Comment out grub_mm_init_region() call, as it would cause non-ELF
26721 modules to be overwritten.
26722
26723 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
26724 the memdisk image in its own region, make it part of the module list.
26725 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
26726 (main): Parse --memdisk|-m option, and pass user-provided path as
26727 parameter to generate_image().
26728 (add_segments): Pass `memdisk_path' down to load_modules().
26729 (load_modules): Embed memdisk image in module section when requested.
26730 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
26731 `header.type' instead of `header.offset'.
26732
26733 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
26734 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
26735 (memdisk_mod_LDFLAGS): New variables.
26736 * conf/i386-coreboot.rmk: Likewise.
26737 * conf/i386-ieee1275.rmk: Likewise.
26738
a927cc73 267392008-08-02 Robert Millan <rmh@aybabtu.com>
26740
26741 * loader/i386/pc/multiboot.c (playground, forward_relocator)
26742 (backward_relocator): New variables. Used to allocate and relocate
26743 the payload, respectively.
26744 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 26745 address, install the appropriate relocator code in each bound of
a927cc73 26746 the payload, and set the entry point such that
26747 grub_multiboot_real_boot() will jump to one of them.
26748
26749 * kern/i386/loader.S (grub_multiboot_payload_size)
26750 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26751 (grub_multiboot_payload_entry_offset): New variables.
26752 (grub_multiboot_real_boot): Set cpu context to what the relocator
26753 expects, and jump to the relocator instead of the payload.
26754
26755 * include/grub/i386/loader.h (grub_multiboot_payload_size)
26756 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26757 (grub_multiboot_payload_entry_offset): Export.
26758
b15d8a0c 267592008-08-01 Bean <bean123ch@gmail.com>
26760
26761 * normal/menu_entry.c (editor_getline): Don't return the original
26762 string as result, as it will be released by lexer once it has done
26763 using it.
26764
cdfb3d22 267652008-08-01 Robert Millan <rmh@aybabtu.com>
26766
26767 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
26768 within menuentries, not before them.
26769 util/grub.d/10_hurd.in: Likewise.
26770
9175e93d 267712008-08-01 Bean <bean123ch@gmail.com>
26772
26773 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
26774 (bufio_mod_SOURCES): New macro.
26775 (bufio_mod_CFLAGS): Likewise.
26776 (bufio_mod_LDFLAGS): Likewise.
26777
26778 * include/grub/bufio.h: New file.
26779
26780 * io/bufio.c: Likewise.
26781
26782 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
26783 (grub_video_reader_png): Use grub_buffile_open to open file.
26784
26785 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
26786 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
26787
26788 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
26789 (grub_video_reader_tga): Use grub_buffile_open to open file.
26790
26791 * font/manager.c: Include <grub/bufio.h>.
26792 (add_font): Use grub_buffile_open to open file.
26793
3d8383e7 267942008-07-31 Robert Millan <rmh@aybabtu.com>
26795
26796 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
26797 ELF segments, use a macro for arbitrarily accessing any of them instead
26798 of preparing a pointer that allows access to one at a time.
26799 (grub_multiboot_load_elf64): Likewise.
26800
16e641b6 268012008-07-31 Bean <bean123ch@gmail.com>
26802
26803 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
26804 GRUB_KERNEL_MACHINE_DATA_END.
26805
59198b72 268062008-07-30 Robert Millan <rmh@aybabtu.com>
26807
26808 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
26809 Increase from 0x50 to 0x60.
26810 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
26811 use UUIDs to identify the root drive for them. If that's not
26812 possible, abort.
26813 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
26814 check, for cross-disk installs.
26815
ae88bca3 268162008-07-30 Robert Millan <rmh@aybabtu.com>
26817
26818 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
26819 is non-empty, use it to set the `prefix' environment variable instead
26820 of the usual approach.
26821 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
26822 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
26823 environment variable instead of dummy make_install_device().
26824
26825 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
26826 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 26827 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 26828
26829 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
26830 New variable reference.
26831 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
26832 New macro. Defines offset of `grub_prefix' within startup.S (relative
26833 to `start').
26834 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
26835 section within startup.S (relative to `start').
26836 * include/grub/i386/coreboot/kernel.h: Likewise.
26837
26838 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
26839 Overwrite grub_prefix with its contents, at the beginning of the
26840 first segment.
26841 (main): Understand -p|--prefix.
26842
14f41dd1 268432008-07-30 Robert Millan <rmh@aybabtu.com>
26844
26845 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
26846
4ca049a3 268472008-07-30 Robert Millan <rmh@aybabtu.com>
26848
26849 * term/i386/pc/vga_text.c (grub_console_cls): Use
26850 grub_console_gotoxy() to go back to beginning of the screen.
26851 Found by Patrick Georgi <patrick.georgi@coresystems.de>
26852
2921d337 268532008-07-29 Christian Franke <franke@computer.org>
26854
26855 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
26856 Add conversion of emulated mount points on Cygwin.
26857
b609876d 268582008-07-29 Christian Franke <franke@computer.org>
26859
26860 * util/update-grub.in: Add a check for admin
26861 group on Cygwin.
26862 Remove old `grub.cfg.new' before creation.
26863 Add `-f' to `mv' to handle the different filesystem
26864 semantics of Windows.
26865
e93e4679 268662008-07-29 Bean <bean123ch@gmail.com>
26867
26868 * normal/main.c (get_line): Fix buffer overflow bug.
26869
41694fd0 268702008-07-28 Robert Millan <rmh@aybabtu.com>
26871
26872 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
26873 (struct grub_apple_header): New struct. Describes the layout of
26874 the partmap header.
26875 (apple_partition_map_iterate): Check the header magic as well as the
26876 partition magic (which was already being checked).
26877
cfd0b4e6 268782008-07-28 Pavel Roskin <proski@gnu.org>
26879
26880 * genmk.rb: Add a warning to the beginning of the output that
26881 it's a generated file and should not be edited.
26882
93cce016 268832008-07-28 Robert Millan <rmh@aybabtu.com>
26884
26885 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
26886 with the same number are found, just use issue a warning with
26887 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 26888
cd1df915 268892008-07-27 Robert Millan <rmh@aybabtu.com>
26890
26891 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
26892 information.
26893
b70a8427 268942008-07-27 Bean <bean123ch@gmail.com>
26895
26896 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
26897 (grub_fat_find_dir): Ignore case when comparing filename.
26898
8f5e379f 268992008-07-27 Bean <bean123ch@gmail.com>
26900
26901 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
26902 smallino, as it's more descriptive, and i8count can be confused with
26903 the other field count.
26904 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
26905 inode type.
26906
a85cd5a0 269072008-07-27 Bean <bean123ch@gmail.com>
26908
26909 * commands/crc.c: New file.
26910
26911 * lib/crc.c: Likewise.
26912
26913 * include/grub/lib/crc.h: Likewise.
26914
26915 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
26916
26917 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
26918 (hexdump): Move this function to ...
26919
26920 * lib/hexdump.c: ... here.
26921
26922 * include/grub/hexdump.h: Renamed to ...
26923
26924 * include/grub/lib/hexdump.h: ... this.
26925
26926 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
26927
26928 * util/grub-editenv.c: Likewise.
26929
26930 * include/envblk.h: Renamed to ...
26931
26932 * include/lib/envblk.h: ... this.
26933
26934 * util/envblk.c: Renamed to ...
26935
26936 * lib/envblk.c: ... this.
26937
26938 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
26939 lib/hexdump.c.
26940 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
26941 (pkglib_MODULES): Add crc.mod.
26942 (hexdump_mod_SOURCES): Add lib/hexdump.c.
26943 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
26944 (crc_mod_SOURCES): New macro.
26945 (crc_mod_CFLAGS): Likewise.
26946 (crc_mod_LDFLAGS): Likewise.
26947
26948 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
26949
26950 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26951
26952 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26953
26954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26955
26956 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26957
c298def0 269582008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 26959
26960 * commands/help.c: Include <grub/term.h>.
26961 (TERM_WIDTH): Removed. Updated all users.
26962
cc349fb3 269632008-07-27 Pavel Roskin <proski@gnu.org>
26964
26965 * util/getroot.c (find_root_device): Rephrase a comment to avoid
26966 spurious warnings about a comment within a comment.
26967
9051607e 269682008-07-25 Robert Millan <rmh@aybabtu.com>
26969
26970 * util/getroot.c (find_root_device): Skip devices that match
26971 /dev/dm-[0-9]. This lets the real device be found for any type of
26972 abstraction (LVM, EVMS, RAID..).
26973 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
26974 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
26975 device is found first, find_root_device() will now skip it.
26976
01453bfc 269772008-07-24 Pavel Roskin <proski@gnu.org>
26978
26979 * include/grub/types.h: Use __builtin_bswap32() and
26980 __builtin_bswap64() with gcc 4.3 and newer.
26981
6af9849f 269822008-07-24 Christian Franke <franke@computer.org>
26983
3a0fa256 26984 * util/i386/pc/grub-install.in: If `--debug' is specified,
26985 pass `--verbose' to grub-setup.
26986 Abort script if make_system_path_relative_to_its_root() fails.
26987
7810e747 269882008-07-24 Bean <bean123ch@gmail.com>
26989
26990 * configure.ac: Fixed a bug caused by the previous cygwin patch,
26991 variable `target_platform' should be `platform'.
26992
42290e17 269932008-07-24 Bean <bean123ch@gmail.com>
26994
51cc5193 26995 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 26996 (grub_png_init_fixed_block): New function.
26997 (grub_png_decode_image_data): Handle fixed huffman code compression.
26998
2a8a80e4 269992008-07-24 Bean <bean123ch@gmail.com>
27000
27001 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
27002 (grub_pe2elf_SOURCES): New macro.
27003 (CLEANFILES): Add grub-pe2elf.
27004
27005 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
27006 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
27007 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
27008 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
27009 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
27010 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
27011 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
27012 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
27013 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
27014 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
27015 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
27016 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
27017 (GRUB_PE32_DT_FUNCTION): Likewise.
27018 (GRUB_PE32_REL_I386_DIR32): Likewise.
27019 (GRUB_PE32_REL_I386_REL32): Likewise.
27020 (grub_pe32_symbol): New structure.
27021 (grub_pe32_reloc): Likewise.
27022
27023 * util/grub-pe2elf.c: New file.
27024
27025 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
27026 start symbol in non pc platform.
27027
27028 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
27029
27030 The following patches are from Christian Franke.
27031
27032 * include/grub/dl.h: Remove .previous, gas supports this only
27033 for ELF format.
27034
27035 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
27036 Remove .type, gas supports this only for ELF format.
27037
27038 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
27039 nullbytes in symbol table. This fixes an infinite loop if table is
27040 zero filled.
27041
27042 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
27043 TARGET_IMG_LDFLAGS and EXEEXT.
27044
27045 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
27046 TARGET_IMG_LDFLAGS_AC.
27047 (grub_CHECK_STACK_ARG_PROBE): New function.
27048
27049 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
27050
27051 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
27052
27053 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
27054 to set TARGET_IMG_LD* accordingly.
27055 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
27056 Add call to grub_CHECK_STACK_ARG_PROBE.
27057 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
27058
27059 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
27060
27061 * genmk.rb: Add EXEEXT to CLEANFILES.
27062
12ccdb75 270632008-07-23 Robert Millan <rmh@aybabtu.com>
27064
27065 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
27066 define the codes for arrows and lines used for the menu).
27067 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
27068 as well.
27069
27070 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
27071 fonts, because the latter are too slow.
27072
18eeaf04 270732008-07-21 Bean <bean123ch@gmail.com>
27074
27075 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
27076 a20. Run keyboard test last, as it will cause macbook to halt.
27077
b095e2ad 270782008-07-18 Pavel Roskin <proski@gnu.org>
27079
27080 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
27081 load foreign architecture modules correctly anyway. Keep
27082 support for loading host architecture modules, whether we
27083 compile them or not.
27084
737feb35 270852008-07-17 Pavel Roskin <proski@gnu.org>
27086
3f4ce737 27087 * configure.ac: Use -m32 or -m64 regardless of whether we had to
27088 change target_cpu. The compiler default can mismatch target_cpu
27089 in any case.
27090
4ad2d049 27091 * disk/efi/efidisk.c: Fix format warnings on x86_64.
27092 * kern/efi/efi.c: Likewise.
27093
f6130a12 27094 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
27095 target compiler is functional.
27096 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
27097 are set up.
27098
58393a2d 27099 * configure.ac: Default to efi platform for x86_64-apple. Allow
27100 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
27101 adjustments from the rest, only do them if target is not
27102 explicitly given. Merge other adjustments with the final sanity
27103 check. Remove an extraneous check for supported CPU. Be
27104 specific which CPU and which platform is not supported.
27105
737feb35 27106 * configure.ac: Default to pc platform for x86_64.
27107
546f966a 271082008-07-17 Robert Millan <rmh@aybabtu.com>
27109
27110 Partial LinuxBIOS -> Coreboot rename.
27111
27112 * conf/i386-linuxbios.rmk: Renamed to ...
27113 * conf/i386-coreboot.rmk: ... this.
27114 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
27115 * configure.ac: Accept "coreboot" as input platform (but maintain
27116 compatibility with "linuxbios").
27117 * include/grub/i386/linuxbios: Renamed to ...
27118 * include/grub/i386/coreboot: ... this.
27119
20011694 271202008-07-17 Bean <bean123ch@gmail.com>
27121
27122 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 27123 (appleldr_mod_SOURCE): New variable.
20011694 27124 (appleldr_mod_CFLAGS): Likewise.
27125 (appleldr_mod_LDFLAGS): Likewise.
27126 (pci_mod_SOURCES): Likewise.
27127 (pci_mod_CFLAGS): Likewise.
27128 (pci_mod_LDFLAGS): Likewise.
27129 (lspci_mod_SOURCES): Likewise.
27130 (lspci_mod_CFLAGS): Likewise.
27131 (lspci_mod_LDFLAGS): Likewise.
27132
27133 * conf/x86_64-efi.rmk: New file.
27134
27135 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
27136 macro.
27137 (grub_efidisk_write): Likewise.
27138
27139 * include/efi/api.h (efi_call_0): New macro.
27140 (efi_call_1): Likewise.
27141 (efi_call_2): Likewise.
27142 (efi_call_3): Likewise.
27143 (efi_call_4): Likewise.
27144 (efi_call_5): Likewise.
27145 (efi_call_6): Likewise.
27146
27147 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
27148 grub_rescue_cmd_chainloader.
27149
27150 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
27151 (grub_pe32_optional_header): Change some fields based on i386 or
27152 x86_64 platform.
27153 (GRUB_PE32_PE32_MAGIC): Likewise.
27154
27155 * include/grub/efi/uga_draw.h: New file.
27156
27157 * include/grub/elf.h (STN_ABS): New constant.
27158 (R_X86_64_NONE): Relocation constant for x86_64.
27159 (R_X86_64_64): Likewise.
27160 (R_X86_64_PC32): Likewise.
27161 (R_X86_64_GOT32): Likewise.
27162 (R_X86_64_PLT32): Likewise.
27163 (R_X86_64_COPY): Likewise.
27164 (R_X86_64_GLOB_DAT): Likewise.
27165 (R_X86_64_JUMP_SLOT): Likewise.
27166 (R_X86_64_RELATIVE): Likewise.
27167 (R_X86_64_GOTPCREL): Likewise.
27168 (R_X86_64_32): Likewise.
27169 (R_X86_64_32S): Likewise.
27170 (R_X86_64_16): Likewise.
27171 (R_X86_64_PC16): Likewise.
27172 (R_X86_64_8): Likewise.
27173 (R_X86_64_PC8): Likewise.
27174
27175 * include/grub/i386/efi/pci.h: New file.
27176
27177 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
27178 Change it value based on platform.
27179 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
27180 (GRUB_E820_RAM): Likewise.
27181 (GRUB_E820_RESERVED): Likewise.
27182 (GRUB_E820_ACPI): Likewise.
27183 (GRUB_E820_NVS): Likewise.
27184 (GRUB_E820_EXEC_CODE): Likewise.
27185 (GRUB_E820_MAX_ENTRY): Likewise.
27186 (grub_e820_mmap): New structure.
27187 (linux_kernel_header): Change the efi field according to different
27188 kernel version, also field from linux_kernel_header.
27189
27190 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
27191
27192 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
27193 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
27194 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
27195 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
27196 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
27197 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
27198 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
27199 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
27200 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
27201 (GRUB_PCI_ADDR_IO_MASK): Likewise.
27202
27203 * include/grub/x86_64/efi/kernel.h: New file.
27204
27205 * include/grub/x86_64/efi/loader.h: Likewise.
27206
27207 * include/grub/x86_64/efi/machine.h: Likewise.
27208
27209 * include/grub/x86_64/efi/pci.h: Likewise.
27210
27211 * include/grub/x86_64/efi/time.h: Likewise.
27212
27213 * include/grub/x86_64/linux.h: Likewise.
27214
27215 * include/grub/x86_64/setjmp.h: Likewise.
27216
27217 * include/grub/x86_64/time.h: Likewise.
27218
27219 * include/grub/x86_64/types.h: Likewise.
27220
27221 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
27222 GRUB_TARGET_SIZEOF_VOID_P.
27223
27224 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
27225 (grub_efi_locate_handle): Likewise.
27226 (grub_efi_open_protocol): Likewise.
27227 (grub_efi_set_text_mode): Likewise.
27228 (grub_efi_stall): Likewise.
27229 (grub_exit): Likewise.
27230 (grub_reboot): Likewise.
27231 (grub_halt): Likewise.
27232 (grub_efi_exit_boot_services): Likewise.
27233 (grub_get_rtc): Likewise.
27234
27235 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
27236 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
27237 (grub_efi_allocate_pages): Wrap efi calls.
27238 (grub_efi_free_pages): Wrap efi calls.
27239 (grub_efi_get_memory_map): Wrap efi calls.
27240
27241 * kern/x86_64/dl.c: New file.
27242
27243 * kern/x86_64/efi/callwrap.S: Likewise.
27244
27245 * kern/x86_64/efi/startup.S: Likewise.
27246
27247 * loader/efi/appleloader.c: Likewise.
27248
27249 * loader/efi/chainloader.c (cmdline): New variable.
27250 (grub_chainloader_unload): Wrap efi calls.
27251 (grub_chainloader_boot): Likewise.
27252 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
27253 command line.
27254
27255 * loader/efi/chainloader_normal.c (chainloader_command):
27256 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
27257 command line.
27258
27259 * loader/i386/efi/linux.c (allocate_pages): Change allocation
27260 method.
27261 (grub_e820_add_region): New function.
27262 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
27263 booting.
27264 (grub_find_video_card): New function.
27265 (grub_linux_setup_video): New function.
27266 (grub_rescue_cmd_linux): Probe for video information.
27267
27268 * normal/x86_64/setjmp.S: New file.
27269
27270 * term/efi/console.c (map_char): New function.
27271 (grub_console_putchar): Map unicode char.
27272 (grub_console_checkkey): Wrap efi calls.
27273 (grub_console_getkey): Likewise.
27274 (grub_console_getwh): Likewise.
27275 (grub_console_gotoxy): Likewise.
27276 (grub_console_cls): Likewise.
27277 (grub_console_setcolorstate): Likewise.
27278 (grub_console_setcursor): Likewise.
27279
27280 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
27281
59652a20 272822008-07-16 Pavel Roskin <proski@gnu.org>
27283
ef294055 27284 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
27285 format strings.
27286
59652a20 27287 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
27288 pointer, not an integer. This fixes a warning and prevents
27289 precision loss on 64-bit systems.
27290 (relocate_addresses): Remove unneeded cast.
27291
afc3b5d7 272922008-07-15 Pavel Roskin <proski@gnu.org>
27293
506b2b3e 27294 * kern/i386/ieee1275/init.c: Include grub/cache.h.
27295
62ead89c 27296 * term/ieee1275/ofconsole.c: Disable code unused on i386.
27297
c4cd51d7 27298 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
27299 Fix comparison between signed and unsigned.
27300
0d3d8f28 27301 * include/grub/i386/ieee1275/console.h: Declare
27302 grub_console_init() and grub_console_fini().
27303
8804b286 27304 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
27305 It's empty and unused.
27306
ee01cf35 27307 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
27308 beginning to avoid warnings with some compilers.
27309
afc3b5d7 27310 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
27311 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
27312
e4e8eaa5 273132008-07-14 Pavel Roskin <proski@gnu.org>
27314
407aceb4 27315 * kern/env.c (grub_register_variable_hook): Don't copy empty
27316 string, it leaks memory. Pass "" to grub_env_set(), it should
27317 handle constant strings.
27318
e4e8eaa5 27319 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
27320 * commands/cmp.c (grub_cmd_cmp): Likewise.
27321 * kern/dl.c (grub_dl_flush_cache): Likewise.
27322 (grub_dl_load_core): Likewise.
27323 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
27324 (grub_elf64_load_phdrs): Likewise.
27325
d4e2dad3 273262008-07-13 Pavel Roskin <proski@gnu.org>
27327
27328 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
27329 between signed and unsigned.
27330 (LzmaEnc_Finish): Fix warning about an unused parameter.
27331
aa24b516 273322008-07-13 Bean <bean123ch@gmail.com>
27333
27334 * Makefile.in (enable_lzo): New rule.
27335
27336 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
27337
27338 * configure.ac (ENABLE_LZO): New option --enable-lzo.
27339
27340 * boot/i386/pc/lnxboot.S: #include <config.h>.
27341
27342 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 27343 its value according to the compression algorithm used, lzo or lzma.
aa24b516 27344
27345 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
27346 compression algorithm according to configure macro.
27347
27348 * kern/i386/pc/startup.S (codestart): Likewise.
27349
27350 * kern/i386/pc/lzma_decode.S: New file.
27351
27352 * include/grub/lib/LzFind.h: Likewise.
27353
27354 * include/grub/lib/LzHash.h: Likewise.
27355
27356 * include/grub/lib/LzmaDec.h: Likewise.
27357
27358 * include/grub/lib/LzmaEnc.h: Likewise.
27359
27360 * include/grub/lib/LzmaTypes.h: Likewise.
27361
27362 * lib/LzFind.c: Likewise.
27363
27364 * lib/LzmaDec.c: Likewise.
27365
27366 * lib/LzmaEnc.c: Likewise.
27367
4ae821ac 273682008-07-13 Bean <bean123ch@gmail.com>
27369
27370 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
27371 (grub_ext4_extent_header): New structure.
27372 (grub_ext4_extent): Likewise.
27373 (grub_ext4_extent_idx): Likewise.
27374 (grub_ext4_find_leaf): New function.
27375 (grub_ext2_read_block): Handle extents.
27376
9a745147 273772008-07-12 Robert Millan <rmh@aybabtu.com>
27378
27379 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
27380
d49a4cf6 273812008-07-11 Robert Millan <rmh@aybabtu.com>
27382
27383 * util/grub.d/40_custom.in: New file. Example on how to add custom
27384 entries to /etc/grub.d.
27385 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
27386 40_custom (implicitly, by merging all the grub.d rules).
27387
947414b4 273882008-07-11 Pavel Roskin <proski@gnu.org>
27389
0059cf6f 27390 * commands/read.c (grub_getline): Fix invalid memory access.
27391 Don't add newline to the variable value.
27392
947414b4 27393 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
27394 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
27395 (serial_hw_get_port): Check validity of the port number.
27396 (grub_cmd_serial): Check return value of serial_hw_get_port().
27397
62a02d00 273982008-07-07 Pavel Roskin <proski@gnu.org>
27399
27400 * boot/i386/pc/diskboot.S (notification_string): Replace
27401 "Loading kernel" with just "loading". This is shorter, less
27402 confusing and saves a few bytes for possible future changes.
27403
3e5581b0 274042008-07-05 Pavel Roskin <proski@gnu.org>
27405
ea387a48 27406 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
27407 size for ATAPI devices, they are undefined. Output sector
27408 number in decimal form.
27409
3e5581b0 27410 * disk/ata.c: Use named constants for status bits.
27411
fdecb8fd 274122008-07-04 Pavel Roskin <proski@gnu.org>
27413
bcd35b90 27414 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
27415 grub_addr_t before casting it to the void pointer to fix a
27416 warning. Non-addressable regions are discarded earlier.
27417 (grub_arch_modules_addr): Cast _end to grub_addr_t.
27418 * kern/i386/linuxbios/table.c: Include grub/misc.h.
27419 (check_signature): Don't shadow table_header.
27420 (grub_linuxbios_table_iterate): Cast numeric constants to
27421 grub_linuxbios_table_header_t.
27422 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
27423 grub_stop().
27424
af58ab3d 27425 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
27426 prevent warnings.
27427
1759aa57 27428 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
27429 pointer, which can cause warnings. Support 64-bit addresses.
27430
fdecb8fd 27431 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
27432 of sizeof(long). This fixes PowerPC image generation on x86_64.
27433
8516d2a8 274342008-07-04 Robert Millan <rmh@aybabtu.com>
27435
27436 This fixes a performance issue when pc & gpt partmap iterators
27437 didn't abort iteration even after our hook found what it was
fe987087 27438 looking for (often causing expensive probes of non-existent drives).
8516d2a8 27439
27440 Some callers relied on previous buggy behaviour, since they would
34c44600 27441 raise an error when their own hooks caused early abortion of its
8516d2a8 27442 iteration.
27443
27444 * kern/device.c (grub_device_open): Improve error message.
27445 * disk/lvm.c (grub_lvm_open): Likewise.
27446 * disk/raid.c (grub_raid_open): Likewise.
27447
27448 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
27449 when hook requests it, independently of grub_errno.
27450 (pc_partition_map_probe): Do not fail when find_func() caused
27451 early abortion of pc_partition_map_iterate().
27452
27453 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
27454 when hook requests it, independently of grub_errno.
27455 (gpt_partition_map_probe): Do not fail when find_func() caused
27456 early abortion of gpt_partition_map_iterate().
27457
27458 * kern/partition.c (grub_partition_iterate): Abort parent iteration
27459 when hook requests it, independently of grub_errno. Do not fail when
27460 part_map_iterate_hook() caused early abortion of p->iterate().
27461
27462 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
27463 when grub_partition_iterate() returned with non-zero.
27464
277d0de9 274652008-07-03 Pavel Roskin <proski@gnu.org>
27466
27467 * disk/ata.c (grub_ata_pio_write): Check status before writing,
27468 like we do in grub_ata_pio_read().
27469 (grub_ata_readwrite): Always write individual sectors. Fix the
27470 sector count for the remainder.
27471 (grub_ata_write): Enable writing to ATA devices. Correctly
27472 report error for ATAPI devices.
27473
d4c9b428 274742008-07-02 Pavel Roskin <proski@gnu.org>
27475
e43fc690 27476 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
27477 warning.
27478
f707af42 27479 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
27480 for every read sector, we already increment it for the whole
27481 batch. This fixes reading more than 256 sectors at once.
27482
11e16b15 27483 * util/grub-editenv.c (cmd_info): Cast argument to long
27484 explicitly. ptrdiff_t reduces to int on i386.
27485
cbabfdd4 27486 * util/grub-editenv.c (main): Be specific which parameter is
27487 missing.
27488
b8fbce0a 27489 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
27490 (memdisk): Make memdisk_orig_addr a pointer.
27491
c9c8e606 27492 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
27493 for file offsets, use grub_off_t instead. Fix printf format
27494 warnings.
27495
ca62e598 27496 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
27497 there. Real unexpected warnings should not drown in the noise
27498 about known problems.
27499
ce8d1766 27500 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
27501 grub_disk_addr_t for memory addresses.
27502
00c7a56a 27503 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
27504 explicitly to fix a warning.
27505
08d3ef09 27506 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
27507
cb71ba20 27508 * Makefile.in (MODULE_LDFLAGS): New variable.
27509 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
27510 the linker accepts --build-id=none.
27511 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
27512 MODULE_LDFLAGS.
27513 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
27514
d4c9b428 27515 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
27516 those in Linux XFS code. Provide a way to access 64-bit parent
27517 inode.
27518 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
27519 the end of struct grub_xfs_dir_header.
27520
d4156eee 275212008-07-02 Bean <bean123ch@gmail.com>
27522
27523 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
27524 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27525 and GRUB_IEEE1275_FLAG_NO_ANSI.
27526
27527 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
27528 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27529 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
27530
27531 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
27532 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
27533
27534 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
27535 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
27536
27537 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
27538 esc sequence on non ANSI terminal.
27539 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
27540
27541 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
27542 beginning of file.
27543
2270f77b 275442008-07-02 Bean <bean123ch@gmail.com>
27545
27546 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
27547 (grub_editenv_SOURCES): New variable.
27548 (pkglib_MODULES): Add loadenv.mod.
27549 (loadenv_mod_SOURCES): New variable.
27550 (loadenv_mod_CFLAGS): Likewise.
27551 (loadenv_mod_LDFLAGS): Likewise.
27552
27553 * include/grub/envblk.h: New file.
27554
27555 * util/envblk.c: New file.
27556
27557 * util/grub-editenv.c: New file.
27558
27559 * commands/loadenv.c: New file.
27560
0e9e51ec 275612008-07-01 Pavel Roskin <proski@gnu.org>
27562
d89b7634 27563 * include/multiboot2.h (struct multiboot_tag_module): Use char,
27564 not unsigned char. This fixes warnings and is consistent with
27565 other tags.
27566
bf1835b1 27567 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
27568
8222a04b 27569 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
27570
6a42d99d 27571 * term/tparm.c (analyze): Always set *popcount.
27572
10b159d1 27573 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
27574 cast to fix a warning.
27575
b8789f6c 27576 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
27577 cast to suppress a warning.
27578
29d7e38a 27579 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
27580 grub_fshelp_read_file() expects.
27581
f341f669 27582 * fs/fat.c: Fix UUID calculation on big-endian systems. We
27583 write uuid as a 32-bit value in CPU byte order, so declare and
27584 use it as such.
27585
0e9e51ec 27586 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
27587 long if the format specifier expects it.
27588 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
27589 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27590 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
27591 long to fix a warning.
27592 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
27593 grub_dprintf() arguments to fix warnings.
27594
3aefa857 275952008-06-30 Pavel Roskin <proski@gnu.org>
27596
56c7668b 27597 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
27598 install_bsd_part immediately before core.img is embedded or
27599 modified on disk. This fixes core.img verification if core.img
27600 cannot be embedded.
27601
3aefa857 27602 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
27603 core_path to calculate the blocklist.
27604 Patch from Javier Martín <lordhabbit@gmail.com>
27605
5444088d 276062008-06-29 Robert Millan <rmh@aybabtu.com>
27607
27608 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
27609 block to disk block.
27610 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
27611 Patch from Niels Böhm <bitbucket@arcor.de>
27612
674835c8 276132008-06-29 Robert Millan <rmh@aybabtu.com>
27614
27615 * util/update-grub_lib.in (font_path): Search for fonts in
27616 /boot/grub first, which is more likely to be readable (we aren't
27617 deciding where fonts live, just looking for them).
27618
f527dbc8 276192008-06-26 Pavel Roskin <proski@gnu.org>
27620
6c2d8df6 27621 * util/biosdisk.c (read_device_map): Don't leave dead map
27622 entries for devices failing stat() check.
27623
f527dbc8 27624 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
27625 core_path_dev for the core.img path on the target device.
27626
aebe3d13 276272008-06-26 Robert Millan <rmh@aybabtu.com>
27628
27629 * disk/fs_uuid.c: New file.
27630 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
27631 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
27632 (fs_uuid_mod_LDFLAGS): New variables.
27633 * include/grub/disk.h (grub_disk_dev_id): Add
27634 `GRUB_DISK_DEVICE_UUID_ID'.
27635 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
27636 implement iterate().
27637
37aaf354 276382008-06-26 Robert Millan <rmh@aybabtu.com>
27639
27640 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
27641 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
27642 Linux image includes no initrd.
27643
25ff262a 276442008-06-21 Javier Martín <lordhabbit@gmail.com>
27645
27646 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
27647 call to resolve the core image location that effectively appended the
27648 name twice.
27649
76a2bd44 276502008-06-21 Robert Millan <rmh@aybabtu.com>
27651
27652 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
27653 call from here ...
27654
27655 * util/grub.d/10_hurd.in: ... to here ...
27656 * util/grub.d/10_linux.in: ... and here.
27657
650e1c79 276582008-06-19 Robert Millan <rmh@aybabtu.com>
27659
fe987087 27660 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 27661 after it has been set by grub_machine_set_prefix().
27662
6ce63911 276632008-06-19 Robert Millan <rmh@aybabtu.com>
27664
27665 * commands/search.c (search_label, search_fs_uuid, search_file): Print
27666 search result when not saving to variable, not the other way around.
27667 When saving to variable, abort iteration as soon as a match is found.
27668
73940cec 276692008-06-19 Robert Millan <rmh@aybabtu.com>
27670
27671 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
27672 check for partition that provides /boot/grub. Its logic is flawed,
27673 as it prevents prepare_grub_to_access_device() from being called
27674 multiple times.
27675
3c62a39d 276762008-06-19 Robert Millan <rmh@aybabtu.com>
27677
27678 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
27679 "insmod" command directly when abstraction modules are needed,
fe987087 27680 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 27681 since it had already been processed).
27682
47395a42 276832008-06-19 Pavel Roskin <proski@gnu.org>
27684
27685 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
27686 changed. This is needed in case GRUB_LIBDIR changes.
27687 * conf/i386-ieee1275.rmk: Likewise.
27688 * conf/i386-linuxbios.rmk: Likewise.
27689 * conf/i386-pc.rmk: Likewise.
27690 * conf/powerpc-ieee1275.rmk: Likewise.
27691
a145ac2d 276922008-06-18 Pavel Roskin <proski@gnu.org>
27693
27694 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
27695 kernel_elf_symlist.c to symlist.c for consistency with other
27696 architectures. Update all users.
27697 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27698
7847c51e 276992008-06-18 Robert Millan <rmh@aybabtu.com>
27700
27701 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
27702 it in prefix.
27703
27704 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
27705 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
27706 a RAID device, run setup() for all members independently on whether
27707 LVM abstraction is being used.
27708 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
27709 If grub-mkimage has set `*install_dos_part == -2', don't override this
27710 value.
27711 Perform *install_dos_part adjustments independently on whether
27712 we're embedding or not.
27713 Clarify error message when image is too big for embedding.
27714 Remove duplicate *install_dos_part stanza.
27715
b23e5644 277162008-06-17 Robert Millan <rmh@aybabtu.com>
27717
27718 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
27719 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
27720 variables.
27721 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
27722 values in grub_ofconsole_normal_color and
27723 grub_ofconsole_highlight_color (they're not directly related to
27724 background and foreground).
27725 (grub_ofconsole_setcolorstate): Extract background and foreground
27726 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
27727
0aac2f79 277282008-06-17 Robert Millan <rmh@aybabtu.com>
27729
27730 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
27731 /boot/grub for the check in last commit, not /boot (they could be
27732 different partitions).
27733
3cca7ef3 277342008-06-16 Robert Millan <rmh@aybabtu.com>
27735
27736 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
27737 asked to setup access for the same partition that provides /boot,
27738 don't bother using UUIDs since our root already has the value we
27739 want.
27740
347396d8 277412008-06-16 Robert Millan <rmh@aybabtu.com>
27742
27743 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
27744 I2O devices.
27745 Patch from Sven Mueller <sven@debian.org>.
27746
991477f8 277472008-06-16 Robert Millan <rmh@aybabtu.com>
27748
27749 * util/update-grub.in: Check for $EUID instead of $UID.
27750 Reported by Vincent Zweije.
27751
d31a32a1 277522008-06-16 Bean <bean123ch@gmail.com>
27753
fe987087 27754 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 27755 (grub_ext2_read_block): Likewise.
27756 (grub_ext2_read_inode): Likewise.
27757 (grub_ext2_mount): Likewise.
27758 (grub_ext2_close): Likewise.
27759 (grub_ext3_get_journal): Removed.
27760
fe987087 27761 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 27762 (grub_reiserfs_read_symlink): Likewise.
27763 (grub_reiserfs_mount): Likewise.
27764 (grub_reiserfs_open): Likewise.
27765 (grub_reiserfs_read): Likewise.
27766 (grub_reiserfs_close): Likewise.
27767 (grub_reiserfs_get_journal): Removed.
27768
27769 * fs/fshelp.c (grub_fshelp_read): Removed.
27770 (grub_fshelp_map_block): Likewise.
27771
27772 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
27773 (grub_fshelp_journal): Likewise.
27774 (grub_fshelp_read): Likewise.
27775 (grub_fshelp_map_block): Likewise.
27776
3540a760 277772008-06-16 Pavel Roskin <proski@gnu.org>
27778
27779 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
27780 floating point anymore.
27781 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
27782
95614c84 277832008-06-15 Pavel Roskin <proski@gnu.org>
27784
27785 * commands/ls.c (grub_ls_list_files): Use integer calculations
27786 for human readable format, avoid floating point use.
27787 * kern/misc.c (grub_ftoa): Remove.
27788 (grub_vsprintf): Remove floating point support.
27789
50465dd6 277902008-06-15 Robert Millan <rmh@aybabtu.com>
27791
fe6b695a 27792 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 27793 devices.
27794 Reported by Max Vozeler.
27795
a9207284 277962008-06-15 Robert Millan <rmh@aybabtu.com>
27797
27798 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
27799 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
27800 skipped later.
27801 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
27802 the beginning of the prefix.
27803
27804 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
27805 It is assumed that if we have a memdisk, grub-mkimage has set
27806 grub_prefix to include the "(memdisk)" drive in it.
27807
a7cbd45a 278082008-06-15 Robert Millan <rmh@aybabtu.com>
27809
27810 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
27811 Initialize keyboard controller after registering the terminal, so that
27812 grub_printf() can be called from grub_keyboard_controller_init().
27813
21cf716a 278142008-06-15 Robert Millan <rmh@aybabtu.com>
27815
27816 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
27817 extent-btree which is written as big endian on disk.
27818 Reported by Alain Greppin <al@chilibi.org>.
27819
23a64d8e 278202008-06-14 Robert Millan <rmh@aybabtu.com>
27821
27822 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
27823 * util/i386/pc/grub-install.in (modules): Likewise.
27824
d687651c 278252008-06-13 Pavel Roskin <proski@gnu.org>
27826
27827 * commands/ls.c (grub_ls_list_files): Fix format warnings.
27828
dfe9ddd4 278292008-06-13 Bean <bean123ch@gmail.com>
27830
27831 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
27832
27833 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
27834
27835 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
27836 to indicate sparse block.
27837
16ae7781 278382008-06-12 Pavel Roskin <proski@gnu.org>
27839
e6d1a308 27840 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
27841 number, grub_fshelp_read() does it for us.
27842
16ae7781 27843 * fs/fshelp.c (grub_fshelp_read): New function. Implement
27844 linear disk read with journal translation.
27845 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
27846 * include/grub/fshelp.h: Declare grub_fshelp_read().
27847
40fd3a2b 278482008-06-09 Pavel Roskin <proski@gnu.org>
27849
27850 * fs/minix.c (grub_minix_mount): Handle error reading
27851 superblock.
27852
f5679726 278532008-06-08 Robert Millan <rmh@aybabtu.com>
27854
27855 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
27856 don't append the RAID prefix afterwards.
27857 Reported by Clint Adams.
27858
ce525529 278592008-06-08 Robert Millan <rmh@aybabtu.com>
27860
27861 Based on description from Pavel:
27862 * kern/disk.c (grub_disk_check_range): Rename to ...
27863 (grub_disk_adjust_range): ... this. Add a comment explaining the
27864 tasks performed by this function.
27865
ad4936a0 278662008-06-08 Robert Millan <rmh@aybabtu.com>
27867
27868 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
27869 `num_serial' (for consistency with other variables).
27870 (struct grub_ntfs_data): Add `uuid' member.
27871 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
27872 (grub_ntfs_uuid): New function.
27873 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
27874
dc20b0f9 278752008-06-07 Pavel Roskin <proski@gnu.org>
27876
27877 * util/biosdisk.c (open_device): Revert last change to the
27878 function, it broke installation. The sector needs to be
27879 different dependent on which device is opened.
27880
c5e3cfba 278812008-06-06 Robert Millan <rmh@aybabtu.com>
27882
27883 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
27884 rest of GRUB, and breakage doesn't happen if its value were modified.
27885
27886 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27887 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
27888 a constant (same value).
27889 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
27890 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
27891
26a1f8c4 278922008-06-06 Robert Millan <rmh@aybabtu.com>
27893
27894 * util/biosdisk.c (open_device): Do not modify sector offset when
27895 accessing a partition. kern/disk.c already handles this for us.
27896
25d6b327 278972008-06-06 Robert Millan <rmh@aybabtu.com>
27898
27899 * util/grub-emu.c (grub_machine_init): Move code in this function from
27900 here ...
27901 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
27902 segfault in case grub_printf() is called).
27903
27904 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
27905 grub_probe. Update all users not to explicitly add it again.
27906 (grub_device): New variable; contains corresponding device for grubdir.
27907 (fs_module, partmap_module, devabstraction_module): Pass
27908 `--device ${grub_device}' to grub_probe to avoid traversing /dev
27909 every time.
27910
9ece62fb 279112008-06-05 Robert Millan <rmh@aybabtu.com>
27912
27913 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
27914 is found, print it (same layout as with labels).
27915
1ad36d37 279162008-06-04 Robert Millan <rmh@aybabtu.com>
27917
27918 * util/biosdisk.c (get_drive): Rename to ...
27919 (find_grub_drive): ... this. Update all users.
27920
27921 (get_os_disk): Rename to ...
27922 (convert_system_partition_to_system_disk): ... this. Update all users.
27923
27924 (find_drive): Rename to ...
27925 (find_system_device): ... this. Update all users.
27926
e6a30859 279272008-06-04 Robert Millan <rmh@aybabtu.com>
27928
27929 * util/biosdisk.c (get_os_disk): Handle IDA devices.
27930 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27931 (make_device_map): Likewise.
27932
00c108a4 279332008-06-01 Robert Millan <rmh@aybabtu.com>
27934
27935 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
27936 before dereferencing it.
27937
27938 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
27939 union with fat12/fat16-specific ones. Add some new fields, including
27940 `num_serial' for both versions.
27941 (struct grub_fat_data): Add `uuid' member.
27942 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
27943 names. Initialize `data->uuid' using `num_serial'.
27944 (grub_fat_uuid): New function.
27945 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
27946
27947 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
27948 (grub_reiserfs_uuid): New function.
27949 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
27950 member.
27951
27952 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
27953 (grub_xfs_uuid): New function.
27954 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
27955
1385c5bb 279562008-06-01 Robert Millan <rmh@aybabtu.com>
27957
27958 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
27959 code that is backward compatible with pre-uuid search command.
27960
c682dfd7 279612008-05-31 Robert Millan <rmh@aybabtu.com>
27962
27963 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
27964 floppies after everything else, to ensure floppy drive isn't accessed
27965 unnecessarily (patch from Bean).
27966
b7db5d47 279672008-05-31 Robert Millan <rmh@aybabtu.com>
27968
27969 * commands/search.c (search_label, search_fs_uuid, search_file): Do
27970 not print device names when we were asked to set a variable.
27971
6e037aa9 279722008-05-31 Robert Millan <rmh@aybabtu.com>
27973
27974 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
27975 using "cursor-on" and "cursor-off" commands (understood at least by
27976 the Open Firmware flavour on OLPC).
27977
41305bc8 279782008-05-31 Michael Gorven <michael@gorven.za.net>
27979
27980 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
27981 on and off sequences.
27982
69ba137e 279832008-05-31 Robert Millan <rmh@aybabtu.com>
27984
27985 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
27986 * util/update-grub.in: Likewise.
27987
520ae21b 279882008-05-30 Pavel Roskin <proski@gnu.org>
27989
27990 * util/biosdisk.c (linux_find_partition): Simplify logic and
27991 make the code more universal. Keep special processing for
27992 devfs, but use a simple rule for all other devices. If the
27993 device ends with a number, append 'p' and the partition number.
27994 Otherwise, append only the partition number.
27995
5786569b 279962008-05-30 Robert Millan <rmh@aybabtu.com>
27997
27998 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
27999 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
28000 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
28001 the `root' parameter to Linux.
28002
51500452 280032008-05-30 Robert Millan <rmh@aybabtu.com>
28004
28005 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
28006 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
28007 --fs_uuid with --fs-uuid.
28008 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
28009 all filesystems support them).
28010
811d3878 280112008-05-30 Robert Millan <rmh@aybabtu.com>
28012
28013 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 28014 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 28015
cab63c95 280162008-05-30 Robert Millan <rmh@aybabtu.com>
28017
28018 * util/grub.d/00_header.in: Remove obsolete comment referencing
28019 convert_system_path_to_grub_path().
28020 * util/update-grub.in: Likewise.
28021 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
28022 (convert_system_path_to_grub_path): Add a warning message explaining
28023 that this function is deprecated. Rely on is_path_readable_by_grub()
28024 for the readability checks.
28025 (font_path): Use is_path_readable_by_grub() for the readability
28026 check rather than convert_system_path_to_grub_path().
28027
972e2f7a 280282008-05-30 Robert Millan <rmh@aybabtu.com>
28029
28030 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
28031 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
28032 converting it first.
28033 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
28034 grub.cfg for access to font file, and afterwards call it again to set
28035 the root device.
28036
62191274 280372008-05-30 Robert Millan <rmh@aybabtu.com>
28038
28039 * commands/search.c (options): Add --fs_uuid option.
28040 (search_fs_uuid): New function.
28041 (grub_cmd_search): Fix --set argument passing.
28042 Use search_fs_uuid() when requested via --fs_uuid.
28043 (grub_search_init): Update help message.
28044 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
28045 and redeclare it as an array of 16-bit words.
28046 (grub_ext2_uuid): New function.
28047 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
28048 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
28049 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
28050 (GRUB_DEVICE_BOOT_UUID): New variables.
28051 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
28052 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
28053 whenever possible.
28054 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
28055 just assume `root' variable has the right value.
28056 * util/grub.d/10_linux.in: Likewise.
28057 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
28058 via PRINT_FS_UUID.
28059 (main): Recognise `-t fs_uuid' argument.
28060
01b73ec8 280612008-05-30 Robert Millan <rmh@aybabtu.com>
28062
28063 * util/biosdisk.c (map): Redefine structure to hold information
28064 about GRUB drive name.
fe6b695a 28065 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 28066 drive names.
28067 (call_hook): Remove.
28068 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
28069 member. Assume drive has partitions.
28070 (grub_util_biosdisk_open): Access device names via `.device' struct
28071 member.
28072 (open_device): Likewise.
28073 (find_drive): Likewise.
28074 (read_device_map): Adjust map[] usage to match the new struct
28075 definition. Don't check for duplicates (still possible, but not cheap
28076 anymore).
28077 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
28078 (make_device_name): Remove assumption of BIOS-like drive names.
28079
22f16596 280802008-05-30 Pavel Roskin <proski@gnu.org>
28081
28082 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
28083 compiling execute.c doesn't need grub_script.tab.h anymore.
28084 (normal/command.c_DEPENDENCIES): Likewise.
28085 (normal/function.c_DEPENDENCIES): Likewise.
28086 * conf/i386-ieee1275.rmk: Likewise.
28087 * conf/i386-linuxbios.rmk: Likewise.
28088 * conf/i386-pc.rmk: Likewise.
28089 * conf/powerpc-ieee1275.rmk: Likewise.
28090 * conf/sparc64-ieee1275.rmk: Likewise.
28091
528ad8f2 280922008-05-29 Pavel Roskin <proski@gnu.org>
28093
d1dff95d 28094 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
28095 when scanning metadata for volume group name.
28096
528ad8f2 28097 * include/grub/script.h: Don't include grub_script.tab.h. It's
28098 a generated file, which may only be included from the files with
28099 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
28100 use union YYSTYPE, as the later allows forward declaration.
28101 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
28102
47248e08 281032008-05-29 Robert Millan <rmh@aybabtu.com>
28104
28105 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
28106 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
28107 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
28108 (grub_console_checkkey): Add grub_dprintf() call to report unknown
28109 scan codes.
28110
ee632529 281112008-05-29 Robert Millan <rmh@aybabtu.com>
28112
28113 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
28114 control key combinations.
28115
eee96e08 281162008-05-29 Robert Millan <rmh@aybabtu.com>
28117
28118 * util/powerpc/ieee1275/grub-install.in: Move from here ...
28119 * util/ieee1275/grub-install.in: ... to here.
28120 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
28121 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
28122 (grub_install_SOURCES): Likewise.
28123
da9a6a94 281242008-05-29 Robert Millan <rmh@aybabtu.com>
28125
28126 * fs/affs.c: Update copyright year.
28127 * fs/ext2.c: Likewise.
28128 * fs/fshelp.c: Likewise.
28129 * fs/hfsplus.c: Likewise.
28130 * fs/ntfs.c: Likewise.
28131 * fs/xfs.c: Likewise.
28132 * include/grub/fshelp.h: Likewise.
28133 * util/grub-mkdevicemap.c: Likewise.
28134
12e65f3a 281352008-05-28 Robert Millan <rmh@aybabtu.com>
28136
28137 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
28138 might need to be fatfs to support some firmware implementations
28139 (e.g. OFW or EFI).
28140
23023641 281412008-05-28 Robert Millan <rmh@aybabtu.com>
28142
28143 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
28144 devices.
28145 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28146 (make_device_map): Likewise.
28147
887d2619 281482008-05-20 Bean <bean123ch@gmail.com>
28149
28150 * fs/fshelp.c (grub_fshelp_map_block): New function.
28151 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
28152 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
28153
28154 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
28155 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
28156 (grub_fshelp_journal): New structure.
28157 (grub_fshelp_map_block): New function prototype.
28158 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
28159 (grub_fshelp_map_block): Likewise.
28160
28161 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
28162 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
28163 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
28164 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
28165 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
28166 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
28167 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
28168 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
28169 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
28170 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
28171 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
28172 (grub_ext2_sblock): New members for journal support.
28173 (grub_ext3_journal_header): New structure.
28174 (grub_ext3_journal_revoke_header): Likewise.
28175 (grub_ext3_journal_block_tag): Likewise.
28176 (grub_ext3_journal_sblock): Likewise.
28177 (grub_fshelp_node): New members logfile and journal.
28178 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
28179 grub_fshelp_map_block to get real block number.
28180 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
28181 number.
28182 (grub_ext2_read_inode): Likewise.
28183 (grub_ext3_get_journal): New function.
28184 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
28185 (grub_ext2_close): Release memory used by journal.
28186
28187 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
28188 (REISERFS_MAGIC_DESC_BLOCK): New macro.
28189 (grub_reiserfs_transaction_header): Renamed to
28190 grub_reiserfs_description_block, replace field data with real_blocks.
28191 (grub_reiserfs_commit_block): New structure.
28192 (grub_reiserfs_data): New member journal.
28193 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
28194 number.
28195 (grub_reiserfs_read_symlink): Likewise.
28196 (grub_reiserfs_iterate_dir): Likewise.
28197 (grub_reiserfs_open): Likewise.
28198 (grub_reiserfs_read): Likewise.
28199 (grub_reiserfs_get_journal): New function.
28200 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
28201 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
28202 using grub_reiserfs_get_journal.
28203 (grub_reiserfs_close): Release memory used by journal.
28204
28205 * fs/affs.c (grub_affs_read_block): Change block type to
28206 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
28207
28208 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
28209
28210 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
28211
28212 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
28213
28214 * fs/udf.c (grub_udf_read_block): Change block type to
28215 grub_disk_addr_t. Use type cast to avoid warning.
28216
28217 * fs/xfs.c (grub_xfs_read_block): Likewise.
28218
b7c6bed5 282192008-05-16 Christian Franke <franke@computer.org>
28220
28221 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
28222 to ensure that break with ESC will always work.
28223 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
28224 Remove ESC from keyboard queue.
28225
eedf167f 282262008-05-16 Christian Franke <franke@computer.org>
28227
28228 * util/biosdisk.c: [__CYGWIN__] Add includes.
28229 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
28230 (get_os_disk): Move variable declarations to OS specific
28231 parts to avoid warning.
28232 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
28233 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
28234 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
28235 Cygwin.
28236 * util/getroot.c: [__CYGWIN__] Add includes.
28237 (strip_extra_slashes): Fix "/" case.
28238 [__CYGWIN__] (get_win32_path): New function.
28239 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
28240 [__CYGWIN__] (find_root_device): Disable.
28241 [__CYGWIN__] (get_bootsec_serial): New function.
28242 [__CYGWIN__] (find_cygwin_root_device): Likewise.
28243 [__linux__] (grub_guess_root_device): Add early returns to simplify
28244 structure.
28245 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
28246 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
28247 check for Linux only.
28248
a079699e 282492008-05-15 Bean <bean123ch@gmail.com>
28250
28251 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
28252 keyboard hang problem in apple's intel mac.
28253
1cf4059a 282542008-05-09 Robert Millan <rmh@aybabtu.com>
28255
28256 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
28257 devices.
28258 * util/grub-mkdevicemap.c (get_virtio_disk_name)
28259 (make_device_map): Likewise.
28260 Reported by Aurelien Jarno <aurel32@debian.org>
28261
ed759390 282622008-05-07 Ian Campbell <ijc@hellion.org.uk>
28263
28264 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
28265 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
28266 (make_device_map): Output entries for xvd type disks.
28267
b56c4eaa 282682008-05-07 Robert Millan <rmh@aybabtu.com>
28269
28270 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
28271 devices.
28272 * util/grub-mkdevicemap.c (get_cciss_disk_name)
28273 (make_device_map): Likewise.
28274 Reported by Roland Dreier <rdreier@cisco.com>
28275
7f8866ed 282762008-05-07 Robert Millan <rmh@aybabtu.com>
28277
28278 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
28279 grub_strstr() call. Correct a few mistakes in failure path handling.
28280
b0346e0f 282812008-05-06 Robert Millan <rmh@aybabtu.com>
28282
28283 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28284 Do not print a trailing slash (therefore, the root directory is an
28285 empty string).
28286 (convert_system_path_to_grub_path): Do not remove trailing slash
28287 from make_system_path_relative_to_its_root() output.
28288
28289 * util/i386/pc/grub-install.in: Add trailing slash to output from
28290 make_system_path_relative_to_its_root().
28291
6cf12cbd 282922008-05-06 Robert Millan <rmh@aybabtu.com>
28293
28294 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
28295 ensures that output lines aren't intermangled with those sent to
28296 stderr (via grub_util_info()).
28297 * util/grub-probe.c (grub_refresh): Likewise.
28298 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
28299
0fbb3117 283002008-05-05 Christian Franke <franke@computer.org>
28301
28302 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
28303 Add Cygwin device names.
28304 (get_ide_disk_name) [__CYGWIN__]: Likewise.
28305 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
28306 (check_device): Return error instead of success on empty name.
28307 (make_device_map): Move label inside linux specific code to
28308 prevent compiler warning.
28309
8124cdb7 283102008-04-30 Robert Millan <rmh@aybabtu.com>
28311
28312 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
28313 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
28314 first boot option.
28315 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
28316
094c01d0 283172008-04-29 Robert Millan <rmh@aybabtu.com>
28318
28319 * docs/grub.cfg: New file (example GRUB configuration).
28320
f4b1fc02 283212008-04-26 Robert Millan <rmh@aybabtu.com>
28322
329ce2a5 28323 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
28324 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
28325 and `disk/ieee1275/nand.c'.
f4b1fc02 28326
25f16ec1 283272008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 28328
25f16ec1 28329 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
28330 i386-linuxbios.
28331
28332 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
28333 change the buffer size to 4096 for cdrom device.
28334
28335 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
28336 and nand.mod.
28337 (_linux_mod_SOURCES): New variable.
28338 (_linux_mod_CFLAGS): Likewise.
28339 (_linux_mod_LDFLAGS): Likewise.
28340 (linux_mod_SOURCES): Likewise.
28341 (linux_mod_CFLAGS): Likewise.
28342 (linux_mod_LDFLAGS): Likewise.
28343 (nand_mod_SOURCES): Likewise.
28344 (nand_mod_CFLAGS): Likewise.
28345 (nand_mod_LDFLAGS): Likewise.
28346
28347 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
28348 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
28349 type property. (nand device in olpc don't have this property)
28350
28351 * include/grub/disk.h (grub_disk_dev_id): New macro
28352 GRUB_DISK_DEVICE_NAND_ID.
28353
28354 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
28355 function prototype.
28356 (grub_rescue_cmd_initrd): Likewise.
28357
28358 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
28359 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
28360 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 28361
25f16ec1 28362 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
28363 GRUB_MACHINE_IEEE1275 is defined.
28364
28365 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
28366 Use NESTED_FUNC_ATTR attribute on the hook parameter.
28367
28368 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
28369 on nested function heap_init.
28370 (grub_upper_mem): New variable for i386-ieee1275.
28371 (grub_get_extended_memory): New function for i386-ieee1275.
28372 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
28373
28374 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
28375 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
28376 property.
f19dbdb7 28377
25f16ec1 28378 * loader/i386/ieee1275/linux.c: New file.
28379
28380 * loader/i386/ieee1275/linux_normal.c: New file.
28381
28382 * disk/ieee1275/nand.c: New file.
28383
e89d61e9 283842008-04-18 Thomas Schwinge <tschwinge@gnu.org>
28385
28386 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
28387 value.
28388 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
28389
602566f6 283902008-04-18 Robert Millan <rmh@aybabtu.com>
28391
28392 Restructures early code path on ieee1275 to unify grub_main() as
28393 the first C function that is executed in every platform.
28394
28395 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
28396 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
28397 cmain().
28398 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
28399 * kern/ieee1275/cmain.c (cmain): Rename to ...
28400 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
28401 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
28402 at the beginning.
28403
57490c2b 284042008-04-18 Robert Millan <rmh@aybabtu.com>
28405
28406 * util/update-grub.in: Fix syntax error when setting
28407 `GRUB_PRELOAD_MODULES'.
28408 Reported by Stephane Chazelas <stephane@artesyncp.com>
28409
1977517d 284102008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
28411
28412 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
28413 section into account, newer toolchains generate unique build ids
28414 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 28415 we want build ids to be preserved
1977517d 28416 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
28417 far from other sections don't cause the raw binary images grow
28418 size
28419
bfb1f1a2 284202008-04-15 Robert Millan <rmh@aybabtu.com>
28421
28422 * disk/lvm.c: Update copyright year.
28423 * kern/misc.c: Likewise.
28424
01979850 284252008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28426
28427 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 28428 there is no memory left for physical volume name.
01979850 28429
0a1150e2 284302008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28431
28432 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
28433 volume name mapping to support bigger than 9 character names properly.
28434
82ead3fe 284352008-04-13 Robert Millan <rmh@aybabtu.com>
28436
28437 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
28438 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
28439
e54a72f5 284402008-04-13 Christian Franke <franke@computer.org>
28441
28442 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
28443 to create a floppy emulation boot CD when non emulation mode
28444 does not work.
28445 Enable Joliet CD filesystem extension.
28446
9fe86034 284472008-04-13 Robert Millan <rmh@aybabtu.com>
28448
28449 * kern/misc.c (grub_strncat): Fix off-by-one error.
28450 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
28451
28452 * kern/env.c (grub_env_context_close): Clear current context, not
28453 previous one.
28454 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
28455
28456 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
28457
7ceeee39 284582008-04-13 Robert Millan <rmh@aybabtu.com>
28459
28460 Improve robustness when handling LVM.
28461
28462 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 28463 (and leave `*p' unmodified).
7ceeee39 28464 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
28465 through it.
28466 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
28467 iterating through it.
28468 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
28469 through it.
fe6b695a 28470 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 28471 when due) on each grub_lvm_getvalue() or grub_strstr() call.
28472 Don't assume `vg->pvs != NULL' when iterating through it.
28473
58cd3d85 284742008-04-13 Robert Millan <rmh@aybabtu.com>
28475
28476 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
28477 * genmk.rb (partmap): New variable.
28478 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
28479 (#{partmap}): New target rule.
28480 * genpartmaplist.sh: New file.
28481 * Makefile.in (pkglib_DATA): Add partmap.lst.
28482 (partmap.lst): New target rule.
28483 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
28484 modules (including all partition maps), instead of preloading them.
28485
78b51059 284862007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
28487
28488 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
28489 `linux-boot-prober' (if installed) to detect other operating
28490 systems which are installed on the computer and add them to
28491 the boot menu.
28492 * conf/common.rmk: Build and install 30_os-prober.
28493
a91627b4 284942008-04-12 Robert Millan <rmh@aybabtu.com>
28495
28496 * kern/powerpc/ieee1275/init.c: Move from here ...
28497 * kern/ieee1275/init.c: ... to here. Update all users.
28498
28499 * kern/powerpc/ieee1275/cmain.c: Move from here ...
28500 * kern/ieee1275/cmain.c: ... to here. Update all users.
28501
28502 * kern/powerpc/ieee1275/openfw.c: Move from here ...
28503 * kern/ieee1275/openfw.c: ... to here. Update all users.
28504
28505 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
28506 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
28507
322562ea 285082008-04-10 Pavel Roskin <proski@gnu.org>
28509
28510 * configure.ac: Always use "_cv_" in cache variables for
28511 compatibility with Autoconf 2.62.
28512
a02a73c5 285132008-04-07 Robert Millan <rmh@aybabtu.com>
28514
28515 Revert grub/machine/init.h addition by Pavel (since it breaks on
28516 i386-ieee1275 and others):
28517 * util/i386/pc/misc.c: Remove grub/machine/init.h.
28518 * util/powerpc/ieee1275/misc.c: Likewise.
28519
25c024b1 285202008-04-07 Robert Millan <rmh@aybabtu.com>
28521
28522 * util/grub-probe.c (probe): Improve error message.
28523
3cbd2f98 285242008-04-07 Robert Millan <rmh@aybabtu.com>
28525
28526 * util/biosdisk.c (read_device_map): Skip devices that don't exist
28527 (this prevents the presence of a bogus entry from ruining the whole
28528 thing).
28529
87a297bf 285302008-04-06 Pavel Roskin <proski@gnu.org>
28531
36747a62 28532 * util/biosdisk.c: Include grub/util/biosdisk.h.
28533 * util/grub-fstest.c (execute_command): Make static.
28534 * util/grub-mkdevicemap.c (check_device): Likewise.
28535 * util/i386/pc/misc.c: Include grub/machine/init.h.
28536 * util/powerpc/ieee1275/misc.c: Likewise.
28537 * util/lvm.c: Include grub/util/lvm.h.
28538 * util/misc.c: Include grub/kernel.h, grub/misc.h and
28539 grub/cache.h.
28540 * util/raid.c: Include grub/util/raid.h.
28541 (grub_util_getdiskname): Make static.
28542
87a297bf 28543 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
28544 grub_hostfs_fini(), as they are called from grub_init_all() and
28545 grub_fini_all() respectively. This fixes an infinite loop in
28546 grub-fstest due to double registration of hostfs.
28547 Reported by Christian Franke <Christian.Franke@t-online.de>
28548
f6ce7629 285492008-04-05 Pavel Roskin <proski@gnu.org>
28550
28551 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
28552 all 8 functions. Otherwise, probe function 0 only.
28553
070e49e4 285542008-04-04 Pavel Roskin <proski@gnu.org>
28555
8b088a4c 28556 * commands/lspci.c (grub_lspci_iter): Print the bus number
28557 correctly.
28558
4f657021 28559 * commands/lspci.c (grub_pci_classes): Fix typos.
28560 (grub_lspci_iter): Don't print func twice. Print vendor ID
28561 before device ID, as it's normally done.
28562
070e49e4 28563 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28564 Fix signedness warnings.
28565 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
28566 Likewise.
28567 * util/ieee1275/get_disk_name.c: Include config.h so that
28568 _GNU_SOURCE is defined and getline() is declared. Mark an
28569 unused argument as such. Fix a signedness warning.
28570
ba7328dc 285712008-04-02 Pavel Roskin <proski@gnu.org>
28572
26887f22 28573 * genkernsyms.sh.in: Use more robust assignments for CC and
28574 srcdir. Quote srcdir.
28575 * gensymlist.sh.in: Likewise. Assert at the compile time that
28576 the symbol table is not empty.
28577
ba7328dc 28578 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
28579 * fs/cpio.c (grub_cpio_read): Likewise.
28580
0f582c6b 285812008-04-01 Pavel Roskin <proski@gnu.org>
28582
4b6e1995 28583 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
28584 * disk/host.c (grub_host_open): Likewise.
28585 * disk/loopback.c (grub_loopback_open): Likewise.
28586 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
28587 disk->id as in disk/host.c, not a multi-character constant.
28588
828a2768 28589 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
28590 later is obsolete, potentially dangerous and sets a bad example.
28591 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
28592 * util/misc.c (grub_util_get_image_size): Likewise.
28593
2bb4fb47 28594 * disk/loopback.c (options): Improve help for "--partitions".
28595
0f582c6b 28596 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
28597 options to align them with the short options, e.g. "echo -e".
28598
a33224e0 285992008-03-31 Bean <bean123ch@gmail.com>
28600
28601 * video/reader/png.c (grub_png_data): New member is_16bit and
28602 image_data.
28603 (grub_png_decode_image_header): Detect 16 bit png image.
28604 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
28605 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
28606 (grub_video_reader_png): Release memory occupied by image_data.
28607
28608 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
28609 4096 bytes.
28610 (grub_nfs_mount): Skip the test for sector per cluster.
28611
28612 * include/grub/ntfs.h (MAX_SPC): Removed.
28613
86cb4f54 286142008-03-31 Bean <bean123ch@gmail.com>
28615
28616 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
28617 (grub_probe_SOURCES): Add fs/afs.c.
28618 (grub_fstest_SOURCES): Likewise.
28619 (afs_mod_SOURCES): New variable.
28620 (afs_mod_CFLAGS): Likewise.
28621 (afs_mod_LDFLAGS): Likewise.
28622
28623 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
28624 (grub_emu_SOURCES): Likewise.
28625
28626 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28627
28628 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28629
28630 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28631
28632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28633
28634 * fs/afs.c: New file.
28635
17c74c21 286362008-03-30 Pavel Roskin <proski@gnu.org>
28637
4cb68e89 28638 * disk/host.c: Include grub/misc.h to fix a warning.
28639 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
28640 warnings about implicit declarations.
28641
8790bb04 28642 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
28643 variable.
28644 * include/grub/i386/loader.h: Change declaration of
28645 grub_linux_boot() to match what grub_loader_set() expects.
28646 * util/getroot.c (grub_guess_root_device): Return const char* to
28647 fix a warning.
28648 * util/grub-probe.c (probe): Fix a warning about uninitialized
28649 abstraction_name variable.
28650 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
28651 second argument as unused to fix a warning.
28652
9a3f3296 28653 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
28654 missing grub_error() call.
28655
0ecef90d 28656 * util/update-grub_lib.in: Define datarootdir, since Autoconf
28657 2.60 and newer uses it to define datadir.
28658
0bf6d401 28659 * commands/sleep.c: Fix warning about implicit declaration.
28660 * disk/memdisk.c: Likewise.
28661 * loader/aout.c: Likewise.
28662 * loader/i386/bsd_normal.c: Likewise.
28663 * util/grub-probe.c: Likewise.
28664
7cdacf97 28665 * commands/i386/cpuid.c (has_longmode): Make static.
28666 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
28667 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
28668
17c74c21 28669 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
28670 GDT. This is more robust, as %ds can change.
28671 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
28672 calling real_to_prot().
28673 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
28674
80a3e68b 286752008-03-28 Pavel Roskin <proski@gnu.org>
28676
28677 * kern/i386/pc/startup.S: Assert that uncompressed functions
28678 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
28679 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
28680 code, as they push parts of the code (error handlers) beyond
28681 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
28682 code as correctness and size.
28683
77bcd272 286842008-03-28 Pavel Roskin <proski@gnu.org>
28685
28686 * kern/i386/pc/startup.S
28687 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
28688 data block address to the real mode, keep offset minimal. This
28689 works around a bug in AWARD BIOS on old Athlon systems, which
28690 makes CD detection hang.
28691
c5dfd43b 286922008-03-26 Pavel Roskin <proski@gnu.org>
28693
28694 * normal/color.c (grub_parse_color_name_pair): Make `name' a
28695 const.
28696 * include/grub/normal.h: Add grub_parse_color_name_pair()
28697 declaration.
28698
bf962df2 286992008-03-24 Bean <bean123ch@gmail.com>
28700
28701 * disk/i386/pc/biosdisk.c (cd_start): Removed.
28702 (cd_count): Removed.
28703 (cd_drive): New variable.
28704 (grub_biosdisk_get_drive): Don't check for (cdN) device.
28705 (grub_biosdisk_call_hook): Likewise.
28706 (grub_biosdisk_iterate): Change cdrom detection method.
28707 (grub_biosdisk_open): Replace cd_start with cd_drive.
28708 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
28709 detect cdrom device.
28710
28711 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
28712 Removed.
28713 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
28714 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
28715 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
28716 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
28717 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
28718 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
28719 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
28720 (grub_biosdisk_cdrp): New structure.
28721 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
28722
28723 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
28724
28725 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
28726 device.
28727
28728 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
28729 New function.
28730
68e7fc7a 287312008-03-20 Robert Millan <rmh@aybabtu.com>
28732
28733 Remove 2 TiB limit in ata.mod.
28734 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
28735 (grub_ata_dumpinfo): Print sector count with 0x%llx.
28736 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
28737 grub_uint64_t instead of grub_uint32_t.
28738
38ad2cf5 287392008-03-05 Bean <bean123ch@gmail.com>
28740
28741 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
28742 (grub_multiboot): Set boot device.
28743
28744 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
28745
2b89344e 287462008-03-02 Bean <bean123ch@gmail.com>
28747
28748 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
28749 symlink_buffer.
28750
87a95d1f 287512008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
28752
28753 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
28754 texinfo.tex.
28755
28756 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
28757 modified.
28758
28759 * docs/fdl.texi: New file.
f19dbdb7 28760
87a95d1f 28761 * docs/mdate-sh: New file. Copied from gnulib.
28762 * docs/texinfo.tex: Likewise.
28763
28764 * config.guess: Updated from gnulib.
28765 * install-sh: Likewise.
28766
7dc15d8e 287672008-02-28 Robert Millan <rmh@aybabtu.com>
28768
28769 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
28770 (aout_mod_SOURCES): New variable.
28771 (aout_mod_CFLAGS): Likewise.
28772 (aout_mod_LDFLAGS): Likewise.
28773
28774 * conf/i386-ieee1275.rmk: Likewise.
28775
b00ab696 287762008-02-28 Robert Millan <rmh@aybabtu.com>
28777
28778 * util/update-grub.in: Reorganise terminal validity check. Accept
28779 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
28780 Based on suggestion by Franklin PIAT.
28781
79ca2d78 287822008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
28783
28784 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
28785 function.
28786 * util/getroot.c (grub_util_check_block_device): New function that
28787 returns the given argument if it is a block device and returns NULL else.
28788 * util/grub-probe.c (argument_is_device): New variable.
28789 (probe): Promote device_name from a variable to an argument. Receive
28790 device_name from grub_util_check_block_device() if path is NULL and from
28791 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 28792 (options): Introduce new parameter '-d, --device'.
79ca2d78 28793 (main): Add description of the new parameter to the help screen.
28794 Rename path variable to argument. Set argument_is_device if the '-d'
28795 option is given. Pass argument to probe() depending on
28796 argument_is_device.
28797
0d16e571 287982008-02-24 Bean <bean123ch@gmail.com>
28799
28800 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
28801 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
28802 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
28803 (GRUB_ISO9660_VOLDESC_PART): Likewise.
28804 (GRUB_ISO9660_VOLDESC_END): Likewise.
28805 (grub_iso9660_primary_voldesc): New member escape.
28806 (grub_iso9660_data): New member joliet.
28807 (grub_iso9660_convert_string): New function.
28808 (grub_iso9660_mount): Detect joliet extension.
28809 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
28810 (grub_iso9660_iso9660_label): Likewise.
28811
28812 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
28813 (grub_setup_SOURCES): Add fs/udf.c.
28814 (grub_fstest_SOURCES): Likewise.
28815 (udf_mod_SOURCES): New variable.
28816 (udf_mod_CFLAGS): Likewise.
28817 (udf_mod_LDFLAGS): Likewise.
28818
28819 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
28820 (grub_emu_SOURCES): Likewise.
28821
28822 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28823
28824 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28825
28826 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28827
28828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28829
28830 * fs/udf.c: New file.
28831
8a594a17 288322008-02-24 Robert Millan <rmh@aybabtu.com>
28833
28834 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
28835 (normal/lexer.c_DEPENDENCIES): New variables.
28836 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28837 (normal/lexer.c_DEPENDENCIES): Likewise.
28838 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
28839 (normal/lexer.c_DEPENDENCIES): Likewise.
28840 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
28841 (normal/lexer.c_DEPENDENCIES): Likewise.
28842 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28843 (normal/lexer.c_DEPENDENCIES): Likewise.
28844 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28845 (normal/lexer.c_DEPENDENCIES): Likewise.
28846
2dc33c03 288472008-02-23 Robert Millan <rmh@aybabtu.com>
28848
28849 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
28850 since they were intended to be in hex. This didn't break previously
28851 because of a bug in gpt_partition_map_iterate() (see below).
28852
28853 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
28854 when checking the validity of GPT header.
28855 Remove `partno', since it always provides the same information as `i'.
28856
f6f4cfb0 288572008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
28858
28859 * include/grub/efi/time.h: Fix a wrong comment.
28860
79ff665f 288612008-02-19 Pavel Roskin <proski@gnu.org>
28862
28863 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
28864 message.
28865
d38e24c2 288662008-02-19 Bean <bean123ch@gmail.com>
28867
28868 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
28869 (aout_mod_SOURCES): New variable.
28870 (aout_mod_CFLAGS): Likewise.
28871 (aout_mod_LDFLAGS): Likewise.
28872 (_bsd_mod_SOURCES): New variable.
28873 (_bsd_mod_CFLAGS): Likewise.
28874 (_bsd_mod_LDFLAGS): Likewise.
28875 (bsd_mod_SOURCES): New variable.
28876 (bsd_mod_CFLAGS): Likewise.
28877 (bsd_mod_LDFLAGS): Likewise.
28878
28879 * include/grub/aout.h: New file.
28880
28881 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
28882
28883 * include/grub/i386/bsd.h: New file.
28884
28885 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
28886 to make it public.
28887
28888 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
28889 function is called, so that it's possible to change it inside the hook.
28890 (grub_elf64_load): Likewise.
28891 (grub_elf_file): Don't close the file if elf header is not found.
28892 (grub_elf_close): Close the file if grub_elf_file fails (The new
28893 grub_elf_file won't close it).
28894 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
28895 (grub_elf64_size): Likewise.
28896
28897 * kern/i386/loader.S (grub_unix_real_boot): New function.
28898
28899 * loader/aout.c: New file.
28900
28901 * loader/i386/bsd.c: New file.
28902
28903 * loader/i386/bsd_normal.c: New file.
28904
28905 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
28906
28907 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 28908 can test other formats.
d38e24c2 28909
b93bdb0f 289102008-02-19 Robert Millan <rmh@aybabtu.com>
28911
28912 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
28913 (grub_gpt_partition_type_empty): Redefine with macro from
28914 `<grub/gpt_partition.h>'.
28915 (gpt_partition_map_iterate): Adjust partition type comparison.
28916
28917 Export `entry' as partmap-specific `part.data' struct.
28918 (grub_gpt_header, grub_gpt_partentry): Move from here ...
28919
28920 * include/grub/gpt_partition.h (grub_gpt_header)
28921 (grub_gpt_partentry): ... to here (new file).
28922
28923 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
28924
28925 (grub_gpt_partition_type_bios_boot): New const variable, defined
28926 with macro from `<grub/gpt_partition.h>'.
28927
28928 (setup): Replace `first_start' with `embed_region', which keeps
28929 track of the embed region (and is partmap-agnostic).
28930
28931 Replace find_first_partition_start() with find_usable_region(),
28932 which finds a usable region for embedding using partmap-specific
28933 knowledge (supports PC/MSDOS and GPT).
28934
28935 Fix all assumptions that the embed region start at sector 1, using
28936 `embed_region.start' from now on. Similarly, use `embed_region.end'
28937 rather than `first_start' to calculate available size.
28938
28939 In grub_util_info() message, replace "into after the MBR" with an
28940 indication of the specific sector our embed region starts at.
28941
66cb40f6 289422008-02-19 Robert Millan <rmh@aybabtu.com>
28943
28944 * DISTLIST: Replace `commands/ieee1275/halt.c' and
28945 `commands/ieee1275/reboot.c' with `commands/halt.c' and
28946 `commands/reboot.c'.
28947 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28948 (halt_mod_SOURCES): Likewise.
28949 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28950 (halt_mod_SOURCES): Likewise.
28951
b7202015 289522008-02-17 Christian Franke <franke@computer.org>
28953
28954 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
28955
32b0fc49 289562008-02-17 Robert Millan <rmh@aybabtu.com>
28957
28958 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28959 set `first_start' to 0 for non-PC/MSDOS partition maps.
28960
aca63502 289612008-02-16 Robert Millan <rmh@aybabtu.com>
28962
28963 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28964 do not assume partition map is PC/MSDOS before performing checks that
28965 are specific to that layout.
28966
0de8be86 289672008-02-13 Robert Millan <rmh@aybabtu.com>
28968
28969 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
28970 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
28971 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
28972
c3db8364 289732008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
28974
28975 * configure.ac: Only a cosmetic change on the handling of
28976 -fno-stack-protector.
28977
f714229e 289782008-02-12 Alexandre Boeglin <alex@boeglin.org>
28979
c3db8364 28980 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
28981 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
28982 reboot.c.
f714229e 28983 (grub_install_SOURCES): Add halt.mod and reboot.mod.
28984 (halt_mod_SOURCES): New variable.
28985 (halt_mod_CFLAGS): Likewise.
28986 (halt_mod_LDFLAGS): Likewise.
28987 (reboot_mod_SOURCES): Likewise.
28988 (reboot_mod_CFLAGS): Likewise.
28989 (reboot_mod_LDFLAGS): Likewise.
28990
c3db8364 28991 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
28992 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
28993 reboot.c.
f714229e 28994 (halt_mod_SOURCES): Likewise.
28995 (reboot_mod_SOURCES): Likewise.
28996
c3db8364 28997 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
28998 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 28999 (reboot_mod_SOURCES): Likewise.
29000
29001 * commands/i386/pc/reboot.c: merge this file ...
29002
29003 * commands/ieee1275/reboot.c: ... and this file ...
29004
29005 * commands/reboot.c: ... to this file.
c3db8364 29006 Add some precompiler directive to include the correct header for
29007 each machine.
f714229e 29008
29009 * commands/ieee1275/halt.c: move this file ...
29010
29011 * commands/halt.c: ... to here.
c3db8364 29012 Add some precompiler directive to include the correct header for
29013 each machine.
f714229e 29014
29015 * include/grub/efi/efi.h (grub_reboot): New function declaration.
29016 (grub_halt): Likewise.
29017
29018 * kern/efi/efi.c (grub_reboot): New function.
29019 (grub_halt): Likewise.
29020
c74493e0 290212008-02-12 Robert Millan <rmh@aybabtu.com>
29022
29023 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
29024 /dev (like it is done for /dev/mapper). This doesn't provide support
29025 for EVMS, but at least it is now easy to identify the problem when it
29026 arises.
29027
d0db4b04 290282008-02-11 Robert Millan <rmh@aybabtu.com>
29029
29030 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
29031 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
29032 comparing it with -1, not 0.
29033
bf748642 290342008-02-10 Robert Millan <rmh@aybabtu.com>
29035
29036 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
29037 `disk/lvm.c'.
29038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29039 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29040
29041 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
29042 `disk/lvm.c' to the end of the list.
29043 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29044 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29045
b5db202a 290462008-02-10 Robert Millan <rmh@aybabtu.com>
29047
29048 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
29049 grub_print_error() instead. This will let user know why we're entering
29050 rescue mode.
29051 Based on suggestions from Sam Morris.
29052
83abee31 290532008-02-10 Alexandre Boeglin <alex@boeglin.org>
29054
29055 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
29056 on remaining N args, instead of "--" arg N times.
29057
78d5a08b 290582008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
29059
29060 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
29061 (fill_with_default_glyph): Changed to use unknown_glyph for fill
29062 pattern for unknown glyphs.
29063
68807e5f 290642008-02-09 Robert Millan <rmh@aybabtu.com>
29065
29066 * configure.ac: Probe for `help2man'.
29067 * Makefile.in (builddir): New variable.
29068 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
29069 or otherwise add a few flags/options to it.
29070 (install-local): For every executable utility or script that is
29071 installed, invoke $(HELP2MAN) to install a manpage based on --help
29072 output.
29073
29074 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
29075 that it doesn't prevent --help from working in build tree.
29076
29077 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
29078 with `bug-grub@gnu.org'.
29079 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
29080 * util/update-grub.in (usage): New function.
29081 Implement proper argument check, with support for --help and --version
29082 (as well as existing -y).
29083
290842008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 29085
29086 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
29087 avoid overwriting previous output.
29088 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
29089
c1962162 290902008-02-09 Robert Millan <rmh@aybabtu.com>
29091
29092 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
29093 drawing the menu.
29094
3dac2e3f 290952008-02-09 Robert Millan <rmh@aybabtu.com>
29096
29097 * commands/sleep.c: New file.
29098 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
29099 (sleep_mod_SOURCES): New variable.
29100 (sleep_mod_CFLAGS): Likewise.
29101 (sleep_mod_LDFLAGS): Likewise.
29102
7a634e08 291032008-02-09 Robert Millan <rmh@aybabtu.com>
29104
29105 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
29106 situations in which we can deduce the RAID size and the superblock
29107 doesn't match it.
29108
b92f0c18 291092008-02-09 Robert Millan <rmh@aybabtu.com>
29110
29111 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
29112 and return a grub_diskmemberlist_t composed of LVM physical volumes.
29113 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
29114
29115 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
29116 and return a grub_diskmemberlist_t composed of physical array members.
29117 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
29118
29119 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
29120 prototype.
29121 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
29122 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
29123 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
29124
29125 * util/grub-probe.c (probe): Move partmap probing code from here ...
29126 (probe_partmap): ... to here.
29127 (probe): Use probe_partmap() once for the disk we're probing, and
29128 additionally, when such disk contains a memberlist() struct member,
29129 once for each disk that is contained in the structure returned by
29130 memberlist().
29131
91a4bf68 291322008-02-09 Robert Millan <rmh@aybabtu.com>
29133
29134 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
29135 environment variable to 'all' in order to obtain debug output from
29136 non-util/ code.
29137 * util/i386/pc/grub-setup.c (main): Likewise.
29138
a96f9caa 291392008-02-08 Robert Millan <rmh@aybabtu.com>
29140
29141 * disk/raid.c (grub_raid_scan_device): Check for
29142 `array->device[sb.this_disk.number]' rather than for
29143 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 29144 guaranteed to be accessible.
a96f9caa 29145
b37a9222 291462008-02-08 Robert Millan <rmh@aybabtu.com>
29147
29148 * disk/raid.c: Update copyright.
29149 * fs/cpio.c: Likewise.
29150 * include/grub/raid.h: Likewise.
29151 * loader/i386/pc/multiboot.c: Likewise.
29152 * util/hostfs.c: Likewise.
29153
5626aee1 291542008-02-08 Robert Millan <rmh@aybabtu.com>
29155
29156 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
29157 to a grub_disk_t array.
29158 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
29159 `device[x]'.
29160 (grub_raid_scan_device): Replace `device[x].name' accesses with
29161 `device[x]->name'. Simplify initialization of `array->device[x]'.
29162
554f0187 291632008-02-08 Robert Millan <rmh@aybabtu.com>
29164
29165 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
29166 grub_dprintf() calls.
29167 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
29168 error message.
29169
1ec8425d 291702008-02-07 Christian Franke <franke@computer.org>
29171
29172 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
29173 instead of fseek and ftell to support large files.
29174 (grub_hostfs_read): Likewise.
29175
f2156fda 291762008-02-07 Robert Millan <rmh@aybabtu.com>
29177
29178 Patch from Jeroen Dekkers.
29179 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 29180 failure, since successfully reading all array members might not be
f2156fda 29181 required.
29182
9216e0e7 291832008-02-06 Robert Millan <rmh@aybabtu.com>
29184
29185 * util/grub-probe.c (probe): Simplify partmap probing (with the
29186 assumption that the first word up to the underscore equals to
29187 the module name).
29188
b0dfd29a 291892008-02-06 Christian Franke <franke@computer.org>
29190
29191 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
29192 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
29193 last block of a cpio or tar stream.
29194 Check for "TRAILER!!!" instead of any empty data
29195 block to detect last block of a cpio stream.
29196 (grub_cpio_dir): Fix constness of variable np.
29197 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
29198 cpio or tar trailer is detected. This fixes a crash
29199 on open of a non existing file.
29200
c32865bf 292012008-02-05 Bean <bean123ch@gmail.com>
29202
29203 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
29204 address of entry.
29205 (grub_multiboot_load_elf64): Likewise.
29206 (grub_multiboot): Initialize mbi structure.
29207
29208 * util/grub-fstest.c: Don't include unused header file script.h.
29209
fe6b695a 29210 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 29211 of file.
29212 (grub_fstest_SOURCES): Likewise.
29213
409480b7 292142008-02-05 Robert Millan <rmh@aybabtu.com>
29215
29216 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
29217 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
29218 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
29219 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
29220
29221 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
29222 (translation_table): Replace hardcoded values with macros
29223 provided by `<grub/term.h>'.
29224
29225 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
29226 (keyboard_map): Correct/add a few values, with macros provided
29227 by `<grub/term.h>'.
29228 (keyboard_map_shift): Zero values that don't differ from their
29229 `keyboard_map' equivalents.
29230 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
29231 Discard the second scan code that is always sent by Caps lock.
29232 Only use `keyboard_map_shift' when it provides a non-zero value,
29233 otherwise fallback to `keyboard_map'.
29234
99fadbaa 292352008-02-04 Bean <bean123ch@gmail.com>
29236
29237 * Makefile.in (enable_grub_fstest): New variable.
29238
29239 * conf/common.rmk (grub_fstest_init.lst): New rule.
29240 (grub_fstest_init.h): Likewise.
29241 (grub_fstest_init.c): Likewise.
29242 (util/grub-fstest.c_DEPENDENCIES): New variable.
29243 (grub_fstest_SOURCES): Likewise.
29244
29245 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
29246
29247 * util/grub-fstest.c: New file.
29248
bf567c50 292492008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29250
29251 Make grub-setup handle a separate root device.
f19dbdb7 29252
bf567c50 29253 * util/i386/pc/grub-setup.c (setup): Always open the root device,
29254 so that the root device can be compared with the destination
29255 device.
29256 When embedding the core image, if the root and destination devices
29257 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
29258 0xFF.
29259 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 29260
9be6b98b 292612008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29262
29263 Add support for having a grub directory in a different drive. This
29264 is still only the data handling part.
f19dbdb7 29265
9be6b98b 29266 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
29267 (codestart): Save %dh in GRUB_ROOT_DRIVE.
29268 (grub_root_drive): New variable.
29269
29270 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
29271 instead of GRUB_BOOT_DRIVE to construct a device name. Set
29272 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
29273 as it was.
29274
29275 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
29276
29277 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
29278 macro.
29279 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
29280
29281 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
29282 is bogus, because PXE booting does not specify any drive
29283 correctly.
29284
29285 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
29286 am not sure if this is really correct.
29287
29288 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
29289 is always identical to the boot drive when booting from a CD.
29290
29291 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
29292 longer.
29293 (root_drive): New variable.
29294 (real_start): Unconditionally set %dh to ROOT_DRIVE.
29295 (setup_sectors): Push %dx right after popping it, because %dh will
29296 be modified later.
29297 (copy_buffer): Restore %dx.
29298
e0ca0677 292992008-02-03 Robert Millan <rmh@aybabtu.com>
29300
29301 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
29302 use `cdboot.img' for cdrom images.
29303
3b3f6629 293042008-02-03 Robert Millan <rmh@aybabtu.com>
29305
29306 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
29307 only setup gfxterm when `font' command has succeeded.
29308
d42b3672 293092008-02-03 Robert Millan <rmh@aybabtu.com>
29310
29311 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
29312 (grub_rescue_cmd_multiboot_loader)
29313 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
29314
fa370ea6 293152008-02-03 Pavel Roskin <proski@gnu.org>
29316
e0c5dacb 29317 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 29318 %edx and %esi from stack only after grub_gate_a20() is called.
29319 grub_gate_a20() clobbers %edx.
29320
f2a76e1d 293212008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29322
29323 * configure.ac (AC_INIT): Bumped to 1.96.
29324
29325 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
29326 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
29327 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
29328 video/readers/png.c.
29329
90fd32d1 293302008-02-03 Bean <bean123ch@gmail.com>
9be665dd 29331
29332 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
29333 (cdboot_img_SOURCES): New variable.
29334 (cdboot_img_ASFLAGS): New variable.
29335 (cdboot_img_LDFLAGS): New variable.
29336
29337 * boot/i386/pc/cdboot.S: New file.
29338
29339 * disk/i386/pc/biosdisk.c (cd_start): New variable.
29340 (cd_count): Likewise.
29341 (grub_biosdisk_get_drive): Add support for cd device.
29342 (grub_biosdisk_call_hook): Likewise.
29343 (grub_biosdisk_iterate): Likewise.
29344 (grub_biosdisk_open): Likewise.
29345 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
29346 (grub_biosdisk_rw): Support reading from cd device.
29347 (GRUB_MOD_INIT): Iterate cd devices.
29348
29349 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
29350 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
29351 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
29352
29353 * kern/i386/pc/init.c (make_install_device): Check for cd device.
29354
4020aa53 293552008-02-02 Robert Millan <rmh@aybabtu.com>
29356
29357 * commands/read.c: New file.
29358 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
29359 (read_mod_SOURCES): New variable.
29360 (read_mod_CFLAGS): Likewise.
29361 (read_mod_LDFLAGS): Likewise.
29362
e03a1132 293632008-02-02 Robert Millan <rmh@aybabtu.com>
29364
29365 * normal/main.c (grub_normal_execute): Check for `menu->size' when
29366 determining whether menu has to be displayed.
29367
58c69220 293682008-02-02 Marco Gerards <marco@gnu.org>
29369
29370 * bus/pci.c: New file.
29371
29372 * include/grub/pci.h: Likewise.
29373
29374 * include/grub/i386/pc/pci.h: Likewise.
29375
29376 * commands/lspci.c: Likewise.
29377
29378 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
29379 `lspci.mod'.
29380 (pci_mod_SOURCES): New variable.
29381 (pci_mod_CFLAGS): Likewise.
29382 (pci_mod_LDFLAGS): Likewise.
29383 (lspci_mod_SOURCES): Likewise.
29384 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 29385 (lspci_mod_LDFLAGS): Likewise.
58c69220 29386
c004e1b4 293872008-02-02 Bean <bean123ch@gmail.com>
29388
29389 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
29390 (grub_ufs_get_file_block): Fix indirect block calculation problem.
29391
29392 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
29393 (grub_xfs_btree_node): New structure.
29394 (grub_xfs_btree_root): New structure.
29395 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
29396 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
29397 (GRUB_XFS_EXTENT_BLOCK): Likewise.
29398 (GRUB_XFS_EXTENT_SIZE): Likewise.
29399 (grub_xfs_read_block): Support btree format type.
29400 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
29401 Use directory block as basic unit.
29402
29403 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
29404
29405 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
29406 __attribute__ ((__regparm__ (1))).
29407
f95562bf 294082008-02-01 Robert Millan <rmh@aybabtu.com>
29409
29410 Correct a mistake in previous commit.
29411
29412 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
29413 top.
29414 (normal/command.c_DEPENDENCIES): New variable.
29415
7d31f41f 294162008-02-01 Robert Millan <rmh@aybabtu.com>
29417
29418 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
29419 top.
29420 (normal/command.c_DEPENDENCIES): New variable.
29421 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
29422 * conf/i386-ieee1275.rmk: Likewise.
29423 * conf/i386-linuxbios.rmk: Likewise.
29424 * conf/i386-pc.rmk: Likewise.
29425 * conf/sparc64-ieee1275.rmk: Likewise.
29426 * conf/powerpc-ieee1275.rmk: Likewise.
29427 (grub_emu_SOURCES): Add `fs/fshelp.c'.
29428
29429 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
29430
60b6be74 294312008-02-01 Robert Millan <rmh@aybabtu.com>
29432
29433 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
29434 call at beginning of function.
29435
078522ab 294362008-01-31 Pavel Roskin <proski@gnu.org>
29437
29438 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 29439 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
29440 (grub_mkrescue_SOURCES): Likewise.
078522ab 29441 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
29442
ccaa8a5f 294432008-01-30 Robert Millan <rmh@aybabtu.com>
29444
29445 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
29446 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
29447 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
29448 (grub_probe_SOURCES): ... to here.
29449
29450 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
29451 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
29452 * conf/i386-ieee1275.rmk: Likewise.
29453 * conf/i386-linuxbios.rmk: Likewise.
29454 * conf/powerpc-ieee1275.rmk: Likewise.
29455
ae5a9cd7 294562008-01-30 Tristan Gingold <gingold@free.fr>
29457
29458 * kern/rescue.c: Silently accept empty lines.
29459
70bc2ef2 294602008-01-29 Bean <bean123ch@gmail.com>
29461
29462 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
29463 (real_code_2): Code cleanup and change comment style.
29464 (move_memory): Avoid using 32-bit address mode.
29465
6a4d50ea 294662008-01-29 Bean <bean123ch@gmail.com>
29467
29468 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
29469 (png_mod_SOURCES): New variable.
29470 (png_mod_CFLAGS): Likewise.
29471 (png_mod_LDFLAGS): Likewise.
29472
29473 * video/readers/png.c: New file.
29474
11cc30ac 294752008-01-28 Robert Millan <rmh@aybabtu.com>
29476
29477 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
29478 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
29479 `ifndef GRUB_MOD_GAP' hack.
29480 * util/elf/grub-mkimage.c (add_segments): Likewise.
29481
3abc589f 294822008-01-27 Robert Millan <rmh@aybabtu.com>
29483
29484 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
29485 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 29486 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 29487
e1907778 294882008-01-27 Robert Millan <rmh@aybabtu.com>
29489
29490 Get grub-emu to build again (including parallel builds).
29491
29492 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
29493 Split into ...
29494 (util/grub-emu.c_DEPENDENCIES): ... this, ...
29495 (normal/execute.c_DEPENDENCIES): ... this, ...
29496 (grub-emu_DEPENDENCIES): ... and this.
29497
29498 * conf/i386-efi.rmk: Likewise.
29499 * conf/i386-linuxbios.rmk: Likewise.
29500 * conf/i386-ieee1275.rmk: Likewise.
29501 * conf/powerpc-ieee1275.rmk: Likewise.
29502 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
29503
2216b101 295042008-01-27 Robert Millan <rmh@aybabtu.com>
29505
29506 * NEWS: Add a few items.
29507
f75172d9 295082008-01-27 Robert Millan <rmh@aybabtu.com>
29509
29510 Fix parallel builds with grub-emu. Based on earlier commit for
29511 grub-probe and grub-setup.
29512
29513 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29514 (util/grub-emu.c_DEPENDENCIES): ... this.
29515 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29516 (util/grub-emu.c_DEPENDENCIES): ... this.
29517 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29518 (util/grub-emu.c_DEPENDENCIES): ... this.
29519 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29520 (util/grub-emu.c_DEPENDENCIES): ... this.
29521 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29522 (util/grub-emu.c_DEPENDENCIES): ... this.
29523
3f51de77 295242008-01-27 Pavel Roskin <proski@gnu.org>
29525
29526 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
29527 to create a gap between _end and the modules added to the image
29528 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
29529 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
29530 * util/elf/grub-mkimage.c (add_segments): Likewise.
29531
2033f53e 295322008-01-26 Pavel Roskin <proski@gnu.org>
29533
29534 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
29535 just return an error.
29536
22da1f6f 295372008-01-26 Bean <bean123ch@gmail.com>
29538
29539 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
29540 (grub_reiserfs_get_item): Save offset of the next item.
29541 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
29542
2a9525e6 295432008-01-25 Robert Millan <rmh@aybabtu.com>
29544
29545 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
29546 make all filesystem sources appear together (possibly fixing omissions
29547 while at it).
29548 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29549 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29550 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29552
29553 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
29554 add `kern/file.c'.
29555 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
29556 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29557 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
29558 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29559
29560 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
29561 (probe): Add a sanity check to make sure of our ability to read
29562 requested files when probing for filesystem type.
29563
29564 * genmk.rb: Update copyright year (2007).
29565
29566 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
29567 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
29568 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
29569 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
29570 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
29571 : Remove function prototypes.
29572
b95f71b5 295732008-01-25 Robert Millan <rmh@aybabtu.com>
29574
29575 Revert my previous commits (based on wrong assumption of how grub_errno
29576 works).
29577
fe6b695a 29578 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 29579 * kern/file.c (grub_file_open): Likewise.
29580
d08bbb49 295812008-01-24 Pavel Roskin <proski@gnu.org>
29582
29583 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
29584 that hang if GRUB tries to setup colors.
29585 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
29586 colors for firmwares that don't support it.
29587 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
29588 Recognize Open Hack'Ware, set flags to work around its
29589 limitations.
29590
605e36ed 295912008-01-24 Robert Millan <rmh@aybabtu.com>
29592
29593 * kern/file.c (grub_file_open): Do not account previous failures of
29594 unrelated functions when grub_errno is checked for.
29595 Reported by Oleg Strikov.
29596
bac332a1 295972008-01-24 Bean <bean123ch@gmail.com>
29598
29599 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
29600 (grub_ufs_sblock): New member volume name.
29601 (grub_ufs_find_file): Fix string copy bug.
29602 (grub_ufs_label): Implement this function properly.
29603
29604 * fs/hfs.c (grub_hfs_cnid_type): New enum.
29605 (grub_hfs_iterate_records): Use the correct file number for extents
29606 and catalog file. Fix problem in next index calculation.
29607 (grub_hfs_find_node): Replace recursive function call with loop.
29608 (grub_hfs_iterate_dir): Replace recursive function call with loop.
29609
15c80c09 296102008-01-23 Robert Millan <rmh@aybabtu.com>
29611
29612 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
29613 `<grub/symbol.h>' and `<grub/multiboot.h>'.
29614 (grub_multiboot2_real_boot): New function prototype.
29615
29616 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
29617 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
29618
29619 * kern/i386/ieee1275/init.c (grub_os_area_addr)
29620 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
29621
305338fd 296222008-01-23 Robert Millan <rmh@aybabtu.com>
29623
29624 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
29625 #ifdef'ed out grub_printf().
29626
3ea52685 296272008-01-23 Robert Millan <rmh@aybabtu.com>
29628
29629 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
29630 grub_dprintf calls, since they make "debug=all" mode unusable.
29631 (grub_console_checkkey): Likewise.
29632
5882ae4b 296332008-01-23 Robert Millan <rmh@aybabtu.com>
29634
29635 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29636 `term/i386/pc/at_keyboard.c'.
29637 (pkglib_MODULES): Add `serial.mod'.
29638 (serial_mod_SOURCES): New variable.
29639 (serial_mod_CFLAGS): Likewise.
29640 (serial_mod_LDFLAGS): Likewise.
29641
29642 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
29643 `<grub/powerpc/ieee1275/console.h>'.
29644 (grub_keyboard_controller_init): New function prototype.
29645 (grub_console_checkkey): Likewise.
29646 (grub_console_getkey): Likewise.
29647
29648 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
29649 keyboard on i386.
29650
29651 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
29652 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
29653
06ab5303 296542008-01-23 Robert Millan <rmh@aybabtu.com>
29655
29656 * kern/i386/pc/init.c (make_install_device): When memdisk image is
29657 present, "(memdisk)/boot/grub" becomes the default prefix.
29658
29659 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
29660 a memdisk tarball with all the modules. Add --overlay=DIR option that
29661 allows users to overlay additional files into the image.
29662
dbb475a4 296632008-01-23 Robert Millan <rmh@aybabtu.com>
29664
29665 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
29666 and `machine/memory.h'.
29667 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
29668 (_multiboot_mod_SOURCES): New variable.
29669 (_multiboot_mod_CFLAGS): Likewise.
29670 (_multiboot_mod_LDFLAGS): Likewise.
29671 (multiboot_mod_SOURCES): Likewise.
29672 (multiboot_mod_CFLAGS): Likewise.
29673 (multiboot_mod_LDFLAGS): Likewise.
29674
29675 * include/grub/i386/ieee1275/loader.h: New file.
29676
29677 * include/grub/i386/ieee1275/machine.h: Likewise.
29678
29679 * include/grub/i386/ieee1275/memory.h: Likewise.
29680
29681 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
29682 variable declaration.
29683 (grub_os_area_size): Likewise.
29684
29685 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
29686 (grub_lower_mem, grub_upper_mem): New variables.
29687 (grub_stop_floppy): New function (just to make
29688 grub_multiboot2_real_boot() happy).
29689
29690 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
29691 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
29692 (grub_stop): New function.
29693 Include `"../realmode.S"' and `"../loader.S"'.
29694
29695 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
29696 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
29697
29698 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
29699 rely on grub_multiboot2_real_boot() for final boot.
29700
25638629 297012008-01-22 Robert Millan <rmh@aybabtu.com>
29702
29703 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
29704 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
29705 device that doesn't look like an SD card.
29706 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29707 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
29708 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
29709 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
29710 found.
29711
9dad816d 297122008-01-22 Robert Millan <rmh@aybabtu.com>
29713
29714 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
29715 avoid claiming over our own code.
29716
34842f2d 297172008-01-22 Bean <bean123ch@gmail.com>
29718
29719 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
29720 (jpeg_mod_SOURCES): New variable.
29721 (jpeg_mod_CFLAGS): Likewise.
29722 (jpeg_mod_LDFLAGS): Likewise.
29723
29724 * video/readers/jpeg.c : New file.
29725
44023a28 297262008-01-22 Bean <bean123ch@gmail.com>
29727
29728 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
29729 there are no more items.
29730
bc2d8ac6 297312008-01-21 Robert Millan <rmh@aybabtu.com>
29732
29733 * kern/mm.c (grub_mm_init_region): Improve debug message.
29734
261bd4bc 297352008-01-21 Robert Millan <rmh@aybabtu.com>
29736
29737 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
29738 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
29739 address.
29740 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
29741 a C macro.
29742 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
29743 Indicates start of upper memory.
29744 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
29745 (generate_image): Abort when image size is big enough to corrupt
29746 upper memory.
29747
29748 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
29749 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
29750 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29751 instead of hardcoding 0xA0000.
29752 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
29753 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29754 instead of hardcoding 0xA0000.
29755
f970b55e 297562008-01-21 Robert Millan <rmh@aybabtu.com>
29757
29758 * disk/memdisk.c (memdisk_size): New variable.
29759 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
29760 `memdisk_size'.
29761 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
29762 image to dynamic memory.
29763 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
29764 `memdisk_size'. Free memdisk block.
29765
1a8b0526 297662008-01-21 Robert Millan <rmh@aybabtu.com>
29767
29768 Fix detection of very small filesystems (like tar).
29769
29770 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
29771 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
29772 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
29773 a problem with this disk).
29774
6e9b4aab 297752008-01-21 Robert Millan <rmh@aybabtu.com>
29776
29777 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
29778 on grub_biosdisk_rw_standard() error.
29779
0d8837b2 297802008-01-21 Robert Millan <rmh@aybabtu.com>
29781
29782 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
29783 recent changes.
29784 * kern/elf.c: Likewise.
29785 * kern/ieee1275/ieee1275.c: Likewise.
29786 * kern/powerpc/ieee1275/openfw.c: Likewise.
29787 * term/ieee1275/ofconsole.c: Likewise.
29788
ffd36e34 297892008-01-21 Robert Millan <rmh@aybabtu.com>
29790
29791 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
29792
3f0093d0 29793 * include/grub/kernel.h (grub_arch_memdisk_addr)
29794 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 29795
3f0093d0 29796 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
29797 (grub_arch_memdisk_size): ... to here.
ffd36e34 29798
6c391b21 297992008-01-21 Robert Millan <rmh@aybabtu.com>
29800
29801 Mostly based on bugfix from Bean.
29802
29803 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
29804 attribute with hook() parameter.
29805 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
29806 declaration.
29807 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
29808 attribute with hook() parameter.
29809 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
29810 declaration.
29811
55a581dc 298122008-01-21 Robert Millan <rmh@aybabtu.com>
29813
29814 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
29815 (pkglib_MODULES): Add `memdisk.mod'.
29816 (memdisk_mod_SOURCES): New variable.
29817 (memdisk_mod_CFLAGS): Likewise.
29818 (memdisk_mod_LDFLAGS): Likewise.
29819
29820 * disk/memdisk.c: New file.
29821
29822 * include/grub/disk.h (grub_disk_dev_id): Add
29823 `GRUB_DISK_DEVICE_MEMDISK_ID'.
29824
29825 * include/grub/i386/pc/kernel.h
29826 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
29827 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
29828 (grub_kernel_image_size): New variable declaration.
29829 (grub_total_module_size): Likewise.
29830 (grub_memdisk_image_size): Likewise.
29831
29832 * include/grub/i386/pc/memory.h
29833 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
29834
29835 * include/grub/kernel.h: Include `<grub/symbol.h>'.
29836 (grub_arch_memdisk_addr): New variable declaration.
29837 (grub_arch_memdisk_size): Likewise.
29838
29839 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
29840 (grub_arch_memdisk_size): Likewise.
29841
29842 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
29843 (codestart): Replace hardcoded `0x100000' with
29844 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
29845
29846 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
29847 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
29848 not NULL, append the contents of the file it refers to, at the end of
29849 the compressed kernel image. Initialize `grub_memdisk_image_size'
29850 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
29851 (options): Add "memdisk"|'m' option.
29852 (main): Parse --memdisk|-m option, and pass user-provided path as
29853 parameter to generate_image().
29854
3d7f54c9 298552008-01-20 Robert Millan <rmh@aybabtu.com>
29856
29857 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
29858 grub_dprintf() calls from here ...
29859 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
29860
0bf74728 298612008-01-20 Robert Millan <rmh@aybabtu.com>
29862
29863 Fix detection of "real mode" when /options/real-mode? doesn't exist.
29864
29865 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
29866 declaration.
29867 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
29868 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
29869 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 29870 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 29871 property).
29872 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
29873 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
29874
33bf70a7 298752008-01-19 Robert Millan <rmh@aybabtu.com>
29876
fe6b695a 29877 Get rid of confusing function (superseded by
33bf70a7 29878 `grub_ieee1275_get_integer_property')
29879 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
29880 prototype.
29881 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
29882 function.
29883 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
29884 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 29885 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 29886
e2da7d26 298872008-01-19 Robert Millan <rmh@aybabtu.com>
29888
29889 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
29890 command after "shut-down", since implementations differ on which
29891 the command for halt is.
29892
59f1fd8d 298932008-01-19 Robert Millan <rmh@aybabtu.com>
29894
29895 * include/grub/i386/linuxbios/console.h: Add header protection.
29896 (grub_keyboard_controller_init): New function prototype.
29897 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
29898 (KEYBOARD_COMMAND_READ): Likewise.
29899 (KEYBOARD_COMMAND_WRITE): Likewise.
29900 (KEYBOARD_SCANCODE_SET1): Likewise.
29901 (grub_keyboard_controller_write): New function.
29902 (grub_keyboard_controller_read): Likewise.
29903 (grub_keyboard_controller_init): Likewise.
29904
29905 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
29906 (grub_console_init): On coreboot/LinuxBIOS, call
29907 grub_keyboard_controller_init().
29908
5f5a7c15 299092008-01-19 Robert Millan <rmh@aybabtu.com>
29910
29911 PowerPC changes provided by Pavel Roskin.
29912
29913 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
29914 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
29915 don't rely on cmain() doing it.
29916 * kern/i386/ieee1275/startup.S (_start): Store %eax in
29917 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
29918
1210e168 299192008-01-16 Robert Millan <rmh@aybabtu.com>
29920
29921 * include/grub/i386/linuxbios/memory.h
29922 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
29923 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
29924 receive `table_header' as argument. Instead, probe for it in the
29925 known memory ranges where it can be present.
29926 (grub_available_iterate): Do not pass a fixed `table_header' address
29927 to grub_linuxbios_table_iterate().
29928
3d04eab8 299292008-01-15 Robert Millan <rmh@aybabtu.com>
29930
29931 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
29932 * conf/i386-ieee1275.rmk: New file.
29933 * include/grub/i386/ieee1275/console.h: Likewise.
29934 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
29935 * include/grub/i386/ieee1275/kernel.h: Likewise.
29936 * include/grub/i386/ieee1275/time.h: Likewise.
29937 * kern/i386/ieee1275/init.c: Likewise.
29938 * kern/i386/ieee1275/startup.S: Likewise.
29939
d1bc1b73 299402008-01-15 Robert Millan <rmh@aybabtu.com>
29941
29942 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
29943 when pointers are 32-bit (but still do set it to one when they are
29944 64-bit).
29945
66a65807 299462008-01-15 Robert Millan <rmh@aybabtu.com>
29947
29948 * include/grub/ieee1275/ieee1275.h
29949 (grub_ieee1275_get_integer_property): New function prototype.
29950
29951 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
29952 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 29953 grub_ieee1275_get_property() to handle endianness.
66a65807 29954
29955 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
29956 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 29957 where appropriate.
66a65807 29958 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
29959 (grub_map): Likewise.
29960 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
29961
a83ccafd 299622008-01-15 Bean <bean123ch@gmail.com>
29963
29964 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
29965 (grub_script_execute_cmdline): Reset grub_errno.
29966
29967 * normal/main.c (read_config_file): Reset grub_errno.
29968
29969 * normal/parse.y (script_init): New.
29970 (script): Move function and menuentry here.
29971 (delimiter): New.
29972 (command): Add delimiter at the end of command.
29973 (commands): Adjust to match the new command.
29974 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 29975 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 29976 (if): Use the new commands.
29977
29978 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
29979
df6ecfc6 299802008-01-15 Robert Millan <rmh@aybabtu.com>
29981
29982 * normal/menu.c (run_menu): Move timeout message from here ...
29983 (print_timeout): ... to here.
29984 (run_menu): Use print_timeout() once during initial draw to print
29985 the whole message, and again in every clock tick to update only
29986 the number of seconds.
29987
87ae25eb 299882008-01-15 Robert Millan <rmh@aybabtu.com>
29989
29990 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
29991 actual size of `available' from grub_ieee1275_get_property(), and
29992 restrict parsing to that bound.
29993
47bf09a4 299942008-01-15 Christian Franke <franke@computer.org>
29995
29996 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
29997 (argp_program_version): Remove variable.
29998 (argp_program_bug_address): Likewise.
29999 (options): Convert from struct argp_option to struct option.
30000 (struct arguments): Remove.
30001 (parse_opt): Remove.
30002 (usage): New function.
30003 (main): Replace struct args members by simple variables.
30004 Replace argp_parse() by getopt_long().
30005 Add switch to evaluate options.
30006 Add missing "(...)" around root_dev in prefix string.
30007
c86f1469 300082008-01-14 Robert Millan <rmh@aybabtu.com>
30009
30010 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
30011 for grub_ieee1275_exit(), in order to improve portability.
30012
e622c559 300132008-01-14 Robert Millan <rmh@aybabtu.com>
30014
30015 * util/grub.d/10_linux.in (prefix): Define.
30016 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
30017
44cb1ec8 300182008-01-13 Pavel Roskin <proski@gnu.org>
30019
30020 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
30021 grub_errno if no errors have been detected.
30022
1eb8c802 300232008-01-12 Robert Millan <rmh@aybabtu.com>
30024
30025 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
30026 (grub_util_get_dev_abstraction): New function prototype.
30027
30028 * util/getroot.c: Include `<grub/util/getroot.h>'
30029 (grub_util_get_grub_dev): Move detection of abstraction type to ...
30030 (grub_util_get_dev_abstraction): ... here (new function).
30031
30032 * util/grub-probe.c: Convert PRINT_* to an enum. Add
30033 `PRINT_ABSTRACTION'.
30034 (probe): Probe for abstraction type when requested.
30035 (main): Understand `--target=abstraction'.
30036
30037 * util/i386/efi/grub-install.in: Add abstraction module to core
30038 image when it is found to be necessary.
30039 * util/i386/pc/grub-install.in: Likewise.
30040 * util/powerpc/ieee1275/grub-install.in: Likewise.
30041
30042 * util/update-grub_lib.in (font_path): Return system path without
30043 converting to GRUB path.
30044 * util/update-grub.in: Convert system path returned by font_path()
30045 to a GRUB path. Use `grub-probe -t abstraction' to determine what
30046 abstraction module is needed for loading fonts (if any). Export
30047 that as `GRUB_PRELOAD_MODULES'.
30048 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
30049 insmod commands).
30050
52bd3de9 300512008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
30052
30053 Remove some unused code from reiserfs.
f19dbdb7 30054
52bd3de9 30055 * fs/reiserfs.c (struct grub_reiserfs_key)
30056 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
30057 (struct grub_reiserfs_node_body): Removed.
30058 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30059 Likewise.
30060 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30061 Likewise.
30062 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30063 Likewise.
30064 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30065 Likewise.
30066 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30067 Likewise.
30068 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
30069 Likewise.
30070 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30071 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30072 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30073
2f80039d 300742008-01-10 Robert Millan <rmh@aybabtu.com>
30075
30076 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
30077 Determines if a file is garbage left by packaging systems, etc.
30078 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
30079 for processing /etc/grub.d scripts.
30080 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
30081 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
30082 as a condition for processing Linux images.
30083
87888032 300842008-01-10 Pavel Roskin <proski@gnu.org>
30085
30086 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
30087 to compile reiserfs.c on PowerPC.
30088
7e54fced 300892008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 30090
30091 * kern/device.c (grub_device_iterate): Do not abort device iteration
30092 when one of the devices cannot be opened.
30093 * kern/disk.c (grub_disk_open): Do not account previous failures of
30094 unrelated functions when grub_errno is checked for.
30095
5aa541e6 300962008-01-08 Robert Millan <rmh@aybabtu.com>
30097
30098 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
30099 `! grub_linux_is_bzimage', change order of address comparison to make
30100 it more intuitive, and improve "too big zImage" error message.
30101
7076340d 301022008-01-08 Robert Millan <rmh@aybabtu.com>
30103
30104 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
30105 `$(update-grub_DATA)'.
30106 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
30107 targets.
30108
9ca70333 301092008-01-07 Robert Millan <rmh@aybabtu.com>
30110
30111 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
30112 which instruction is modified by grub-setup during installation
30113 (since it wasn't obvious by only looking at this file).
30114
38ccf575 301152008-01-07 Robert Millan <rmh@aybabtu.com>
30116
30117 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
30118 listing actual TODO items.
30119
f5db4291 301202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30121
868967cf 30122 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
30123 correctly.
30124 (grub_reiserfs_get_key_offset): Likewise.
30125 (grub_reiserfs_set_key_offset): Likewise.
30126 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 30127 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 30128
30129 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
30130 better to remove the bitfield version completely.
f19dbdb7 30131
868967cf 301322008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30133
f5db4291 30134 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
30135 allocated from the heap, due to the fshelp implementation.
30136 (grub_reiserfs_dir): Free NODE, due to the same reason.
30137
492e6d9d 301382008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30139
30140 Mostly from Vincent Pelletier:
f19dbdb7 30141
492e6d9d 30142 * fs/reiserfs.c: New file.
f19dbdb7 30143
492e6d9d 30144 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
30145 (reiserfs_mod_SOURCES): New variable.
30146 (reiserfs_mod_CFLAGS): Likewise.
30147 (reiserfs_mod_LDFLAGS): Likewise.
30148
30149 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
30150 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
30151 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
30152 normal/color.c.
30153
9ce3e7c1 301542008-01-06 Robert Millan <rmh@aybabtu.com>
30155
30156 * normal/color.c: Remove `<grub/env.h>'.
30157
f3b58148 301582008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
30159
30160 * include/grub/normal.h: Include <grub/env.h>.
30161
7ac3bcfa 301622008-01-05 Robert Millan <rmh@aybabtu.com>
30163
30164 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
30165 usage example with `(hd0,1)'.
fb358190 30166 Reported by Samuel Thibault.
7ac3bcfa 30167
c8ee99d7 301682008-01-05 Robert Millan <rmh@aybabtu.com>
30169
30170 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
30171 (grub_linux_boot_zimage): Rename to ...
30172 (grub_linux_boot): ... this.
30173 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
30174 (grub_linux_boot_zimage): Conditionalize zImage copy.
30175
30176 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
30177 (grub_linux_boot_bzimage): Remove prototype.
30178 (grub_linux_boot_zimage): Rename to ...
30179 (grub_linux_boot): ... this.
30180
30181 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
30182 (grub_linux_boot): Remove function.
30183
0ece25b1 301842008-01-05 Robert Millan <rmh@aybabtu.com>
30185
30186 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
30187 (grub_env_write_color_highlight): Likewise.
30188 (grub_wait_after_message): Likewise.
30189
30190 * normal/color.c: New file.
30191
30192 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30193 (normal_mod_DEPENDENCIES): Likewise.
30194
30195 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30196 (normal_mod_DEPENDENCIES): Likewise.
30197
30198 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30199 (normal_mod_DEPENDENCIES): Likewise.
30200
30201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30202 (normal_mod_DEPENDENCIES): Likewise.
30203
30204 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
30205 for waiting after a message is printed.
30206 * normal/main.c (read_config_file): Likewise.
30207 (grub_normal_init): Register grub_env_write_color_normal() and
30208 grub_env_write_color_highlight() hooks. Mark `color_normal' and
30209 `color_highlight' variables as global.
30210
30211 * normal/menu.c (grub_wait_after_message): New function.
30212 (grub_color_menu_normal): New variable. Replaces ...
30213 (GRUB_COLOR_MENU_NORMAL): ... this macro.
30214 (grub_color_menu_highlight): New variable. Replaces ...
30215 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
30216 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
30217 `GRUB_TERM_COLOR_STANDARD'.
30218 (print_message): Use `grub_setcolorstate' to reload colors. Rename
30219 `normal_code' and `highlight_code' to `old_color_normal' and
30220 `old_color_highlight', respectively.
30221 (grub_menu_init_page): Update colors when drawing the menu, based on
30222 `menu_color_normal' and `menu_color_highlight' variables.
30223 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
30224 a message is printed.
30225
182dd4e5 302262008-01-05 Robert Millan <rmh@aybabtu.com>
30227
30228 * kern/env.c (grub_env_context_open): Propagate hooks for global
30229 variables to new context.
30230
30231 * kern/main.c (grub_set_root_dev): Export `root' variable.
30232
ddf8f6ad 302332008-01-05 Robert Millan <rmh@aybabtu.com>
30234
30235 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 30236 discs unconditionally, since udev and others have options to provide
ddf8f6ad 30237 them.
30238
d8b43d9b 302392008-01-05 Robert Millan <rmh@aybabtu.com>
30240
30241 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
30242
2bff2de3 302432008-01-04 Christian Franke <franke@computer.org>
30244
30245 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
30246 of eisa_mmap.
30247
97eab917 302482008-01-03 Pavel Roskin <proski@gnu.org>
30249
30250 * kern/i386/linuxbios/init.c: Put "void" to all function
30251 declarations with no arguments.
30252 * kern/powerpc/ieee1275/init.c: Likewise.
30253 * term/i386/pc/at_keyboard.c: Likewise.
30254 * term/i386/pc/vga_text.c: Likewise.
30255 * util/grub-mkdevicemap.c: Likewise.
30256
b9416d00 302572008-01-02 Robert Millan <rmh@aybabtu.com>
30258
30259 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
30260 message when loaded image is out of bounds.
30261 (grub_multiboot_load_elf64): Likewise.
30262
92695df9 302632008-01-02 Pavel Roskin <proski@gnu.org>
30264
30265 * util/grub.d/10_linux.in: Try version without ".old" when
30266 looking for initrd. It's better to use initrd from the newer
30267 kernel of the same version than no initrd at all.
30268
d98d9cad 302692008-01-01 Robert Millan <rmh@aybabtu.com>
30270
30271 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
30272
dbfdce36 302732008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
30274
f19dbdb7 30275 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 30276 grub_video_get_active_render_target.
30277 (grub_video_adapter): Added unmap_color and get_active_render_target.
30278
f19dbdb7 30279 * video/video.c: Added grub_video_unmap_color and
dbfdce36 30280 grub_video_get_active_render_target.
30281 (grub_video_get_info): Changed method to accept NULL pointer as an
30282 argument to allow detection of active video adapter.
30283
30284 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
30285 grub_video_vbe_unmap_color_int.
30286 Added grub_video_vbe_unmap_color and
30287 grub_video_vbe_get_active_render_target.
30288 (grub_video_vbe_adapter): Added unmap_color and
30289 get_active_render_target.
30290
f19dbdb7 30291 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 30292 with grub_video_vbe_unmap_color_int.
30293
30294 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
30295 (DEFAULT_NORMAL_COLOR): Likewise.
30296 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
30297 (DEFAULT_FG_COLOR): Removed.
30298 (DEFAULT_BG_COLOR): Likewise.
30299 (DEFAULT_CURSOR_COLOR): Changed value.
30300 (grub_virtual_screen): Added standard_color_setting,
30301 normal_color_setting, highlight_color_setting and term_color.
30302 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
30303 (bitmap_width): Added.
30304 (bitmap_height): Likewise.
30305 (bitmap): Likewise.
30306 (set_term_color): Likewise.
30307 (grub_virtual_screen_setup): Changed to use new terminal coloring
30308 settings.
30309 (grub_gfxterm_init): Added init for bitmap.
30310 (grub_gfxterm_fini): Added destroy for bitmap.
30311 (redraw_screen_rect): Updated to use background bitmap and new
30312 terminal coloring.
30313 (scroll_up): Added optimization for case when there is no bitmap.
30314 (grub_gfxterm_cls): Fixed to use correct background color.
30315 (grub_virtual_screen_setcolorstate): Changed to use new terminal
30316 coloring.
30317 (grub_virtual_screen_setcolor): Likewise.
30318 (grub_virtual_screen_getcolor): Added.
30319 (grub_gfxterm_background_image_cmd): Likewise.
30320 (grub_video_term): Added setcolor and getcolor.
30321 (MOD_INIT): Added registration of background_image command.
30322 (MOD_TERM): Added unregistration for background_image command.
30323
c3c20931 303242007-12-30 Pavel Roskin <proski@gnu.org>
30325
30326 * loader/multiboot_loader.c: Fix multiboot command
30327 unregistration. Fix all typos in the word "multiboot".
30328
df266716 303292007-12-29 Pavel Roskin <proski@gnu.org>
94239199 30330
30331 * util/grub.d/10_linux.in: Refactor search for initrd. Add
30332 support for initrd names used in Fedora.
30333
fc6e896c 303342007-12-26 Bean <bean123ch@gmail.com>
30335
30336 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
30337 (cpio_mod_SOURCES): New variable.
30338 (cpio_mod_CFLAGS): Likewise.
30339 (cpio_mod_LDFLAGS): Likewise.
30340
30341 * fs/cpio.c: New file.
30342
30343 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
30344
30345 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30346
30347 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30348
30349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30350
533110ad 303512007-12-25 Robert Millan <rmh@aybabtu.com>
30352
30353 * include/grub/term.h (struct grub_term): Add `getcolor' function.
30354 (grub_getcolor): New function.
30355
30356 * kern/term.c (grub_getcolor): New function.
30357 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
30358 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
30359 (print_entry): Set normal and highlight colors to
30360 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
30361 respectively, before printing and restore them to old
30362 values afterwards.
30363 (grub_menu_init_page): Likewise. Fill an additional colored space
30364 that would otherwise be left blank.
30365
30366 * term/efi/console.c (grub_console_getcolor): New function.
30367 (struct grub_console_term.getcolor): New variable.
30368 * term/i386/pc/console.c (grub_console_getcolor): New function.
30369 (struct grub_console_term.getcolor): New variable.
30370 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
30371 (struct grub_console_term.getcolor): New variable.
30372
30373 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
30374 (struct grub_console_term.setcolor): Remove variable.
30375 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
30376 (struct grub_console_term.setcolor): Remove variable.
30377 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
30378 (struct grub_console_term.setcolor): Remove variable.
30379 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
30380 (struct grub_console_term.setcolor): Remove variable.
30381
4931827f 303822007-12-25 Robert Millan <rmh@aybabtu.com>
30383
30384 * configure.ac: Search for possible unifont.hex locations, and
30385 define UNIFONT_HEX if found.
30386
30387 * Makefile.in (UNIFONT_HEX): Define variable.
30388 (DATA): Rename to ...
30389 (PKGLIB): ... this. Update all users.
30390 (PKGDATA): New variable.
30391 (pkgdata_IMAGES): Rename to ...
30392 (pkglib_IMAGES): ... this. Update all users.
30393 (pkgdata_MODULES): Rename to ...
30394 (pkglib_MODULES): ... this. Update all users.
30395 (pkgdata_PROGRAMS): Rename to ...
30396 (pkglib_PROGRAMS): ... this. Update all users.
30397 (pkgdata_DATA): Rename to ...
30398 (pkglib_DATA): ... this. Update all users.
30399 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
30400 (unicode.pff, ascii.pff): New rules.
30401 (all-local): Add `$(PKGDATA)' dependency.
30402 (install-local): Process `$(PKGDATA)'.
30403
30404 * util/update-grub_lib.in (font_path): Search for *.pff files in
30405 a few more locations, including `${pkgdata}'.
30406
57e57e31 304072007-12-23 Robert Millan <rmh@aybabtu.com>
30408
30409 Patch from Bean <bean123ch@gmail.com>:
30410 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
30411 `size'.
30412
4bc72aa9 304132007-12-21 Bean <bean123ch@gmail.com>
30414
30415 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
30416 (ntfscomp_mod_SOURCES): New variable.
30417 (ntfscomp_mod_CFLAGS): Likewise.
30418 (ntfscomp_mod_LDFLAGS): Likewise.
30419
30420 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
30421 (grub_probe_SOURCES): Likewise.
30422 (grub_emu_SOURCES): Likewise.
30423
30424 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30425 (grub_emu_SOURCES): Likewise.
30426
30427 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30428 (grub_emu_SOURCES): Likewise.
30429
30430 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30431 (grub_emu_SOURCES): Likewise.
30432
30433 * fs/ntfs.c (grub_ntfscomp_func): New variable.
30434 (read_run_list): Renamed to grub_ntfs_read_run_list.
30435 (decomp_nextvcn): Moved to ntfscomp.c.
30436 (decomp_getch): Likewise.
30437 (decomp_get16): Likewise.
30438 (decomp_block): Likewise.
30439 (read_block): Likewise.
30440 (read_data): Partially moved to ntfscomp.c.
30441 (fixup): Change unsigned to grub_uint16_t.
30442 (read_mft): Change unsigned long to grub_uint32_t.
30443 (read_attr): Likewise.
30444 (read_data): Likewise.
30445 (read_run_data): Likewise.
30446 (read_run_list): Likewise.
30447 (read_mft): Likewise.
30448
30449 * fs/ntfscomp.c: New file.
30450
30451 * include/grub/ntfs.h: New file.
30452
af680a87 304532007-12-16 Robert Millan <rmh@aybabtu.com>
30454
30455 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
30456 IDE disk check, since Linux is known to support 20 IDE disks.
30457 Reported by Colin Watson.
30458
84be7599 304592007-12-15 Bean <bean123ch@gmail.com>
30460
30461 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
30462 (lnxboot_img_SOURCES): New variable.
30463 (lnxboot_img_ASFLAGS): Likewise.
30464 (lnxboot_img_LDFLAGS): Likewise.
30465
30466 * boot/i386/pc/lnxboot.S: New file.
30467
6af9db01 304682007-11-24 Pavel Roskin <proski@gnu.org>
30469
30470 * configure.ac: Test if '--build-id=none' is supported by the
30471 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
30472 objcopy to generate incorrect binary files (binutils
30473 2.17.50.0.18-1 as shipped by Fedora 8).
30474 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
30475 linking, so that build ID doesn't break the test.
30476
7361cfe6 304772007-11-24 Pavel Roskin <proski@gnu.org>
30478
30479 * include/grub/i386/time.h: use "void" in the argument list
30480 of grub_cpu_idle().
30481 * include/grub/powerpc/time.h: Likewise.
30482 * include/grub/sparc64/time.h: Likewise.
30483
1593e10c 304842007-11-18 Christian Franke <franke@computer.org>
30485
30486 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
30487 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
30488 This fixes the problem that function keys did not work in grub-emu.
30489
3b8db1a8 304902007-11-18 Christian Franke <franke@computer.org>
30491
30492 * disk/host.c (grub_host_open): Remove attribute unused from
30493 name parameter. Add check for "host". This fixes the problem
30494 that grub-emu does not find partitions.
30495
2e29408d 304962007-11-18 Christian Franke <franke@computer.org>
30497
30498 * util/hostfs.c (is_dir): New function.
30499 (grub_hostfs_dir): Handle missing dirent.d_type case.
30500 (grub_hostfs_read): Add missing fseek().
30501 (grub_hostfs_label): Clear label pointer. This fixes a crash
30502 of grub-emu on "ls (host)".
30503
398cd047 305042007-11-18 Christian Franke <franke@computer.org>
30505
30506 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
30507 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
30508 to 64 bit boundary by default.
30509
c405c391 305102007-11-18 Bean <bean123ch@gmail.com>
30511
30512 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
30513 (hexdump_mod_SOURCES): New variable.
30514 (hexdump_mod_CFLAGS): Likewise.
30515 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 30516
c405c391 30517 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30518
30519 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30520
30521 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30522
30523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30524
30525 * include/grub/hexdump.h: New file.
30526
30527 * commands/hexdump.c: New file.
30528
5cced7fd 305292007-11-10 Robert Millan <rmh@aybabtu.com>
30530
30531 * commands/i386/pc/play.c (beep_off): Switch order of arguments
30532 in grub_outb() calls.
30533 (beep_on): Likewise.
30534
8b714eb0 305352007-11-10 Christian Franke <franke@computer.org>
30536
30537 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
30538 (grub_menu_run): Likewise.
30539
ce0f1839 305402007-11-10 Robert Millan <rmh@aybabtu.com>
30541
30542 * include/grub/i386/efi/machine.h: New file.
30543 * include/grub/i386/linuxbios/machine.h: Likewise.
30544 * include/grub/i386/pc/machine.h: Likewise.
30545 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30546 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30547
30548 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
30549 (serial_hw_io_addr): New variable.
30550 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
30551 instead of `(unsigned short *) 0x400'.
30552
270c237d 305532007-11-10 Bean <bean123ch@gmail.com>
30554
30555 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
30556
a87783bf 305572007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30558
30559 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
30560 (vga_mod_SOURCES): Added.
30561 (vga_mod_CFLAGS): Likewise.
30562 (vga_mod_LDFLAGS): Likewise.
30563
30564 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
30565 grub_outb() calls.
30566 (set_map_mask): Likewise.
30567 (set_read_map): Likewise.
30568 (set_read_address): Likewise.
30569 (vga_font): Removed variable.
30570 (get_vga_glyph): Removed function.
30571 (invalidate_char): Likewise.
30572 (write_char): Changed to use grub_font_get_glyph() for font
30573 information.
30574 (grub_vga_putchar): Likewise.
30575 (grub_vga_getcharwidth): Likewise.
30576
6433b448 305772007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30578
30579 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
30580 flags.
30581 (pxeboot_img_LDFLAGS): Likewise.
30582 (diskboot_img_LDFLAGS): Likewise.
30583 (kernel_img_LDFLAGS): Likewise.
30584
49178511 305852007-11-06 Robert Millan <rmh@aybabtu.com>
30586
30587 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
30588 in grub_outb() calls.
30589 (serial_hw_init): Likewise.
30590
53b052de 305912007-11-05 Robert Millan <rmh@aybabtu.com>
30592
30593 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
30594 spaces. Skip non-regular files.
30595
5ab33bba 305962007-11-05 Robert Millan <rmh@aybabtu.com>
30597
30598 * kern/disk.c (grub_disk_firmware_fini)
30599 (grub_disk_firmware_is_tainted): New variables.
30600
30601 * include/grub/disk.h (grub_disk_firmware_fini)
30602 (grub_disk_firmware_is_tainted): Likewise.
30603
30604 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
30605 (grub_disk_biosdisk_fini): ... to here.
30606 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
30607 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
30608 is set. Register grub_disk_biosdisk_fini() in
30609 `grub_disk_firmware_fini'.
30610
30611 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
30612 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
30613 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
30614 to finish existing firmware disk interface.
30615
30616 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
30617 (ata_mod_SOURCES): New variable.
30618 (ata_mod_CFLAGS): Likewise.
30619 (ata_mod_LDFLAGS): Likewise.
30620
0149ab7c 306212007-11-05 Robert Millan <rmh@aybabtu.com>
30622
30623 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
30624 (grub_ata_wait): Reimplement using grub_millisleep().
30625
30626 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
30627 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
30628
be7ac41e 306292007-11-03 Marco Gerards <marco@gnu.org>
30630
30631 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
30632 (CRTC_ADDR_PORT): New macro.
30633 (CRTC_DATA_PORT): Likewise.
30634 (CRTC_CURSOR): Likewise.
30635 (CRTC_CURSOR_ADDR_HIGH): Likewise.
30636 (CRTC_CURSOR_ADDR_LOW): Likewise.
30637 (update_cursor): New function.
30638 (grub_console_real_putchar): Call `update_cursor'.
30639 (grub_console_gotoxy): Likewise.
30640 (grub_console_cls): Set the default color when clearing the
30641 screen.
30642 (grub_console_setcursor): Implemented.
30643
bb06ab2e 306442007-11-03 Marco Gerards <marco@gnu.org>
30645
30646 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
30647 become activate.
30648 (grub_ata_pio_write): Likewise.
30649
30650 (grub_atapi_identify): Wait after issuing an ATA command.
30651 (grub_atapi_packet): Likewise.
30652 (grub_ata_identify): Likewise.
30653 (grub_ata_readwrite): Likewise.
30654
cf8f780b 306552007-11-03 Marco Gerards <marco@gnu.org>
30656
30657 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
30658 (grub_ata_pio_write): Likewise.
30659 (grub_ata_readwrite): Use `grub_error', instead of
30660 returning `grub_errno'.
30661
ed649e54 306622007-11-03 Marco Gerards <marco@gnu.org>
30663
30664 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
30665 grub_ata_pio_write once for every single sector, instead of for
30666 multiple sectors.
30667
ca25d8f0 306682007-10-31 Robert Millan <rmh@aybabtu.com>
30669
30670 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
30671
30672 * conf/i386-linuxbios.rmk: New file.
30673
30674 * kern/i386/pc/hardware.c: Likewise.
30675 * term/i386/pc/at_keyboard.c: Likewise.
30676 * term/i386/pc/vga_text.c: Likewise.
30677
30678 * include/grub/i386/linuxbios/boot.h: Likewise.
30679 * include/grub/i386/linuxbios/console.h: Likewise.
30680 * include/grub/i386/linuxbios/init.h: Likewise.
30681 * include/grub/i386/linuxbios/kernel.h: Likewise.
30682 * include/grub/i386/linuxbios/loader.h: Likewise.
30683 * include/grub/i386/linuxbios/memory.h: Likewise.
30684 * include/grub/i386/linuxbios/serial.h: Likewise.
30685 * include/grub/i386/linuxbios/time.h: Likewise.
30686
30687 * kern/i386/linuxbios/init.c: Likewise.
30688 * kern/i386/linuxbios/startup.S: Likewise.
30689 * kern/i386/linuxbios/table.c: Likewise.
30690
e911ecc1 306912007-10-31 Marco Gerards <marco@gnu.org>
30692
30693 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
30694 (ata_mod_SOURCES): New variable.
30695 (ata_mod_CFLAGS): Likewise.
30696 (ata_mod_LDFLAGS): Likewise.
30697
30698 * disk/ata.c: New file.
30699
30700 * include/grub/disk.h (grub_disk_dev_id): Add
30701 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 30702
7f66d0e0 307032007-10-31 Robert Millan <rmh@aybabtu.com>
30704
30705 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
30706 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
30707
30708 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
30709 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
30710
30711 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
30712 `<grub/types.h>'.
30713
30714 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
30715
5cd7dd46 307162007-10-27 Robert Millan <rmh@aybabtu.com>
30717
3236ca65 30718 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 30719
2ebfc90f 307202007-10-22 Robert Millan <rmh@aybabtu.com>
30721
30722 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
30723 `"../realmode.S"'.
30724 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
30725
73fcb0f3 307262007-10-22 Robert Millan <rmh@aybabtu.com>
30727
30728 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
30729 (pkgdata_MODULES): Add `biosdisk.mod'.
30730 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
30731 variables.
30732
30733 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
30734 (grub_biosdisk_init): Replace with ...
30735 (GRUB_MOD_INIT(biosdisk)): ... this.
30736 (grub_biosdisk_fini): Replace with ...
30737 (GRUB_MOD_FINI(biosdisk)): ... this.
30738
30739 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
30740 (grub_machine_init): Remove call to grub_biosdisk_init().
30741 (grub_machine_fini): Remove call to grub_machine_fini().
30742
30743 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
30744
3381d274 307452007-10-22 Robert Millan <rmh@aybabtu.com>
30746
30747 * include/grub/time.h: New file.
30748 * include/grub/i386/time.h: Likewise.
30749 * include/grub/powerpc/time.h: Likewise.
30750 * include/grub/sparc64/time.h: Likewise.
30751
30752 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
30753 instances to ...
30754 (KERNEL_MACHINE_TIME_HEADER): ... this.
30755 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30756 instances to ...
30757 (KERNEL_MACHINE_TIME_HEADER): ... this.
30758 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30759 instances to ...
30760 (KERNEL_MACHINE_TIME_HEADER): ... this.
30761
30762 * kern/i386/efi/init.c: Include `<grub/time.h>'.
30763 (grub_millisleep): New function.
30764 * kern/i386/pc/init.c: Include `<grub/time.h>'.
30765 (grub_millisleep): New function.
30766 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
30767 Remove `grub/machine/time.h' include.
30768 (grub_millisleep): New function.
30769 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
30770 Remove `grub/machine/time.h' include.
30771 (grub_millisleep): New function.
30772
30773 * include/grub/misc.h (grub_div_roundup): New function.
30774
30775 * kern/misc.c: Include `<grub/time.h>'.
30776 (grub_millisleep_generic): New function.
30777
30778 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
30779 Add `time.h'.
30780 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
30781 Add `time.h'.
30782 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
30783 `machine/time.h'. Add `time.h'.
30784 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30785
a39a0312 307862007-10-21 Robert Millan <rmh@aybabtu.com>
30787
30788 * include/grub/misc.h (grub_max): New function.
30789
2aad70e2 307902007-10-21 Robert Millan <rmh@aybabtu.com>
30791
30792 * util/misc.c (grub_util_info): Call fflush() before returning.
30793
54b71c4b 307942007-10-20 Robert Millan <rmh@aybabtu.com>
30795
30796 * genmk.rb (Image): Copy `extra_flags' from here ...
30797 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
30798
30799 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
30800 to `argc' and `args' arguments.
30801
a979f513 308022007-10-17 Robert Millan <rmh@aybabtu.com>
30803
30804 * kern/i386/loader.S: New file.
30805
30806 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
30807 * kern/i386/loader.S (grub_linux_prot_size)... to here.
30808 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
30809 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
30810 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
30811 * kern/i386/loader.S (grub_linux_real_addr)... to here.
30812 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
30813 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
30814 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
30815 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
30816 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
30817 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
30818 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
30819 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
30820
30821 * kern/i386/realmode.S: New file.
30822
30823 * kern/i386/pc/startup.S (protstack): Moved from here ...
30824 * kern/i386/realmode.S (protstack)... to here.
30825 * kern/i386/pc/startup.S (gdt): Moved from here ...
30826 * kern/i386/realmode.S (gdt)... to here.
30827 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
30828 * kern/i386/realmode.S (prot_to_real)... to here.
30829
30830 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
30831 `kern/i386/realmode.S'.
30832
825fc8fd 308332007-10-17 Robert Millan <rmh@aybabtu.com>
30834
30835 * include/grub/i386/loader.h: New file.
30836
30837 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
30838 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
30839 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
30840 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
30841 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
30842 * include/grub/i386/loader.h (grub_linux_prot_size)
30843 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
30844 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
30845 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
30846 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
30847
30848 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
30849
e179b2f4 308502007-10-15 Robert Millan <rmh@aybabtu.com>
30851
30852 * normal/misc.c (grub_normal_print_device_info): Do not probe for
30853 filesystem when dev->disk is unset.
30854 Do probe for filesystem even when dev->disk->has_partitions is set.
30855 In case a filesystem is found, always report it.
30856 In case it isn't, if dev->disk->has_partitions is set, report that
30857 a partition table was found instead of reporting that no filesystem
30858 could be identified.
30859
5db82af6 308602007-10-12 Robert Millan <rmh@aybabtu.com>
30861
30862 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
30863 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
30864
68f6ac74 30865 * include/grub/types.h (grub_host_to_target16): New macro.
30866 (grub_host_to_target32): Likewise.
30867 (grub_host_to_target64): Likewise.
30868 (grub_target_to_host16): Likewise.
30869 (grub_target_to_host32): Likewise.
30870 (grub_target_to_host64): Likewise.
5db82af6 30871
30872 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30873 Renamed from to ...
30874 (GRUB_MOD_ALIGN): ...this. Update all users.
30875
68f6ac74 30876 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
30877 grub_host_to_target32.
30878 Replace grub_be_to_cpu32 with grub_target_to_host32.
30879 (load_modules): Likewise.
30880 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
30881 Replace grub_be_to_cpu32 with grub_target_to_host32.
30882 Replace grub_cpu_to_be16 with grub_host_to_target16.
30883 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 30884
3cf497cc 308852007-10-12 Robert Millan <rmh@aybabtu.com>
30886
30887 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
30888 * util/elf/grub-mkimage.c: ... here.
30889
30890 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
30891 `util/powerpc/ieee1275/grub-mkimage.c'.
30892
c8cc3692 308932007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 30894
c8cc3692 30895 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
30896 and make it easier to figure out.
30897 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
30898 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
30899 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
30900 leave us with less than HEAP_MIN_SIZE total heap.
30901 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 30902
5c58b791 309032007-10-03 Robert Millan <rmh@aybabtu.com>
30904
30905 * include/grub/i386/io.h: New file.
30906 * commands/i386/pc/play.c (inb): Removed.
30907 (outb): Removed.
30908 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30909 with grub_outb().
afcd2ef8 30910 * term/i386/pc/serial.c (inb): Removed.
30911 (outb): Removed.
30912 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30913 with grub_outb().
30914 * term/i386/pc/vga.c (inb): Removed.
30915 (outb): Removed.
30916 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30917 with grub_outb().
5c58b791 30918
1a477ed6 309192007-10-02 Robert Millan <rmh@aybabtu.com>
30920
30921 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
30922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30923 Reported by Marcin Kurek.
30924
6b5d80fa 309252007-09-07 Robert Millan <rmh@aybabtu.com>
30926
30927 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
30928 SmartFirmware version updates (as released by Sven Luther), and avoid
30929 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
30930 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
30931 known broken.
30932
5618afbf 309332007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30934
30935 From Hitoshi Ozeki:
30936 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
30937 when merging two regions.
30938
6139dcd9 309392007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30940
508e39ee 30941 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
30942 * normal/completion.c (grub_normal_do_completion): Likewise.
30943 Reported by Hitoshi Ozeki.
30944
309452007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30946
6139dcd9 30947 Do not use devices at boot in chainloading.
f19dbdb7 30948
6139dcd9 30949 * loader/i386/pc/chainloader.c (boot_drive): New variable.
30950 (boot_part_addr): Likewise.
30951 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
30952 with BOOT_DRIVE and BOOT_PART_ADDR.
30953 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
30954 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
30955
38da6516 309562007-08-29 Robert Millan <rmh@aybabtu.com>
30957
30958 Patch from Simon Peter <dn.tlp@gmx.net>:
30959 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
30960 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
30961 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
30962 util/i386/pc/grub-setup.c_DEPENDENCIES.
30963 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
30964 util/grub-probe.c_DEPENDENCIES.
30965 * conf/powerpc-ieee1275.rmk: Likewise.
30966
29d0928c 309672007-08-28 Robert Millan <rmh@aybabtu.com>
30968
30969 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
30970 to tell grub-mkdevicemap how to name devices.
30971 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
30972 feature).
30973
30974 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
30975 util/i386/get_disk_name.c.
30976 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
30977 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
30978 util/ieee1275/get_disk_name.c.
30979
30980 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
30981
30982 * DISTLIST: Add util/i386/get_disk_name.c and
30983 util/ieee1275/get_disk_name.c.
30984
30985 * util/grub-mkdevicemap.c: Replace device naming logic with
30986 grub_util_get_disk_name() calls.
30987
5a0d3cca 309882007-08-20 Robert Millan <rmh@aybabtu.com>
30989
30990 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
30991 (so that it works for both plural and singular quantities).
30992
8b72db2f 309932007-08-05 Robert Millan <rmh@aybabtu.com>
30994
30995 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
30996 so that [xz] isn't taken into account when determining order.
30997
352466bf 309982007-08-02 Marco Gerards <marco@gnu.org>
30999
31000 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
31001 `include/multiboot2.h', `include/grub/elfload.h',
31002 `include/multiboot.h', `include/grub/multiboot.h',
31003 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
31004 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
31005 `kern/elf.c', `loader/multiboot_loader.c',
31006 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
31007 `loader/i386/pc/multiboot2.c',
31008 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
31009 `util/i386/pc/grub-mkrescue.in'. Remove
31010 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
31011 `include/grub/i386/pc/util/biosdisk.h' and
31012 `include/grub/powerpc/ieee1275/multiboot.h'.
31013
8f096014 310142007-08-02 Bean <bean123ch@gmail.com>
31015
31016 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
31017 (ntfs_mod_SOURCES): New variable.
31018 (ntfs_mod_CFLAGS): Likewise.
31019 (ntfs_mod_LDFLAGS): Likewise.
31020
31021 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
31022 (grub_probe_SOURCES): Likewise.
31023 (grub_emu_SOURCES): Likewise.
31024
31025 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31026 (grub_emu_SOURCES): Likewise.
31027
31028 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31029 (grub_emu_SOURCES): Likewise.
f19dbdb7 31030
8f096014 31031 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
31032
31033 * fs/ntfs.c: New file.
31034
9959f7db 310352007-08-02 Bean <bean123ch@gmail.com>
31036
31037 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
31038
31039 * file.h (grub_file): Likewise.
31040
31041 * fshelp.h (grub_fshelp_read_file): Likewise.
31042
31043 * util/i386/pc/grub-setup.c (setup): Likewise.
31044 (save_first_sector): Likewise.
31045 (save_blocklists): Likewise.
f19dbdb7 31046
9959f7db 31047 * fs/affs.c (grub_affs_read_file): Likewise.
31048
31049 * fs/ext2.c (grub_ext2_read_file): Likewise.
31050
31051 * fs/fat.c (grub_fat_read_data): Likewise.
31052
31053 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
31054
31055 * fs/hfs.c (grub_hfs_read_file): Likewise.
31056
31057 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31058
31059 * fs/jfs.c (grub_jfs_read_file): Likewise.
31060
31061 * fs/minix.c (grub_minix_read_file): Likewise.
31062
31063 * fs/sfs.c (grub_sfs_read_file): Likewise.
31064
31065 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 31066
9959f7db 31067 * fs/xfs.c (grub_xfs_read_file): Likewise.
31068
31069 * command/blocklist.c (read_blocklist): Likewise.
31070 (print_blocklist): Likewise.
31071
0a203f83 310722007-08-02 Marco Gerards <marco@gnu.org>
31073
31074 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
31075 `util/hostfs.c'.
31076
31077 * disk/host.c: New file.
31078
31079 * util/hostfs.c: Likewise.
31080
31081 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
31082 return `GRUB_ERR_BAD_FS'.
31083 * fs/sfs.c (grub_sfs_mount): Likewise.
31084 * fs/xfs.c (grub_xfs_mount): Likewise.
31085
31086 * include/grub/disk.h (enum grub_disk_dev_id): Add
31087 `GRUB_DISK_DEVICE_HOST_ID'.
31088
31089 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
31090
e5dfe777 310912007-07-24 Jerone Young <jerone@gmail.com>
31092
f19dbdb7 31093 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 31094 modules for compilation.
31095 * conf/powerpc-ieee1275.rmk: Likewise.
31096
31097 * include/multiboot.h: Move multiboot definitions to one file. Rename
31098 many definitions to not get grub specific.
31099 * include/multiboot2.h: Create header with multiboot 2 definitions.
31100 * include/grub/multiboot.h: Header for grub specific function
31101 prototypes and definitions.
31102 * include/grub/multiboot2.h: Likewise.
31103 * include/grub/multiboot_loader.h: Likewise.
31104 * include/grub/i386/pc/multiboot.h: Removed.
31105 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
31106
31107 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
31108 and 2 to allow for one multiboot and module commands.
31109 * loader/multiboot2.c: Add multiboot2 functionality.
31110 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
31111 and definition names.
31112 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
31113 2 functions.
31114 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
31115 ieee1275 specific multiboot2 code.
31116
31117 * kern/i386/pc/startup.S: Change headers and definition names for
31118 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
31119
daf0f0ba 311202007-07-22 Robert Millan <rmh@aybabtu.com>
31121
31122 * geninitheader.sh: Process file specified in first parameter rather
31123 than hardcoding grub_modules_init.lst.
fe6b695a 31124 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 31125 than hardcoding grub_modules_init.h.
31126
31127 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
31128 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
31129 grub_probe_init.[ch] and grub_setup_init.[ch].
31130
31131 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
31132 grub_modules_init.h with grub_emu_init.h.
31133 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
31134 grub_probe_init.[ch] files.
31135 * conf/i386-efi.rmk: Likewise.
31136 * conf/i386-pc.rmk: Likewise.
31137 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
31138 grub_setup_init.[ch] files.
31139
31140 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
31141 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
31142 to initialize modules rather than a list of hardcoded functions.
31143 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
31144 grub_init_all() to initialize modules rather than a list of hardcoded
31145 functions.
31146
54cdc1cc 311472007-07-22 Robert Millan <rmh@aybabtu.com>
31148
31149 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
31150 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
31151
ad0686cc 311522007-07-22 Robert Millan <rmh@aybabtu.com>
31153
31154 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31155 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
31156 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
31157 flag when running on SmartFirmware.
31158 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
31159 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
31160 was set.
31161
31162 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31163 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
31164 rather than decreasing it.
31165
31166 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
31167 there's not enough space to do it, fail in the same way as when it
31168 can't be done because there are no partitions.
31169
31170 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
31171 when nvsetenv failed.
31172
969c02ec 311732007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31174
31175 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
31176 because this rule is automatically generated.
31177 (grub-mkrescue): Removed for the same reason as above.
31178
5a79f472 311792007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31180
31181 Migrate to GNU General Public License Version 3.
f19dbdb7 31182
5a79f472 31183 * COPYING: Replaced with the plain text version of GPLv3.
31184
31185 * config.guess: Updated from gnulib.
31186 * config.sub: Likewise.
31187
31188 * geninit.sh: Output a GPLv3 copyright notice.
31189 * geninitheader.sh: Likewise.
31190 * genmodsrc.sh: Likewise.
31191 * gensymlist.sh.in: Likewise.
31192
31193 * boot/i386/pc/boot.S: Upgraded to GPLv3.
31194 * boot/i386/pc/diskboot.S: Likewise.
31195 * boot/i386/pc/pxeboot.S: Likewise.
31196 * commands/blocklist.c: Likewise.
31197 * commands/boot.c: Likewise.
31198 * commands/cat.c: Likewise.
31199 * commands/cmp.c: Likewise.
31200 * commands/configfile.c: Likewise.
31201 * commands/echo.c: Likewise.
31202 * commands/help.c: Likewise.
31203 * commands/ls.c: Likewise.
31204 * commands/search.c: Likewise.
31205 * commands/terminal.c: Likewise.
31206 * commands/test.c: Likewise.
31207 * commands/videotest.c: Likewise.
31208 * commands/i386/cpuid.c: Likewise.
31209 * commands/i386/pc/halt.c: Likewise.
31210 * commands/i386/pc/play.c: Likewise.
31211 * commands/i386/pc/reboot.c: Likewise.
31212 * commands/i386/pc/vbeinfo.c: Likewise.
31213 * commands/i386/pc/vbetest.c: Likewise.
31214 * commands/ieee1275/halt.c: Likewise.
31215 * commands/ieee1275/reboot.c: Likewise.
31216 * commands/ieee1275/suspend.c: Likewise.
31217 * disk/loopback.c: Likewise.
31218 * disk/lvm.c: Likewise.
31219 * disk/raid.c: Likewise.
31220 * disk/efi/efidisk.c: Likewise.
31221 * disk/i386/pc/biosdisk.c: Likewise.
31222 * disk/ieee1275/ofdisk.c: Likewise.
31223 * font/manager.c: Likewise.
31224 * fs/affs.c: Likewise.
31225 * fs/ext2.c: Likewise.
31226 * fs/fat.c: Likewise.
31227 * fs/fshelp.c: Likewise.
31228 * fs/hfs.c: Likewise.
31229 * fs/hfsplus.c: Likewise.
31230 * fs/iso9660.c: Likewise.
31231 * fs/jfs.c: Likewise.
31232 * fs/minix.c: Likewise.
31233 * fs/sfs.c: Likewise.
31234 * fs/ufs.c: Likewise.
31235 * fs/xfs.c: Likewise.
31236 * hello/hello.c: Likewise.
31237 * include/grub/acorn_filecore.h: Likewise.
31238 * include/grub/arg.h: Likewise.
31239 * include/grub/bitmap.h: Likewise.
31240 * include/grub/boot.h: Likewise.
31241 * include/grub/cache.h: Likewise.
31242 * include/grub/device.h: Likewise.
31243 * include/grub/disk.h: Likewise.
31244 * include/grub/dl.h: Likewise.
31245 * include/grub/elfload.h: Likewise.
31246 * include/grub/env.h: Likewise.
31247 * include/grub/err.h: Likewise.
31248 * include/grub/file.h: Likewise.
31249 * include/grub/font.h: Likewise.
31250 * include/grub/fs.h: Likewise.
31251 * include/grub/fshelp.h: Likewise.
31252 * include/grub/gzio.h: Likewise.
31253 * include/grub/hfs.h: Likewise.
31254 * include/grub/kernel.h: Likewise.
31255 * include/grub/loader.h: Likewise.
31256 * include/grub/lvm.h: Likewise.
31257 * include/grub/misc.h: Likewise.
31258 * include/grub/mm.h: Likewise.
31259 * include/grub/net.h: Likewise.
31260 * include/grub/normal.h: Likewise.
31261 * include/grub/parser.h: Likewise.
31262 * include/grub/partition.h: Likewise.
31263 * include/grub/pc_partition.h: Likewise.
31264 * include/grub/raid.h: Likewise.
31265 * include/grub/rescue.h: Likewise.
31266 * include/grub/script.h: Likewise.
31267 * include/grub/setjmp.h: Likewise.
31268 * include/grub/symbol.h: Likewise.
31269 * include/grub/term.h: Likewise.
31270 * include/grub/terminfo.h: Likewise.
31271 * include/grub/tparm.h: Likewise.
31272 * include/grub/types.h: Likewise.
31273 * include/grub/video.h: Likewise.
31274 * include/grub/efi/api.h: Likewise.
31275 * include/grub/efi/chainloader.h: Likewise.
31276 * include/grub/efi/console.h: Likewise.
31277 * include/grub/efi/console_control.h: Likewise.
31278 * include/grub/efi/disk.h: Likewise.
31279 * include/grub/efi/efi.h: Likewise.
31280 * include/grub/efi/pe32.h: Likewise.
31281 * include/grub/efi/time.h: Likewise.
31282 * include/grub/i386/linux.h: Likewise.
31283 * include/grub/i386/setjmp.h: Likewise.
31284 * include/grub/i386/types.h: Likewise.
31285 * include/grub/i386/efi/kernel.h: Likewise.
31286 * include/grub/i386/efi/loader.h: Likewise.
31287 * include/grub/i386/efi/time.h: Likewise.
31288 * include/grub/i386/pc/biosdisk.h: Likewise.
31289 * include/grub/i386/pc/boot.h: Likewise.
31290 * include/grub/i386/pc/chainloader.h: Likewise.
31291 * include/grub/i386/pc/console.h: Likewise.
31292 * include/grub/i386/pc/init.h: Likewise.
31293 * include/grub/i386/pc/kernel.h: Likewise.
31294 * include/grub/i386/pc/loader.h: Likewise.
31295 * include/grub/i386/pc/memory.h: Likewise.
31296 * include/grub/i386/pc/multiboot.h: Likewise.
31297 * include/grub/i386/pc/serial.h: Likewise.
31298 * include/grub/i386/pc/time.h: Likewise.
31299 * include/grub/i386/pc/vbe.h: Likewise.
31300 * include/grub/i386/pc/vbeblit.h: Likewise.
31301 * include/grub/i386/pc/vbefill.h: Likewise.
31302 * include/grub/i386/pc/vbeutil.h: Likewise.
31303 * include/grub/i386/pc/vga.h: Likewise.
31304 * include/grub/ieee1275/ieee1275.h: Likewise.
31305 * include/grub/ieee1275/ofdisk.h: Likewise.
31306 * include/grub/powerpc/libgcc.h: Likewise.
31307 * include/grub/powerpc/setjmp.h: Likewise.
31308 * include/grub/powerpc/types.h: Likewise.
31309 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
31310 * include/grub/powerpc/ieee1275/console.h: Likewise.
31311 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
31312 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31313 * include/grub/powerpc/ieee1275/loader.h: Likewise.
31314 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
31315 * include/grub/powerpc/ieee1275/time.h: Likewise.
31316 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
31317 * include/grub/sparc64/libgcc.h: Likewise.
31318 * include/grub/sparc64/setjmp.h: Likewise.
31319 * include/grub/sparc64/types.h: Likewise.
31320 * include/grub/sparc64/ieee1275/console.h: Likewise.
31321 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31322 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31323 * include/grub/sparc64/ieee1275/time.h: Likewise.
31324 * include/grub/util/biosdisk.h: Likewise.
31325 * include/grub/util/getroot.h: Likewise.
31326 * include/grub/util/lvm.h: Likewise.
31327 * include/grub/util/misc.h: Likewise.
31328 * include/grub/util/raid.h: Likewise.
31329 * include/grub/util/resolve.h: Likewise.
31330 * io/gzio.c: Likewise.
31331 * kern/device.c: Likewise.
31332 * kern/disk.c: Likewise.
31333 * kern/dl.c: Likewise.
31334 * kern/elf.c: Likewise.
31335 * kern/env.c: Likewise.
31336 * kern/err.c: Likewise.
31337 * kern/file.c: Likewise.
31338 * kern/fs.c: Likewise.
31339 * kern/loader.c: Likewise.
31340 * kern/main.c: Likewise.
31341 * kern/misc.c: Likewise.
31342 * kern/mm.c: Likewise.
31343 * kern/parser.c: Likewise.
31344 * kern/partition.c: Likewise.
31345 * kern/rescue.c: Likewise.
31346 * kern/term.c: Likewise.
31347 * kern/efi/efi.c: Likewise.
31348 * kern/efi/init.c: Likewise.
31349 * kern/efi/mm.c: Likewise.
31350 * kern/i386/dl.c: Likewise.
31351 * kern/i386/efi/init.c: Likewise.
31352 * kern/i386/efi/startup.S: Likewise.
31353 * kern/i386/pc/init.c: Likewise.
31354 * kern/i386/pc/lzo1x.S: Likewise.
31355 * kern/i386/pc/startup.S: Likewise.
31356 * kern/ieee1275/ieee1275.c: Likewise.
31357 * kern/powerpc/cache.S: Likewise.
31358 * kern/powerpc/dl.c: Likewise.
31359 * kern/powerpc/ieee1275/cmain.c: Likewise.
31360 * kern/powerpc/ieee1275/crt0.S: Likewise.
31361 * kern/powerpc/ieee1275/init.c: Likewise.
31362 * kern/powerpc/ieee1275/openfw.c: Likewise.
31363 * kern/sparc64/cache.S: Likewise.
31364 * kern/sparc64/dl.c: Likewise.
31365 * kern/sparc64/ieee1275/init.c: Likewise.
31366 * kern/sparc64/ieee1275/openfw.c: Likewise.
31367 * loader/efi/chainloader.c: Likewise.
31368 * loader/efi/chainloader_normal.c: Likewise.
31369 * loader/i386/efi/linux.c: Likewise.
31370 * loader/i386/efi/linux_normal.c: Likewise.
31371 * loader/i386/pc/chainloader.c: Likewise.
31372 * loader/i386/pc/chainloader_normal.c: Likewise.
31373 * loader/i386/pc/linux.c: Likewise.
31374 * loader/i386/pc/linux_normal.c: Likewise.
31375 * loader/i386/pc/multiboot.c: Likewise.
31376 * loader/i386/pc/multiboot_normal.c: Likewise.
31377 * loader/powerpc/ieee1275/linux.c: Likewise.
31378 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31379 * normal/arg.c: Likewise.
31380 * normal/cmdline.c: Likewise.
31381 * normal/command.c: Likewise.
31382 * normal/completion.c: Likewise.
31383 * normal/execute.c: Likewise.
31384 * normal/function.c: Likewise.
31385 * normal/lexer.c: Likewise.
31386 * normal/main.c: Likewise.
31387 * normal/menu.c: Likewise.
31388 * normal/menu_entry.c: Likewise.
31389 * normal/misc.c: Likewise.
31390 * normal/parser.y: Likewise.
31391 * normal/script.c: Likewise.
31392 * normal/i386/setjmp.S: Likewise.
31393 * normal/powerpc/setjmp.S: Likewise.
31394 * normal/sparc64/setjmp.S: Likewise.
31395 * partmap/acorn.c: Likewise.
31396 * partmap/amiga.c: Likewise.
31397 * partmap/apple.c: Likewise.
31398 * partmap/gpt.c: Likewise.
31399 * partmap/pc.c: Likewise.
31400 * partmap/sun.c: Likewise.
31401 * term/gfxterm.c: Likewise.
31402 * term/terminfo.c: Likewise.
31403 * term/efi/console.c: Likewise.
31404 * term/i386/pc/console.c: Likewise.
31405 * term/i386/pc/serial.c: Likewise.
31406 * term/i386/pc/vesafb.c: Likewise.
31407 * term/i386/pc/vga.c: Likewise.
31408 * term/ieee1275/ofconsole.c: Likewise.
31409 * util/biosdisk.c: Likewise.
31410 * util/console.c: Likewise.
31411 * util/genmoddep.c: Likewise.
31412 * util/getroot.c: Likewise.
31413 * util/grub-emu.c: Likewise.
31414 * util/grub-mkdevicemap.c: Likewise.
31415 * util/grub-probe.c: Likewise.
31416 * util/lvm.c: Likewise.
31417 * util/misc.c: Likewise.
31418 * util/raid.c: Likewise.
31419 * util/resolve.c: Likewise.
31420 * util/update-grub.in: Likewise.
31421 * util/update-grub_lib.in: Likewise.
31422 * util/grub.d/00_header.in: Likewise.
31423 * util/grub.d/10_hurd.in: Likewise.
31424 * util/grub.d/10_linux.in: Likewise.
31425 * util/i386/efi/grub-install.in: Likewise.
31426 * util/i386/efi/grub-mkimage.c: Likewise.
31427 * util/i386/pc/grub-install.in: Likewise.
31428 * util/i386/pc/grub-mkimage.c: Likewise.
31429 * util/i386/pc/grub-mkrescue.in: Likewise.
31430 * util/i386/pc/grub-setup.c: Likewise.
31431 * util/i386/pc/misc.c: Likewise.
31432 * util/powerpc/ieee1275/grub-install.in: Likewise.
31433 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
31434 * util/powerpc/ieee1275/misc.c: Likewise.
31435 * video/bitmap.c: Likewise.
31436 * video/video.c: Likewise.
31437 * video/i386/pc/vbe.c: Likewise.
31438 * video/i386/pc/vbeblit.c: Likewise.
31439 * video/i386/pc/vbefill.c: Likewise.
31440 * video/i386/pc/vbeutil.c: Likewise.
31441 * video/readers/tga.c: Likewise.
31442
3572d015 314432007-07-02 Robert Millan <rmh@aybabtu.com>
31444
31445 * conf/i386-efi.rmk: Replace obsolete reference to
31446 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
31447 with util/getroot.c.
31448 * conf/powerpc-ieee1275.rmk: Likewise.
31449 * conf/sparc64-ieee1275.rmk: Likewise.
31450
31451 * util/grub-emu.c (main): Fix unchecked pointer handling.
31452
2c2a681b 314532007-07-02 Robert Millan <rmh@aybabtu.com>
31454
31455 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
31456 invocation to fail, in order to support partition-less media.
31457
31458 * util/i386/pc/grub-install.in: Likewise.
31459
31460 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
31461 which fs or partmap modules are needed (akin to its sister scripts).
31462
31463 Also use grub-probe to get rid of unportable /proc/mounts check.
31464
31465 Print the same informational message that the other scripts do, before
fe6b695a 31466 exiting.
2c2a681b 31467
6193defe 314682007-06-23 Robert Millan <rmh@aybabtu.com>
31469
fe6b695a 31470 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 31471 a font file can be found and, if so, echo the GRUB path to it.
31472
31473 * util/update-grub.in: Handle multiple terminals depending on user
31474 input, platform availability and font file presence. Propagate
31475 variables of our findings to /etc/grub.d/ children.
31476
31477 * util/grub.d/00_header.in: Handle multiple terminals, based on
31478 environment setup by update-grub.
31479
eface1dc 314802007-06-23 Robert Millan <rmh@aybabtu.com>
31481
ba50d28f 31482 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 31483
bf697e28 314842007-06-21 Robert Millan <rmh@aybabtu.com>
31485
31486 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
31487 indicate end of data section in kernel image.
31488 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
31489 GRUB_KERNEL_MACHINE_DATA_END.
31490
31491 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
31492 space for it.
31493 * kern/i386/efi/startup.S: Likewise.
31494
31495 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
31496 during image generation. Implement --prefix option to override this
31497 patch.
31498 * util/i386/efi/grub-mkimage.c: Likewise.
31499
31500 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
31501 code to make path relative to its root into a separate function.
31502
31503 * util/i386/pc/grub-install.in: Use newly provided
31504 make_system_path_relative_to_its_root() to convert ${grubdir}, then
31505 pass the result to grub-install --prefix.
31506
baa574b4 315072007-06-13 Robert Millan <rmh@aybabtu.com>
31508
31509 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
31510 DEFAULT_DEVICE_MAP.
31511 * util/grub-emu.c: Use above definitions from misc.h instead of
31512 defining them.
31513 * util/grub-mkdevicemap.c: Likewise.
31514 * util/i386/pc/grub-setup.c: Likewise.
31515 * util/grub-probe.c: Likewise.
31516 (probe): Abort with grub_util_error() when either
31517 grub_guess_root_device or grub_util_get_grub_dev fails.
31518
0215dcbf 315192007-06-12 Robert Millan <rmh@aybabtu.com>
31520
31521 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
31522 "pager" assignment.
31523 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
31524 "pcdata".
31525 * util/grub-probe.c (probe): Likewise for "drive_name".
31526
8af2ab7b 315272007-06-11 Robert Millan <rmh@aybabtu.com>
31528
31529 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
31530 not just the cdrom one.
31531
59d31694 315322007-06-11 Robert Millan <rmh@aybabtu.com>
31533
31534 * util/i386/pc/grub-mkrescue.in: Add "set -e".
31535 Add --pkglibdir=DIR option to override pkglibdir.
31536 Mention --image-type=TYPE in help output.
31537 Fix --grub-mkimage (it was a no-op).
fe6b695a 31538 Abort gracefully when no parameter is given.
59d31694 31539
7ee367e4 315402007-06-11 Robert Millan <rmh@aybabtu.com>
31541
31542 * util/i386/pc/grub-mkrescue.in: New file.
31543 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
31544 * Makefile.in: Handle bin_SCRIPTS.
31545
29b0ed46 315462007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
31547
31548 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
31549 list of video modes.
31550
c0f90770 315512007-06-06 Robert Millan <rmh@aybabtu.com>
31552
31553 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
31554 file doesn't exist, or if it is in a filesystem grub can't read.
31555
31556 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
31557 not abort if GRUB_DRIVE could not be defined. Rearrange generated
31558 header comment to fit in 80 columns when the variables are resolved.
31559
31560 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
31561 could be identified by update-grub. Remove redundant check for
fe6b695a 31562 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 31563 handles that).
31564
fb36dc26 315652007-06-04 Robert Millan <rmh@aybabtu.com>
31566
31567 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
31568
31569 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
31570
31571 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
31572
0c68c93e 315732007-06-04 Robert Millan <rmh@aybabtu.com>
31574
31575 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
31576
31577 * include/grub/partition.h: Declare grub_apple_partition_map_init and
31578 grub_apple_partition_map_fini.
31579
31580 * util/biosdisk.c
31581 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
31582 to access >2 TiB disks).
31583
31584 Print disk->total_sectors with %llu instead of %lu, since this
31585 variable is always 64-bit (prevents wrong disk size from being displayed
31586 on either >2 TiB disk or big-endian CPU).
31587
31588 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
31589 into a generic case that supports all (sane) partition maps.
31590
31591 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
31592 breaks big-endian.
31593
31594 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
31595 and grub_apple_partition_map_fini() after that.
31596
0f23eb74 315972007-06-01 Robert Millan <rmh@aybabtu.com>
31598
31599 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
31600
31601 * util/grub.d/00_header.in: Only enable gfxterm when
31602 convert_system_path_to_grub_path() succeeds.
31603
42c71976 316042007-05-20 Robert Millan <rmh@aybabtu.com>
31605
31606 * util/update-grub_lib.in: New file.
31607 * DISTLIST: Add update-grub_lib.in.
31608 * conf/common.rmk: Generate update-grub_lib and install it in
31609 $(lib_DATA).
31610 * Makefile.in: Add install routine for $(lib_DATA).
31611
31612 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
31613 function provided by update-grub_lib to support arbitrary paths of
31614 unifont.pff.
31615 * util/update-grub.in: Use convert_system_path_to_grub_path() to
31616 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
31617
5beb2291 316182007-05-19 Robert Millan <rmh@aybabtu.com>
31619
31620 * commands/i386/cpuid.c: New module.
31621 * DISTLIST: Add it.
31622 * conf/i386-efi.rmk: Enable cpuid.mod.
31623 * conf/i386-pc.rmk: Likewise.
31624
7262eca1 316252007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31626
31627 * kern/disk.c (grub_disk_read): Check return value of
31628 grub_realloc().
31629
260ba823 316302007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31631
31632 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
31633 arrays.
31634 * disk/raid.c (grub_raid_open): Likewise.
31635
1ecb6cf2 316362007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31637
31638 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
31639 stack instead of on the heap.
31640
31641 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
31642 before doing a read on it.
31643
31644 * configure.ac: Only use -fno-stack-protector for the target
31645 environment.
f19dbdb7 31646
21c8cbb1 316472007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31648
31649 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
31650 __attribute_ ((unused)) to mode_type argument.
31651
31652 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 31653
21c8cbb1 31654 * kern/misc.c (memcmp): Fix prototype.
31655
31656 * include/grub/partition.h [GRUB_UTIL]
31657 (grub_gpt_partition_map_init): Add prototype.
31658 (grub_gpt_partition_map_fini): Likewise.
31659
31660 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
31661 at the right place.
31662
31663 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
31664 (grub_fat_read_data): Likewise.
31665 (grub_fat_find_dir): Likewise.
31666
31667 * font/manager.c (find_glyph): Make table a const.
31668 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 31669
849d55d3 316702007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
31671
31672 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
31673 code, first search for device in /dev/mapper, then in /dev.
31674 (grub_util_get_grub_dev): New function.
31675 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
31676 prototype.
31677 * util/grub-probe.c (probe): Remove check for RAID, call
31678 grub_util_get_grub_dev() instead of
31679 grub_util_biosdisk_get_grub_dev().
31680 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
31681 grub_util_biosdisk_get_grub_dev().
31682 * util/i386/pc/grub-setup.c (main): Likewise.
31683
8fff7c2f 316842007-05-16 Robert Millan <rmh@aybabtu.com>
31685
31686 * DISTLIST: Update for the latest changes.
31687 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
31688 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
31689 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
31690 grub/util/biosdisk.h.
31691 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
31692 grub/util/biosdisk.h.
31693
48e12b52 316942007-05-16 Robert Millan <rmh@aybabtu.com>
31695
31696 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
31697
46b9d128 316982007-05-16 Robert Millan <rmh@aybabtu.com>
31699
31700 * util/i386/efi/grub-install.in: New.
31701 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
31702 newly added grub-install.
31703 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
31704 include.
31705 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
31706 grub/util/biosdisk.h.
31707 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
31708 grub/util/biosdisk.h.
31709
2d1a40a9 317102007-05-16 Robert Millan <rmh@aybabtu.com>
31711
31712 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
31713 * include/grub/util/biosdisk.h: ... here.
31714 * util/i386/pc/biosdisk.c: Moved to ...
31715 * util/biosdisk.c: ... here.
31716 * util/i386/pc/getroot.c: Moved to ...
31717 * util/getroot.c: ... here.
31718 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
31719 * util/grub-mkdevicemap.c: ... here.
31720 * util/i386/pc/grub-probe.c: Moved to ...
31721 * util/grub-probe.c: ... here.
31722
9e26e3bc 317232007-05-15 Robert Millan <rmh@aybabtu.com>
31724
31725 * util/update-grub.in: Remove duplicated line in grub.cfg header
31726 message.
31727
57f96397 317282007-05-13 Robert Millan <rmh@aybabtu.com>
31729
31730 * util/update-grub.in: Fix a few assumptions about the devices holding
31731 /, /boot and /boot/grub being the same.
31732 * util/grub.d/00_header.in: Likewise.
31733 * util/grub.d/10_hurd.in: Likewise.
31734 * util/grub.d/10_linux.in: Likewise.
31735
31736 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
31737 patterns. Use that to define the `.old' suffix as older than `'.
31738
31739 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
31740
31741 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
31742 the grub.cfg header message.
31743
2e610d62 317442007-05-11 Robert Millan <rmh@aybabtu.com>
31745
31746 * util/update-grub.in: Create device.map if it doesn't already exist,
31747 before attempting to run grub-probe.
31748 Check for grub-probe and grub-mkdevicemap with the same code
31749 grub-install is using.
31750 Remove test mode.
31751
3f6a10ef 317522007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
31753
31754 * Makefile.in: Add the datarootdir autoconf variable.
31755
02e7b75e 317562007-05-09 Robert Millan <rmh@aybabtu.com>
31757
31758 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 31759 fail gracefully if dev->disk->partition == NULL.
02e7b75e 31760
75f396cc 317612007-05-07 Robert Millan <rmh@aybabtu.com>
31762
31763 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
31764 determine partition map module.
31765 * util/i386/pc/grub-install.in: Use this feature to decide which
31766 partition module to load, instead of hardcoding pc and gpt.
31767
da65cb36 317682007-05-07 Robert Millan <rmh@aybabtu.com>
31769
31770 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
31771 source directory differs from build directory.
31772
b57d6a91 317732007-05-05 Robert Millan <rmh@aybabtu.com>
31774
31775 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
31776 initialisation.
31777
509d00f1 317782007-05-05 Robert Millan <rmh@aybabtu.com>
31779
31780 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
31781
c48f23ef 317822007-05-05 Robert Millan <rmh@aybabtu.com>
31783
31784 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
31785 command-line arguments via ${GRUB_CMDLINE_LINUX}.
31786
20b97658 317872007-05-05 Robert Millan <rmh@aybabtu.com>
31788
31789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
31790 (grub_probe_SOURCES): Likewise.
31791 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
31792 GPT and initialize dos_part and bsd_part accordingly.
31793 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
31794 install_bsd_part.
31795 (main): Activate gpt module for use during partition identification,
31796 and deactivate it afterwards.
31797 * util/i386/pc/grub-install.in: Add gpt module to core.img.
31798 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
31799 partition identification, and deactivate it afterwards.
31800
99123174 318012007-05-05 Robert Millan <rmh@aybabtu.com>
31802
31803 * term/i386/pc/console.c (grub_console_fini): Call
31804 grub_term_set_current() before grub_term_unregister().
31805
ebd97f6e 318062007-05-04 Robert Millan <rmh@aybabtu.com>
31807
31808 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
31809 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
31810 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
31811 and update-grub_DATA.
31812 * conf/common.rmk: Build and install update-grub components.
31813 * conf/common.mk: Regenerate.
31814 * util/update-grub.in: New. Core of update-grub.
31815 * util/grub.d/00_header.in: New. Generates grub.cfg header.
31816 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
31817 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
31818 * util/grub.d/README: New. Document grub.d directory layout.
31819
b06a264d 318202007-05-01 Robert Millan <rmh@aybabtu.com>
31821
31822 * util/grub-emu.c: Move initialization functions
31823 grub_util_biosdisk_init() and grub_init_all() before
31824 grub_util_biosdisk_get_grub_dev(), which relies on them.
31825
41f0050e 318262007-04-19 Robert Millan <rmh@aybabtu.com>
31827
31828 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
31829 it is used later.
31830
04582bb3 318312007-04-18 Jerone Young <jerone@gmail.com>
31832
f19dbdb7 31833 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 31834 stanza.
31835
08db4632 318362007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 31837
08db4632 31838 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
31839 continue on and look for device node with real device name.
31840
801b76be 318412007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 31842
fe6b695a 31843 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 31844 ability.
31845 * Makefile.in: Add autoconf package transformation code.
31846 * util/i386/pc/grub-install.in: Likewise.
31847 * util/powerpc/ieee1275/grub-install.in: Likewise.
31848
6795c4e1 318492007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31850
31851 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
31852 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
31853 (EXT2_REVISION): Likewise.
31854 (EXT2_INODE_SIZE): Likewise.
31855 (struct grub_ext2_block_group): Added a missing member
31856 "used_dirs".
31857 (grub_ext2_read_inode): Divide by the inode size in a superblock
31858 instead of 128 to obtain INODES_PER_BLOCK.
31859 Use the macro EXT2_INODE_SIZE instead of directly using
31860 SBLOCK->INODE_SIZE.
31861
d70af616 318622007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31863
31864 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
31865 superblock instead of the structure size to compute an
31866 offset. This fixes the problem that GRUB could not read a
31867 filesystem when inode size is different from 128-byte.
31868
3b801603 318692007-03-05 Marco Gerards <marco@gnu.org>
31870
31871 * normal/main.c (read_config_file): When "menu" is not set, create
31872 an initial context.
31873
4785bfe4 318742007-02-21 Hollis Blanchard <hollis@penguinppc.org>
31875
31876 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
31877 (HEAP_LIMIT): New macro.
31878 (grub_claim_heap): Claim memory up to `heaplimit'.
31879
a0cbb023 318802007-02-21 Hollis Blanchard <hollis@penguinppc.org>
31881
31882 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
31883 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
31884 (_start): Likewise.
31885 (grub_arch_modules_addr): Return address after `_end'.
31886 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
31887 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
31888 (add_segments): Calculate `_end' from phdr size and location.
31889 (ALIGN_UP): Moved to ...
31890 * include/grub/misc.h: here.
31891 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31892 New macro.
31893 (GRUB_IEEE1275_MODULE_BASE): Removed.
31894
fd7d8eba 318952007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31896
31897 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
31898 loop boundary.
31899
9b09e6fc 319002007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31901
31902 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
31903 All users updated.
31904 (grub_elf64_load_hook_t): Likewise.
31905 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
31906 debug output.
31907
3ce27299 319082007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31909
31910 * kern/mm.c: Update copyright.
31911 (grub_mm_debug): Correct syntax error.
31912 (grub_mm_dump_free): New function.
31913 (grub_debug_free): Call `grub_free'.
31914 * include/grub/mm.h: Update copyright.
31915 (grub_mm_dump_free): Add declaration.
31916
077d5fee 319172007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31918
31919 * include/grub/ieee1275/ieee1275.h: Update copyright.
31920 * kern/powerpc/ieee1275/init.c: Likewise.
31921 * kern/powerpc/ieee1275/openfw.c: Likewise.
31922
31923 * loader/powerpc/ieee1275/linux.c: Likewise.
31924 * include/grub/elfload.h: Likewise.
31925 * kern/elf.c: Likewise.
31926 (grub_elf32_load): Pass `base' and `size' parameters. Update all
31927 callers.
31928 (grub_elf64_load): Likewise.
31929 (grub_elf32_load_segment): Move to a nested function.
31930 (grub_elf64_load_segment): Likewise.
31931
dc946850 319322007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31933
31934 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
31935 prototype.
31936 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
31937 (grub_heap_len): Likewise.
31938 (HEAP_SIZE): New macro.
31939 (grub_claim_heap): New function.
31940 (grub_machine_init): Don't claim heap directly. Call
31941 `grub_claim_heap'.
31942 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
31943 (grub_available_iterate): New function.
31944
baa2a121 319452007-02-03 Thomas Schwinge <tschwinge@gnu.org>
31946
31947 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
31948 * configure.ac: Use it for testing the HOST and TARGET compilers.
31949
4fe9862e 319502006-12-13 Thomas Schwinge <tschwinge@gnu.org>
31951
31952 * Makefile.in (enable_grub_emu): New variable.
31953 * configure.ac (--enable-grub-emu): New option.
31954 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
31955 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
31956 * conf/i386-pc.rmk: Likewise.
31957 * conf/powerpc-ieee1275.rmk: Likewise.
31958 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
31959
a8aa5762 319602006-12-12 Marco Gerards <marco@gnu.org>
31961
31962 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
31963
31964 * kern/env.c (grub_env_unset): Don't free the member `value' when
31965 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
31966 pointer.
31967
31968 * normal/main.c (current_menu): Removed.
31969 (free_menu): Unset the `menu' environment variable.
31970 (grub_normal_menu_addentry): Make use of the environment variable
31971 `menu', instead of using the global `current_menu'. Allocate
31972 memory for the sourcecode of this entry.
31973 (read_config_file): New argument `nested', changed all callers.
31974 Only in the case of a new context, initialize a new menu. Set the
31975 `menu' environment variable.
31976 (grub_normal_execute): Don't set and unset the environment
31977 variable `menu' here anymore. Only free the menu when leaving the
31978 context.
31979
31980 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
31981 leak.
31982
957b3a3e 319832006-12-11 Marco Gerards <marco@gnu.org>
31984
31985 * normal/menu_entry.c (run): Fix off by one bug so the last line
31986 is executed. Move the loader check to outside the loop.
31987
ef875714 319882006-12-08 Hollis Blanchard <hollis@penguinppc.org>
31989
31990 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
31991
4e739985 319922006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
31993
31994 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
31995 the number of sectors. Reported by Andrey Shuvikov
31996 <mr_hyro@yahoo.com>.
f19dbdb7 31997
790707f2 319982006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
31999
32000 * kern/disk.c (grub_disk_read): When there is a read error, always
32001 try to read only the necessary data.
f19dbdb7 32002
790707f2 32003 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
32004 disk/raid.c.
32005 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
32006 prototype.
32007 [GRUB_UTIL] (grub_raid_fini): Likewise.
32008 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 32009 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 32010 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
32011 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
32012 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
32013 and grub_raid_fini().
f19dbdb7 32014
03e58196 320152006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32016
32017 * include/grub/types.h (__unused): Rename to UNUSED.
32018 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
32019 (grub_elf64_size): Likewise.
f19dbdb7 32020
ae4f23bf 320212006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32022
32023 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
32024 grub_error_push and grub_error_pop in the error-handling path.
32025 (grub_elf32_load_segment): Only call grub_file_read with non-zero
32026 length.
32027
2166cc83 320282006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32029
32030 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
32031 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32033 (kernel_elf_SOURCES): Likewise.
32034 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
32035 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
32036 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32037 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32038 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
32039 (elf_mod_SOURCES): New variable.
32040 (elf_mod_CFLAGS): Likewise.
32041 (elf_mod_LDFLAGS): Likewise.
32042 * include/grub/types.h (__unused): New macro.
32043 * include/grub/elfload.h: New file.
32044 * kern/elf.c: Likewise.
32045 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
32046 (ELF32_LOADMASK): New macro.
32047 (ELF64_LOADMASK): Likewise.
32048 (vmlinux): Removed.
32049 (grub_linux_load32): New function.
32050 (grub_linux_load64): Likewise.
32051 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
32052 Use grub_elf_t instead of grub_file_t.
32053
a09d5aa5 320542006-11-02 Hollis Blanchard <hollis@penguinppc.org>
32055
32056 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
32057 `catch_result' to struct set_color_args.
32058
d976fc51 320592006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32060
32061 * normal/menu.c: Include grub/script.h.
32062 * normal/menu_entry.c: Likewise.
32063 * include/grub/normal.h: Do not include grub/script.h.
32064
67507549 320652006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32066
32067 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
32068
69203a99 320692006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32070
32071 * kern/disk.c (grub_disk_open): Print debug messages when opening a
32072 disk.
32073 (grub_disk_close): Print debug messages when closing a disk.
32074 (grub_disk_read): Print debug messages when disk read fails.
32075 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
32076 filesystem type.
32077 * kern/partition.c: Include misc.h.
32078 (grub_partition_iterate): Print debug messages when detecting
32079 partition type.
32080
e2b8278c 320812006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32082
32083 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
32084 is negative.
32085 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
32086
97b2f2ff 320872006-10-26 Hollis Blanchard <hollis@penguinppc.org>
32088
32089 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32090 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
32091
6555d655 320922006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
32093
32094 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
32095 instead of sizeof(lv). Patch by Michael Guntsche.
32096
4d42b77f 320972006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
32098
32099 * disk/lvm.c: Rename VGS to VG_LIST.
32100 (grub_lvm_iterate): Change VGS->LV to VG-LV.
32101 (grub_lvm_open): Likewise.
32102 Thanks to Michael Guntsche for finding this bug.
32103
5d74d927 321042006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32105
32106 * configure.ac (AC_INIT): Bumped to 1.95.
32107
a1bb27e4 321082006-10-14 Robert Millan <rmh@aybabtu.com>
32109
32110 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
32111 with "/dev/.static/dev/md".
32112
e0994b8b 321132006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32114
32115 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
32116 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
32117 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
32118 DRIVE_NAME are always freed.
32119
32120 * util/i386/pc/biosdisk.c (make_device_name): Add one into
32121 DOS_PART, as a DOS partition is counted from one instead of zero
32122 now. Reported by Robert Millan.
32123
ddd5cee9 321242006-10-14 Robert Millan <rmh@aybabtu.com>
32125
32126 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
32127 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
32128 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
32129 string returned by grub_guess_root_device.
32130 * util/i386/pc/grub-setup.c: Likewise.
32131 * util/i386/pc/grub-probefs.c: Likewise.
32132
32133 * util/i386/pc/grub-probefs.c: Rename to ...
32134 * util/i386/pc/grub-probe.c: ... this.
32135 * DISTLIST: Remove grub-probefs, add grub-probe.
32136 * conf/i386-efi.rmk: Likewise.
32137 * conf/i386-pc.rmk: Likewise.
32138 * util/i386/pc/grub-install.in: Likewise.
32139
32140 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
32141 choose which information we want to print.
32142
2b002173 321432006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32144
32145 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
32146 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
32147 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
32148 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
32149 video/readers/tga.c and video/i386/pc/vbeutil.c.
32150
321512006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
32152
32153 Added support for RAID and LVM.
f19dbdb7 32154
2b002173 32155 * disk/lvm.c: New file.
32156 * disk/raid.c: Likewise.
32157 * include/grub/lvm.h: Likewise.
f19dbdb7 32158 * include/grub/raid.h: Likewise.
2b002173 32159 * include/grub/util/lvm.h: Likewise.
32160 * include/grub/util/raid.h: Likewise.
32161 * util/lvm.c: Likewise.
32162 * util/raid.c: Likewise.
32163
32164 * include/grub/disk.h (grub_disk_dev_id): Add
32165 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
32166 (grub_disk_get_size): New prototype.
32167 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
32168 returns a partition.
32169 (grub_disk_get_size): New function.
f19dbdb7 32170
2b002173 32171 * kern/i386/pc/init.c (make_install_device): Copy the prefix
32172 verbatim if grub_install_dos_part is -2.
32173
32174 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
32175 and LVM devices.
32176
32177 * util/i386/pc/grub-setup.c (setup): New argument
32178 MUST_EMBED. Force embedding of GRUB when the argument is
32179 true. Close FILE before returning.
32180 (main): Add support for RAID and LVM.
f19dbdb7 32181
2b002173 32182 * conf/common.rmk: Add RAID and LVM modules.
32183 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
32184 util/lvm.c.
32185 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
32186
32187 * kern/misc.c (grub_strstr): New function.
32188 * include/grub/misc.h (grub_strstr): New prototype.
32189
050548d0 321902006-10-10 Tristan Gingold <tristan.gingold@bull.net>
32191
32192 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
32193
da849d2d 321942006-10-05 Tristan Gingold <tristan.gingold@bull.net>
32195
32196 * kern/misc.c (grub_strtoull): Guess the base only if not
32197 specified.
32198
97b2f2ff 321992006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 32200
32201 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
32202 PowerMac support.
32203
97b2f2ff 322042006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 32205
32206 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
32207
32208 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
32209 Remove `flags' argument. All callers changed.
32210 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
32211 (IEEE1275_IHANDLE_INVALID): New variable.
32212 (IEEE1275_CELL_INVALID): New variable.
32213 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32214 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
32215 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
32216 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
32217 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
32218 codes from Open Firmware. All callers updated.
32219 (grub_ieee1275_next_property): Directly return Open Firmware return
32220 code.
32221 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32222 Standardize error checking from `grub_ieee1275_get_property'.
32223 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
32224 `devalias' to `aliases'. Correct comments. Consolidate error paths.
32225
97b2f2ff 322262006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 32227
32228 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
32229 `instance_to_package_args' to `instance_to_path_args'.
32230
32231 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
32232 `grub_ieee1275_chosen'.
32233
32234 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
32235 `grub_ieee1275_interpret'.
32236
97b2f2ff 322372006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 32238
32239 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
32240
97b2f2ff 322412006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 32242
32243 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
32244 (__cmpdi): Likewise.
32245
32246 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
32247 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
32248 `grub_ssize_t'.
32249
02bb8acc 32250 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 32251
32252 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
32253 to type `grub_ssize_t'.
32254 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
32255
7f9a8531 322562006-09-22 Marco Gerards <marco@gnu.org>
32257
32258 * normal/script.c (grub_script_create_cmdmenu): Skip leading
32259 newlines.
32260
b5ef1102 322612006-09-22 Marco Gerards <marco@gnu.org>
32262
32263 * commands/echo.c: New file.
32264
32265 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
32266
32267 * conf/common.rmk (echo_mod_SOURCES): New variable.
32268 (echo_mod_CFLAGS): Likewise.
32269 (echo_mod_LDFLAGS): Likewise.
32270
2cff3677 322712006-09-22 Marco Gerards <marco@gnu.org>
32272
32273 * normal/main.c (get_line): Malloc memory instead of using
32274 preallocated memory. Removed the arguments `cmdline' and
32275 `max_len'. Updated all callers.
32276
6ba4688b 322772006-09-22 Marco Gerards <marco@gnu.org>
32278
32279 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
32280 (normal_mod_DEPENDENCIES): Likewise.
32281
32282 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
32283 (normal_mod_DEPENDENCIES): Likewise.
32284
32285 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
32286
e02ac02c 322872006-09-22 Johan Rydberg <jrydberg@gnu.org>
32288
32289 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
32290 programs.
32291 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
32292 (normal_mod_DEPENDENCIES): Likewise.
32293 * conf/i386-pc.mk: Regenerate.
32294 * conf/i386-efi.mk: Likewise
32295 * conf/common.mk: Likewise.
32296 * conf/powerpc-ieee1275.mk: Likewise.
32297 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32298
8d252e44 322992006-09-22 Robert Millan <rmh@aybabtu.com>
32300
32301 Sync with i386 version.
32302 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
32303 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
32304
209bf7ac 323052006-09-21 Robert Millan <rmh@aybabtu.com>
32306
32307 Import from GRUB Legacy (lib/device.c):
32308 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
32309 (init_device_map) [__linux__]: Add support for I2O devices.
32310
6b146090 323112006-09-14 Marco Gerards <marco@gnu.org>
32312
32313 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
32314 `-melf_i386'.
32315
e38600a8 323162006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 32317
32318 * util/i386/pc/grub-install.in: Skip menu.lst when removing
32319 /boot/grub/*.lst.
78fa1790 32320
2952da5d 32321 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 32322
2952da5d 32323 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
32324 before adding it to device.map.
32325
01b82a64 323262006-08-15 Johan Rydberg <jrydberg@gnu.org>
32327
fe6b695a 32328 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 32329 compiles a file; using the -MD option.
32330 * conf/common.mk: Regenerate.
32331 * conf/i386-pc.mk: Likewise.
32332 * conf/i386-efi.mk: Likewise.
32333 * conf/powerpc-ieee1275.mk: Likewise.
32334 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32335
1064790d 323362006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
32337
32338 Move the prototypes of grub_setjmp and grub_longjmp to
32339 cpu/setjmp.h, so that each architecture may specify different
32340 attributes.
f19dbdb7 32341
1064790d 32342 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
32343 (grub_longjmp): Likewise.
32344 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
32345 (grub_longjmp): Likewise.
32346 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
32347 (grub_longjmp): Likewise.
32348
32349 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
32350 [!GRUB_UTIL] (grub_longjmp): Removed.
32351
29dda3ed 323522006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
32353
32354 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
32355 "color!" method does not return any value.
32356
ad2a06ed 323572006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32358
32359 * include/grub/bitmap.h: New file.
32360
32361 * include/grub/i386/pc/vbeutil.h: Likewise.
32362
32363 * video/bitmap.c: Likewise.
32364
32365 * video/readers/tga.c: Likewise.
32366
32367 * video/i386/pc/vbeutil.c: Likewise.
32368
32369 * commands/videotest.c: Code cleanup and updated to reflect to new
32370 video API.
32371
32372 * term/gfxterm.c: Likewise.
32373
32374 * video/video.c: Likewise.
32375
32376 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
32377 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
32378 (bitmap_mod_SOURCES): New entry.
32379 (bitmap_mod_CFLAGS): Likewise.
32380 (bitmap_mod_LDFLAGS): Likewise.
32381 (tga_mod_SOURCES): Likewise.
32382 (tga_mod_CFLAGS): Likewise.
32383 (tga_mod_LDFLAGS): Likewise.
32384
32385 * include/grub/video.h (grub_video_blit_operators): New enum type.
32386 (grub_video_render_target): Changed as forward declaration and moved
32387 actual definition to be video driver specific.
32388 (grub_video_adapter.blit_bitmap): Added blitting operator.
32389 (grub_video_adapter.blit_render_target): Likewise.
32390 (grub_video_blit_bitmap): Likewise.
32391 (grub_video_blit_render_target): Likewise.
32392
32393 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
32394 driver specific render target definition.
32395 (grub_video_vbe_map_rgba): Added driver internal helper.
32396 (grub_video_vbe_unmap_color): Updated to use
32397 grub_video_i386_vbeblit_info.
32398 (grub_video_vbe_get_video_ptr): Likewise.
32399
32400 * include/grub/i386/pc/vbeblit.h
32401 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
32402 grub_video_i386_vbeblit_info.
32403 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32404 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32405 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32406 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32407 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32408 (grub_video_i386_vbeblit_index_index): Likewise.
32409 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
32410 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32411 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32412 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
32413 operator.
32414 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
32415 operator.
32416
32417 * video/i386/pc/vbeblit.c: Updated to reflect changes on
32418 include/grub/i386/pc/vbeblit.h.
32419
32420 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
32421 Updated to use grub_video_i386_vbeblit_info.
32422 (grub_video_i386_vbefill_R8G8B8): Likewise.
32423 (grub_video_i386_vbefill_index): Likewise.
32424 (grub_video_i386_vbefill): Added generic filler.
32425
32426 * video/i386/pc/vbefill.c: Updated to reflect changes on
32427 include/grub/i386/pc/vbefill.h.
32428
32429 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
32430 grub_video_i386_vbeblit_info.
32431 (grub_video_vbe_unmap_color): Likewise.
32432 (grub_video_vbe_blit_glyph): Likewise.
32433 (grub_video_vbe_scroll): Likewise.
32434 (grub_video_vbe_draw_pixel): Removed function.
32435 (grub_video_vbe_get_pixel): Likewise.
32436 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
32437 updated code to use it.
32438 (common_blitter): Added common blitter for render target and bitmap.
32439 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
32440 (grub_video_vbe_blit_render_target): Likewise.
32441
bc8c036d 324422006-07-30 Johan Rydberg <jrydberg@gnu.org>
32443
32444 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
32445 is in text mode if there is no console control protocol instance
32446 available.
32447
684a8eff 324482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32449
32450 * include/grub/video.h: Code cleanup.
32451
32452 * include/grub/i386/pc/vbe.h: Likewise.
32453
32454 * video/i386/pc/vbe.c: Likewise.
32455
32456 * video/i386/pc/vbeblit.c: Likewise.
32457
32458 * video/i386/pc/vbefill.c: Likewise.
32459
32460 * video/video.c: Likewise. Also added more comments.
32461
5915059b 324622006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32463
32464 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
32465 (struct grub_biosdisk_dap): Likewise.
32466
32467 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
32468 linkage settings for all functions.
32469
90ce5d56 324702006-07-12 Marco Gerards <marco@gnu.org>
32471
32472 * configure.ac (--enable-mm-debug): Fix typo.
32473
32474 * genkernsyms.sh.in: Use proper quoting for `CC'.
32475
43e7f879 324762006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
32477
32478 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
32479 (normal_mod_ASFLAGS): Remove "-m32".
32480
4889bdec 324812006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
32482
32483 * util/misc.c: Include config.h.
32484 [!HAVE_MEMALIGN]: Do not include malloc.h.
32485 (grub_memalign): Use posix_memalign, if present. Then, use
32486 memalign, if present. Otherwise, emit an error.
32487
32488 * util/grub-emu.c: Do not include malloc.h.
32489
32490 * include/grub/util/misc.h: Include unistd.h. This is required for
32491 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
32492 D. Eades III <hde@foobar-qux.org>.
32493
32494 * configure.ac (AC_GNU_SOURCE): Added.
32495 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
32496 type.
32497
fd39d4da 324982006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
32499
32500 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
32501 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
32502
b786f3b5 325032006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
32504
32505 * include/grub/types.h (grub_host_addr_t): Rename to
32506 grub_target_addr_t.
32507 (grub_host_off_t): Rename to grub_target_off_t.
32508 (grub_host_size_t): Rename to grub_target_size_t.
32509 (grub_host_ssize_t): Rename to grub_target_ssize_t.
32510 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
32511
32512 * include/grub/kernel.h (struct grub_module_header): Change type
32513 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
32514 (grub_module_info): Likewise.
f19dbdb7 32515
051988bb 325162006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32517
32518 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
32519 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
32520 Velazquez <jesus.velazquez@gmail.com>.
32521
deae281b 325222006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32523
32524 Count partitions from 1 instead of 0 in the string representation
32525 of partitions. Still use 0-based internally.
f19dbdb7 32526
deae281b 32527 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
32528 (sun_partition_map_iterate): Use grub_partition_t instead of
32529 struct grub_partition *. Cast DESC->START_CYLINDER to
32530 grub_uint64_t after converting the endian.
32531 (sun_partition_map_probe): Subtract 1 for PARTNUM.
32532 (sun_partition_map_get_name): Add 1 to P->INDEX.
32533
32534 * partmap/pc.c (grub_partition_parse): Subtract 1 for
32535 PCDATA->DOS_PART.
32536 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
32537
32538 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
32539 zero instead of one.
32540 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
32541 (gpt_partition_map_get_name): Add 1 into P->INDEX.
32542
32543 * partmap/apple.c (apple_partition_map_iterate): Change the type
32544 of POS to unsigned.
32545 (apple_partition_map_probe): Subtract 1 for PARTNUM.
32546 (apple_partition_map_get_name): Add 1 into P->INDEX.
32547
32548 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
32549 of POS to unsigned.
32550 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
32551 calculate the offset of a partition.
32552 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
32553 (amiga_partition_map_get_name): Add 1 into P->INDEX.
32554
32555 * partmap/acorn.c (acorn_partition_map_find): Change the type of
32556 SECTOR to grub_disk_addr_t.
32557 (acorn_partition_map_iterate): Likewise.
32558 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
32559 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
32560 top.
32561 (acorn_partition_map_get_name): Add 1 into P->INDEX.
32562
32563 * kern/i386/pc/init.c (make_install_device): Add 1 into
32564 GRUB_INSTALL_DOS_PART.
32565
32566 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
32567 conditional.
32568
524a1e6a 325692006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32570
32571 Clean up the code to support 64-bit addressing in disks and
32572 files. This change is not enough for filesystems yet.
f19dbdb7 32573
524a1e6a 32574 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
32575 type of "start" to grub_uint64_t.
32576 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
32577 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
32578 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
32579 convert addresses.
32580
32581 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
32582 to grub_disk_addr_t.
32583
32584 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
32585 string.
32586
32587 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32588
32589 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
32590 to char *.
32591
32592 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
32593
32594 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
32595
32596 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
32597
32598 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
32599 to grub_off_t, to detect an error from grub_file_seek.
32600 (grub_multiboot_load_elf32): Likewise.
32601
32602 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
32603 maximum unsigned long value when an overflow is detected.
32604 (grub_strtoull): New function.
32605 (grub_divmod64): Likewise.
32606 (grub_lltoa): use grub_divmod64.
32607
32608 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
32609 grub_disk_addr_t.
32610 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
32611 the pointer to next character. Use grub_strtoull instead of
32612 grub_strtoul.
32613 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
32614 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
32615 respectively.
32616
fe6b695a 32617 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 32618 return value is signed.
32619 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
32620 test if OFFSET is less than zero, as OFFSET is unsigned now.
32621
32622 * kern/disk.c (struct grub_disk_cache): Change the type of
32623 "sector" to grub_disk_addr_t.
32624 (grub_disk_cache_get_index): Change the type of SECTOR to
32625 grub_disk_addr_t. Calculate the hash with SECTOR casted to
32626 unsigned after shifting.
32627 (grub_disk_cache_invalidate): Change the type of SECTOR to
32628 grub_disk_addr_t.
32629 (grub_disk_cache_unlock): Likewise.
32630 (grub_disk_cache_store): Likewise.
32631 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
32632 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
32633 grub_disk_addr_t and grub_uint64_t, respectively.
32634 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
32635 body, as the value of OFFSET is tweaked by
32636 grub_disk_check_range. Change the types of START_SECTOR, LEN and
32637 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
32638 respectively.
32639 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
32640 body, as the value of OFFSET is tweaked by
32641 grub_disk_check_range. Change the types of LEN and N to
32642 grub_size_t.
32643
32644 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
32645 and "saved_offset" to grub_off_t.
32646 (test_header): Cast BUF to char *.
32647 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
32648 to char *.
32649 (grub_gzio_read): Change the types of OFFSET and SIZE to
32650 grub_off_t and grub_size_t, respectively.
32651
32652 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
32653 Removed.
32654 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
32655 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
32656 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
32657 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
32658 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
32659
32660 * include/grub/types.h (grub_off_t): Unconditionally set to
32661 grub_uint64_t.
32662 (grub_disk_addr_t): Changed to grub_uint64_t.
32663
32664 * include/grub/partition.h (struct grub_partition): Change the
32665 types of "start", "len" and "offset" to grub_disk_addr_t,
32666 grub_uint64_t and grub_disk_addr_t, respectively.
32667 (grub_partition_get_start): Return grub_disk_addr_t.
32668 (grub_partition_get_len): Return grub_uint64_t.
32669
32670 * include/grub/misc.h (grub_strtoull): New prototype.
32671 (grub_divmod64): Likewise.
32672
32673 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
32674 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
32675 grub_off_t, respectively.
32676 All callers and references changed.
32677
32678 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
32679 grub_size_t in "read".
32680 All callers and references changed.
32681
32682 * include/grub/file.h (struct grub_file): Change the types of
32683 "offset" and "size" to grub_off_t and grub_off_t,
32684 respectively. Change the type of SECTOR to grub_disk_addr_t in
32685 "read_hook".
32686 (grub_file_read): Change the type of LEN to grub_size_t.
32687 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
32688 grub_off_t.
32689 (grub_file_size): Return grub_off_t.
32690 (grub_file_tell): Likewise.
32691 All callers and references changed.
32692
32693 * include/grub/disk.h (struct grub_disk_dev): Change the types of
32694 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
32695 "write".
32696 (struct grub_disk): Change the type of "total_sectors" to
32697 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 32698 "read_hook".
524a1e6a 32699 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
32700 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
32701 (grub_disk_write): Likewise.
32702 All callers and references changed.
32703
32704 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
32705 char * for grub_strncmp to silence gcc.
32706 (grub_iso9660_mount): Likewise.
32707 (grub_iso9660_mount): Likewise.
32708 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
32709 return statement.
32710 (grub_iso9660_iterate_dir): Likewise.
32711 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
32712
32713 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
32714 LEN to grub_disk_addr_t and grub_size_t, respectively.
32715
32716 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32717
32718 * fs/jfs.c (grub_jfs_read_file): Likewise.
32719
32720 * fs/minix.c (grub_jfs_read_file): Likewise.
32721
32722 * fs/sfs.c (grub_jfs_read_file): Likewise.
32723
32724 * fs/ufs.c (grub_jfs_read_file): Likewise.
32725
32726 * fs/xfs.c (grub_jfs_read_file): Likewise.
32727
32728 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
32729 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
32730 respectively.
32731
32732 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
32733 BLKNR to -1 instead of returning GRUB_ERRNO.
32734 (grub_ext2_read_file): Change the types of SECTOR and
32735 LEN to grub_disk_addr_t and grub_size_t, respectively.
32736
32737 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
32738 LEN to grub_disk_addr_t and grub_size_t, respectively.
32739
32740 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
32741 grub_file_read.
32742
32743 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
32744 string. Do not cast SECTOR explicitly.
32745
32746 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
32747 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
32748 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
32749 grub_disk_addr_t and grub_size_t, respectively. If the sector is
32750 over 2TB and LBA mode is not supported, raise an error.
32751 (get_safe_sectors): New function.
32752 (grub_biosdisk_read): Use get_safe_sectors.
32753 (grub_biosdisk_write): Likewise.
32754
32755 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
32756 (grub_efidisk_write): Likewise.
32757
32758 * disk/loopback.c (delete_loopback): Cosmetic changes.
32759 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
32760 correctly.
32761 (grub_loopback_open): Likewise.
32762 (grub_loopback_read): Likewise. Also, change the type of POS to
32763 grub_off_t, and fix the usage of grub_memset.
32764
32765 * commands/i386/pc/play.c: Include grub/machine/time.h.
32766
32767 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
32768 print FILE->SIZE.
32769
32770 * commands/configfile.c: Include grub/env.h.
32771
32772 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
32773 GRUB_ERRNO directly instead. Change the type of POS to
32774 grub_off_t. Follow the coding standard.
32775
32776 * commands/blocklist.c: Include grub/partition.h.
32777 (grub_cmd_blocklist): Return an error if the underlying device is
32778 not a disk. Take the starting sector of a partition into account,
32779 if a partition is used.
32780
32781 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
32782 a length field.
32783 (lba_mode): Support 64-bit addresses.
32784 (chs_mode): Likewise.
32785 (copy_buffer): Adapted to the new offsets of a length field and a
32786 segment field.
32787 (blocklist_default_start): Allocate 64-bit space.
32788
32789 * boot/i386/pc/boot.S (force_lba): Removed.
32790 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 32791 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 32792 space.
32793 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
32794 is useless.
32795 (lba_mode): Refactored to support a 64-bit address. More size
32796 optimization.
32797 (setup_sectors): Likewise.
32798
53af98ad 327992006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32800
32801 * DISTLIST: Added include/grub/i386/linux.h. Removed
32802 include/grub/i386/pc/linux.h
32803
32804 * configure.ac (AC_INIT): Bumped to 1.94.
32805
32806 * config.guess: Updated from gnulib.
32807 * config.sub: Likewise.
32808 * install-sh: Likewise.
32809 * mkinstalldirs: Likewise.
32810
b4c1940a 328112006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32812
32813 * conf/common.rmk (grub_modules_init.lst): Depended on
32814 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
32815 MODSRCFILES.
32816
32817 * genmk.rb (PModule::rule): Reverted the previous change.
32818
cfca1cfd 328192006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32820
32821 * conf/common.rmk (grub_modules_init.lst): Depends on
32822 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
32823 that the target does not exist before producing.
32824 (grub_modules_init.h): Remove the target before generating.
32825 (grub_emu_init.c): Likewise.
32826
32827 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
32828
aa6d7826 328292006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
32830
32831 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
32832 for the target-specific tests. Make sure that we also have the
32833 up-to-date target variables for those tests.
32834
26c607b9 328352006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
32836
32837 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
32838 (PModule::rule): Likewise.
32839
0162321a 328402006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
32841
32842 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
32843 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
32844 target-specific flags should be prefixed.
32845 (PModule::rule): Likewise.
32846
6c826348 328472006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
32848
32849 * configure.ac (CMP): Check if cmp is available explicitly.
32850
b977bf01 328512006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
32852
32853 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
32854 (target_cpu): New variable.
32855 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 32856
b977bf01 32857 * util/i386/pc/grub-install.in (host_cpu): Removed.
32858 (target_cpu): New variable.
32859 (pkglibdir): Use target_cpu instead of host_cpu.
32860
32861 * util/genmoddep.c: Removed.
f19dbdb7 32862
b977bf01 32863 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
32864 instead of GRUB_HOST_SIZEOF_VOID_P.
32865 * kern/dl.c: Likewise.
32866
32867 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
32868 ...
32869 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32870 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32871 (GRUB_TARGET_SIZEOF_LONG): ... this.
32872 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32873 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32874 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
32875 to ...
32876 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32877 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32878 (GRUB_TARGET_SIZEOF_LONG): ... this.
32879 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32880 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32881 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
32882 to ...
32883 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32884 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32885 (GRUB_TARGET_SIZEOF_LONG): ... this.
32886 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32887 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32888
32889 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
32890 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
32891 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
32892 instead of GRUB_HOST_SIZEOF_LONG.
32893 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
32894 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
32895 GRUB_CPU_WORDS_BIGENDIAN.
32896 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
32897 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
32898 grub_host_ssize_t.
32899
32900 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
32901 (genmoddep_SOURCES): Likewise.
32902 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
32903 (genmoddep_SOURCES): Likewise.
32904 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
32905 (genmoddep_SOURCES): Likewise.
32906 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
32907 Likewise.
32908 (genmoddep_SOURCES): Likewise.
32909
32910 * genmoddep.awk: New file.
32911
32912 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
32913 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
32914 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
32915 (PModule::rule): Likewise.
32916 (Program::rule): Likewise.
32917 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
32918 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
32919 respectively.
32920
32921 * configure.ac: Rewritten intensively to use host and target
32922 instead of build and host, respectively.
32923
32924 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
32925 (host_cpu): Removed.
32926 (target_cpu): New variable.
32927 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
32928 (BUILD_CC): Removed.
32929 (BUILD_CFLAGS): Likewise.
32930 (BUILD_CPPFLAGS): Likewise.
32931 (TARGET_CC): New variable.
32932 (TARGET_CFLAGS): Likewise.
32933 (TARGET_CPPFLAGS): Likewise.
32934 (TARGET_LDFLAGS): Likewise.
32935 (AWK): Likewise.
32936 (include): Use target_cpu instead of host_cpu.
32937 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 32938
b977bf01 32939 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
32940
f09771a1 329412006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
32942
32943 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
32944 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
32945 field 'false' to 'exec_on_false'.
32946 (grub_script_create_cmdif): Renamed argument names to reflect above
32947 changes.
32948
32949 * normal/execute.c (grub_script_execute_cmdif): Likewise.
32950
32951 * normal/script.c (grub_script_create_cmdif): Likewise.
32952
118f4fb3 329532006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
32954
32955 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
32956 top.
32957 (grub_hfsplus_btree_recptr): Likewise.
32958 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
32959 FILEBLOCK both to pass a block number and store next block
32960 number.
32961 (grub_hfsplus_read_block): Rewritten heavily to support an extent
32962 overflow file correctly. Specify errors appropriately, because
32963 fshelp expects that GRUB_ERRNO is set when fails. Reuse
32964 grub_hfsplus_btree_recptr to get the pointer to a found key.
32965 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
32966 is found.
32967
32968 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
32969 linux.mod.
32970 (_linux_mod_SOURCES): New variable.
32971 (_linux_mod_CFLAGS): Likewise.
32972 (_linux_mod_LDFLAGS): Likewise.
32973 (linux_mod_SOURCES): Likewise.
32974 (linux_mod_CFLAGS): Likewise.
32975 (linux_mod_LDFLAGS): Likewise.
32976
32977 * DISTLIST: Added loader/i386/efi/linux.c,
32978 loader/i386/efi/linux_normal.c and
32979 include/grub/i386/efi/loader.h.
32980
32981 * loader/i386/efi/linux.c: New file.
32982 * loader/i386/efi/linux_normal.c: Likewise.
32983 * include/grub/i386/efi/loader.h: Likewise.
32984
89a7d726 329852006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
32986
32987 * commands/blocklist.c: New file.
32988
32989 * DISTLIST: Added commands/blocklist.c.
32990
32991 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 32992 color for the background, and a darker color for the foreground.
89a7d726 32993 (grub_console_checkkey): Return READ_KEY.
32994 (grub_console_cls): Set the background to
32995 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
32996
32997 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
32998
32999 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
33000 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
33001
33002 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
33003 prototype.
33004
33005 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
33006 BG. The spec is wrong again.
33007
33008 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
33009 prototype.
33010 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
33011
33012 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33013 commands/blocklist.c.
33014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 33015
89a7d726 33016 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
33017 (blocklist_mod_SOURCES): New variable.
33018 (blocklist_mod_CFLAGS): Likewise.
33019 (blocklist_mod_LDFLAGS): Likewise.
33020
75c8f258 330212006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
33022
33023 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
33024 duplication.
33025 (lba_mode): Use %eax more intensively to reduce the code size.
33026
da2eb181 330272006-05-20 Marco Gerards <marco@gnu.org>
33028
33029 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
33030
33031 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
33032 for `menuentry'.
33033 (script): Accept leading newlines.
33034 (newlines): New rule to describe 0 or more newlines.
33035 (commands): Accept `command' with trailing newline. Fixed the
33036 order in which arguments were passed to `grub_script_add_cmd'.
33037 Accept commands separated by newlines.
33038 (function): Changed to accept newlines.
33039 (menuentry) Rewritten.
33040
33041 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
33042 front of the list, instead of to the end.
33043
577b4050 330442006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
33045
33046 * util/i386/pc/grub-install.in (bindir): New variable.
33047 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
33048 Shaver <lbgwjl@gmail.com>.
33049
0d6e1189 330502006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
33051
33052 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
33053 grub/machine/linux.h
33054 * loader/i386/pc/linux.c: Likewise.
33055
33056 * include/grub/i386/pc/linux.h: Moved to ...
33057 * include/grub/i386/linux.h: ... here.
33058
33059 * include/grub/i386/linux.h (struct linux_kernel_params): New
33060 struct.
f19dbdb7 33061
31b86e9f 330622006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
33063
33064 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
33065 checking.
33066 (grub_video_vbe_blit_glyph): Likewise.
33067 (grub_video_vbe_blit_bitmap): Likewise.
33068 (grub_video_vbe_blit_render_target): Likewise.
33069
83b984de 330702006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
33071
33072 * configure.ac (--with-platform): Properly quote the square
33073 brackets.
33074
5f0413bd 330752006-05-08 Marco Gerards <marco@gnu.org>
33076
33077 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
33078 this...
33079 (kernel_elf_HEADERS): ...to this. Updated all users.
33080 (grubof_symlist.c): Renamed from this...
33081 (kernel_elf_symlist.c): ...to this. Updated all users.
33082 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33083 (grubof_SOURCES): Renamed from this...
33084 (kernel_elf_SOURCES): ...to this.
33085 (grubof_HEADERS): Renamed from this...
33086 (kernel_elf_HEADERS): ...to this.
33087 (grubof_CFLAGS): Renamed from this...
33088 (kernel_elf_CFLAGS): ...to this.
33089 (grubof_ASFLAGS): Renamed from this...
33090 (kernel_elf_ASFLAGS): ...to this.
33091 (grubof_LDFLAGS): Renamed from this...
33092 (kernel_elf_LDFLAGS): ...to this.
33093
33094 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
33095 this...
33096 (kernel_elf_HEADERS): ...to this. Updated all users.
33097 (grubof_symlist.c): Renamed from this...
33098 (kernel_elf_symlist.c): ...to this. Updated all users.
33099 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33100 (grubof_SOURCES): Renamed from this...
33101 (kernel_elf_SOURCES): ...to this.
33102 (grubof_HEADERS): Renamed from this...
33103 (kernel_elf_HEADERS): ...to this.
33104 (grubof_CFLAGS): Renamed from this...
33105 (kernel_elf_CFLAGS): ...to this.
33106 (grubof_ASFLAGS): Renamed from this...
33107 (kernel_elf_ASFLAGS): ...to this.
33108 (grubof_LDFLAGS): Renamed from this...
33109 (kernel_elf_LDFLAGS): ...to this.
33110
33111 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
33112 `kernel.elf' instead of `grubof'.
33113
05568c2e 331142006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
33115
33116 Add --with-platform to configure. Use pkglibdir instead of
33117 pkgdatadir. This is reported by Roger Leigh.
33118
33119 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
33120 (host_vendor): Likewise.
33121 (host_os): Likewise.
33122 (pkgdatadir): Likewise.
33123 (platform): New variable.
33124 (pkglibdir): Likewise.
33125 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 33126
05568c2e 33127 * util/i386/pc/grub-install.in (datadir): Removed.
33128 (host_vendor): Likewise.
33129 (host_os): Likewise.
33130 (pkgdatadir): Likewise.
33131 (platform): New variable.
33132 (pkglibdir): Likewise.
33133 Use PKGLIBDIR instead of PKGDATADIR.
33134
33135 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
33136 instead of GRUB_DATADIR.
33137 (main): Likewise.
33138 * util/i386/pc/grub-mkimage.c (usage): Likewise.
33139 (main): Likewise.
33140 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33141 (main): Likewise.
33142
33143 * configure.ac (--with-platform): New option.
33144 Use PLATFORM instead of HOST_VENDOR to specify a platform.
33145
33146 * Makefile.in: Include a makefile based on PLATFORM instead of
33147 HOST_VENDOR.
33148 (pkgdatadir): Not appended by the machine type.
33149 (pkglibdir): Appended by the machine type.
33150 (host_vendor): Removed.
33151 (platform): New variable.
33152 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
33153 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
33154 (uninstall): Likewise.
33155
4e93851c 331562006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
33157
33158 Use the environment context in the menu. Remove the commands
33159 "default" and "timeout", and use variables instead.
f19dbdb7 33160
4e93851c 33161 * normal/menu.c: Include grub/env.h.
33162 (print_entry): Cast TITLE to silence gcc.
33163 (get_timeout): New function.
33164 (set_timeout): Likewise.
33165 (get_entry_number): Likewise.
33166 (run_menu): Use a default entry, a fallback entry and a timeout
33167 in the environment variables "default", "fallback" and
33168 "timeout". Also, tweak the default entry if it is not within the
33169 current menu entries.
33170 (grub_menu_run): Use a fallback entry in the environment variable
33171 "fallback".
33172
33173 * normal/main.c (read_config_file): Do not initialize
33174 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
33175 NEWMENU->TIMEOUT.
33176 (grub_normal_execute): Use a data slot to store the menu.
33177
33178 * include/grub/normal.h (struct grub_menu): Removed default_entry,
33179 fallback_entry and timeout.
33180 (struct grub_menu_list): Removed.
33181 (grub_menu_list_t): Likewise.
33182 (struct grub_context): Likewise.
33183 (grub_context_t): Likewise.
33184 (grub_context_get): Likewise.
33185 (grub_context_get_current_menu): Likewise.
33186 (grub_context_push_menu): Likewise.
33187 (grub_context_pop_menu): Likewise.
33188 (grub_default_init): Likewise.
33189 (grub_default_fini): Likewise.
33190 (grub_timeout_init): Likewise.
33191 (grub_timeout_fini): Likewise.
33192
33193 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
33194 and timeout.mod.
33195 (normal_mod_SOURCES): Removed normal/context.c.
33196
33197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
33198 commands/default.c, commands/timeout.c and normal/context.c.
33199 (normal_mod_SOURCES): Removed normal/context.c.
33200
33201 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
33202 commands/timeout.c and normal/context.c.
33203 (normal_mod_SOURCES): Removed normal/context.c.
33204
33205 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
33206 commands/default.c, commands/timeout.c and normal/context.c.
33207 (normal_mod_SOURCES): Removed normal/context.c.
33208
33209 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
33210 timeout.mod.
33211 (default_mod_SOURCES): Removed.
33212 (default_mod_CFLAGS): Likewise.
33213 (default_mod_LDFLAGS): Likewise.
33214 (timeout_mod_SOURCES): Removed.
33215 (timeout_mod_CFLAGS): Likewise.
33216 (timeout_mod_LDFLAGS): Likewise.
33217
33218 * DISTLIST: Removed commands/default.c, commands/timeout.c and
33219 normal/context.c.
33220
33221 * commands/default.c: Removed.
33222 * commands/timeout.c: Likewise.
33223 * normal/context.c: Likewise.
33224
1eb9cc1d 332252006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
33226
33227 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
33228
385bd9c1 332292006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
33230
33231 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
33232 "next" to "prev" for readability.
33233 (struct grub_env_sorted_var): New struct.
33234 (grub_env_context): Renamed to ...
33235 (initial_context): ... this.
33236 (grub_env_var_context): Renamed to ...
33237 (current_context): ... this.
33238 (grub_env_find): Look only at CURRENT_CONTEXT.
33239 (grub_env_context_open): Rewritten to copy exported variables from
33240 previous context.
33241 (grub_env_context_close): Rewritten according to the new
33242 scheme. Also, add an assertion to prevent the initial context from
33243 removed.
33244 (grub_env_insert): Removed the code for the sorted list.
33245 (grub_env_remove): Likewise.
33246 (grub_env_export): Simply mark the variable with
33247 GRUB_ENV_VAR_GLOBAL.
33248 (grub_env_set): A cosmetic change for naming consistency.
33249 (grub_env_get): Likewise.
33250 (grub_env_unset): Likewise.
33251 (grub_env_iterate): Rewritten to sort variables within this
33252 function.
33253 (grub_register_variable_hook): Fixed for naming consistency. Call
33254 grub_env_find again, only if NAME is not found at the first time.
33255 (mangle_data_slot_name): New function.
33256 (grub_env_set_data_slot): Likewise.
33257 (grub_env_get_data_slot): Likewise.
33258 (grub_env_unset_data_slot): Likewise.
33259
33260 * include/grub/env.h (grub_env_var_type): New enum.
33261 (GRUB_ENV_VAR_LOCAL): New constant.
33262 (GRUB_ENV_VAR_GLOBAL): Likewise.
33263 (GRUB_ENV_VAR_DATA): Likewise.
33264 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
33265 "type".
33266 (grub_env_set): Replace VAR with NAME for consistency.
33267 (grub_register_variable_hook): Likewise.
33268 (grub_env_export): Specify the name of the argument.
33269 (grub_env_set_data_slot): New prototype.
33270 (grub_env_get_data_slot): Likewise.
33271 (grub_env_unset_data_slot): Likewise.
33272
7f362539 332732006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33274
33275 Extend the loader so that GRUB can accept a loader which comes
33276 back to GRUB when a loaded image exits. Also, this change adds
33277 support for a chainloader on EFI.
f19dbdb7 33278
7f362539 33279 * term/efi/console.c: Include grub/misc.h.
33280 (grub_console_checkkey): Display a scan code on the top for
33281 debugging. This will be removed once the EFI port gets stable.
33282 Correct the scan code mapping.
33283
33284 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
33285 allocate memory from larger regions, in order to reduce the number
33286 of allocated regions. Otherwise, the MacOSX loader panics.
33287 (filter_memory_map): Avoid less than 1MB for compatibility with
33288 other loaders.
33289 (add_memory_regions): Allocate from the tail of a region, if
33290 possible, to avoid allocating a region near to 1MB, for the MacOSX
33291 loader.
33292
33293 * kern/efi/init.c (grub_efi_set_prefix): Specify
33294 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
33295
33296 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
33297 argument IMAGE_HANDLE and specify it to get a loaded image.
33298 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
33299 grub_efi_get_loaded_image.
fe6b695a 33300 (grub_efi_get_filename): Divide the length by the size of
7f362539 33301 grub_efi_char16_t.
33302 (grub_efi_get_device_path): New function.
33303 (grub_efi_print_device_path): Print End Device Path nodes. Divide
33304 the length by the size of grub_efi_char16_t for a file path device
33305 path node.
33306
33307 * kern/loader.c (grub_loader_noreturn): New variable.
33308 (grub_loader_set): Accept a new argument NORETURN. Set
33309 GRUB_LOADER_NORETURN to NORETURN.
33310 All callers changed.
33311 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
33312 grub_machine_fini.
33313
33314 * include/grub/efi/efi.h (grub_efi_get_device_path): New
33315 prototype.
33316 (grub_efi_get_loaded_image): Take an argument to specify an image
33317 handle.
33318
33319 * include/grub/loader.h (grub_loader_set): Added one more argument
33320 NORETURN.
33321
33322 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
33323 instead of grub_efi_open_protocol.
33324 (grub_efidisk_get_device_name): Likewise.
33325 (grub_efidisk_close): Print a newline.
33326 (grub_efidisk_get_device_handle): Fixed to use
33327 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
33328 GRUB_EFI_DEVICE_PATH_TYPE.
33329
33330 * disk/efi/efidisk.c (device_path_guid): Moved to ...
33331 * kern/efi/efi.c (device_path_guid): ... here.
33332
33333 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
33334 chain.mod.
33335 (kernel_mod_HEADERS): Added efi/disk.h.
33336 (_chain_mod_SOURCES): New variable.
33337 (_chain_mod_CFLAGS): Likewise.
33338 (_chain_mod_LDFLAGS): Likewise.
33339 (chain_mod_SOURCES): Likewise.
33340 (chain_mod_CFLAGS): Likewise.
33341 (chain_mod_LDFLAGS): Likewise.
33342
33343 * DISTLIST: Added include/grub/efi/chainloader.h,
33344 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
33345
33346 * include/grub/efi/chainloader.h: New file.
33347 * loader/efi/chainloader.c: Likewise.
33348 * loader/efi/chainloader_normal.c: Likewise.
33349
c0111d6e 333502006-04-30 Marco Gerards <marco@gnu.org>
33351
33352 * commands/configfile.c (grub_cmd_source): New function.
33353 (GRUB_MOD_INIT): Register the commands `source' and `.'.
33354 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
33355
df5341da 333562006-04-30 Marco Gerards <marco@gnu.org>
33357
33358 * normal/execute.c (grub_script_execute_cmd): Change the return
33359 type to `grub_err_t'. Correctly return the error.
33360 (grub_script_execute_cmdline): In case a command line is not a
33361 command or a function, try to interpret it as an assignment.
33362
f85934bd 333632006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33364
33365 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
33366 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
33367 skip a node whose name is obviously invalid as UTF-16,
33368 i.e. contains a NUL character. Stop the iteration when the last
33369 directory entry is found. Instead of using the return value of
33370 grub_hfsplus_btree_iterate_node, store the value in RET and use
33371 it, because the iterator can be stopped by the last directory
33372 entry.
33373
8f8a2cf8 333742006-04-30 Marco Gerards <marco@gnu.org>
33375
33376 * include/grub/env.h (grub_env_export): New prototype. Reported
33377 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
33378
a27e84ce 333792006-04-30 Marco Gerards <marco@gnu.org>
33380
33381 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
33382 size of the extents in a catalog file record.
33383
eaef0553 333842006-04-29 Marco Gerards <marco@gnu.org>
33385
33386 * commands/configfile.c (grub_cmd_configfile): Execute the
33387 configfile within its own context.
33388
33389 * include/grub/env.h (grub_env_context_open): New prototype.
33390 (grub_env_context_close): Likewise.
33391
33392 * kern/env.c (grub_env): Removed.
33393 (grub_env_sorted): Likewise.
33394 (grub_env_context): New variable.
33395 (grub_env_var_context): Likewise.
33396 (grub_env_find): Search both the active context and the global
33397 context.
33398 (grub_env_context_open): New function.
33399 (grub_env_context_close): Likewise.
33400 (grub_env_insert): Likewise.
33401 (grub_env_remove): Likewise.
33402 (grub_env_export): Likewise.
33403 (grub_env_set): Changed to use helper functions to avoid code
33404 duplication.
33405 (grub_env_iterate): Rewritten so both the current context and the
33406 global context are being used.
33407
33408 * normal/command.c (export_command): New function.
33409 (grub_command_init): Register the `export' function.
33410
7b455f4d 334112006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
33412
33413 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
33414 explicitly to suppress gcc's warnings.
33415 * fs/fat.c (grub_fat_find_dir): Likewise.
33416 (grub_fat_label): Likewise.
33417 * fs/xfs.c (grub_xfs_read_inode): Likewise.
33418 (grub_xfs_mount): Likewise.
33419 (grub_xfs_label): Likewise.
33420 * fs/affs.c (grub_affs_mount): Likewise.
33421 (grub_affs_label): Likewise.
33422 (grub_affs_iterate_dir): Likewise.
33423 * fs/sfs.c (grub_sfs_mount): Likewise.
33424 (grub_sfs_iterate_dir): Likewise.
33425 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
33426 * fs/hfs.c (grub_hfs_mount): Likewise.
33427 (grub_hfs_cmp_catkeys): Likewise.
33428 (grub_hfs_find_dir): Likewise.
33429 (grub_hfs_dir): Likewise.
33430 (grub_hfs_label): Likewise.
33431 * fs/jfs.c (grub_jfs_mount): Likewise.
33432 (grub_jfs_opendir): Likewise.
33433 (grub_jfs_getent): Likewise.
33434 (grub_jfs_lookup_symlink): Likewise.
33435 (grub_jfs_label): Likewise.
33436 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
33437 (grub_hfsplus_iterate_dir): Likewise.
33438 (grub_hfsplus_btree_iterate_node): Made static.
33439
33440 * util/grub-emu.c (prefix): New variable.
33441 (grub_machine_set_prefix): New function.
33442 (main): Do not set the environment variable "prefix" here. Only
33443 set PREFIX, which is used later by grub_machine_set_prefix.
33444
33445 * include/grub/video.h: Do not include grub/symbol.h.
33446 (grub_video_register): Not exported. This symbol is not defined in
33447 the kernel.
33448 (grub_video_unregister): Likewise.
33449 (grub_video_iterate): Likewise.
33450 (grub_video_setup): Likewise.
33451 (grub_video_restore): Likewise.
33452 (grub_video_get_info): Likewise.
33453 (grub_video_get_blit_format): Likewise.
33454 (grub_video_set_palette): Likewise.
33455 (grub_video_get_palette): Likewise.
33456 (grub_video_set_viewport): Likewise.
33457 (grub_video_get_viewport): Likewise.
33458 (grub_video_map_color): Likewise.
33459 (grub_video_map_rgb): Likewise.
33460 (grub_video_map_rgba): Likewise.
33461 (grub_video_fill_rect): Likewise.
33462 (grub_video_blit_glyph): Likewise.
33463 (grub_video_blit_bitmap): Likewise.
33464 (grub_video_blit_render_target): Likewise.
33465 (grub_video_scroll): Likewise.
33466 (grub_video_swap_buffers): Likewise.
33467 (grub_video_create_render_target): Likewise.
33468 (grub_video_delete_render_target): Likewise.
33469 (grub_video_set_active_render_target): Likewise.
33470
33471 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
33472 Undefined.
33473 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
33474
33475 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
33476 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33477 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33478 instead of $(srcdir)/genkernsyms.sh.
33479
33480 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
33481 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33482 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33483 instead of $(srcdir)/genkernsyms.sh.
33484
33485 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
33486 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33487 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33488 instead of $(srcdir)/genkernsyms.sh.
33489
33490 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
33491 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33492 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33493 instead of $(srcdir)/genkernsyms.sh.
33494
33495 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
33496 genkernsyms.sh.
33497
33498 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
33499 genkernsyms.sh.
33500 (gensymlist.sh): New target.
33501 (genkernsyms.sh): Likewise.
33502
33503 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
33504 genkernsyms.sh.in and gensymlist.sh.in.
33505
33506 * genkernsyms.sh: Removed.
33507 * gensymlist.sh: Likewise.
f19dbdb7 33508
7b455f4d 33509 * genkernsyms.sh.in: New file.
33510 * gensymlist.sh.in: Likewise.
33511
1885bb27 335122006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33513
33514 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
33515 clobber "prefix", since we may have already set it manually.
33516
71538dff 335172006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33518
33519 * kern/misc.c (abort): New alias for grub_abort.
33520
2965c7cc 335212006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
33522
33523 A new machine-specific function "grub_machine_set_prefix" is
33524 defined. This is called after loading modules, so that a prefix
33525 initialization can use modules. Also, this change adds an
33526 intensive debugging feature for the memory manager via the
33527 configure option "--enable-mm-debug".
f19dbdb7 33528
2965c7cc 33529 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
33530 PART.LEN.
33531
33532 * kern/sparc64/ieee1275/init.c (abort): Removed.
33533 (grub_stop): Likewise.
33534 (grub_exit): New function.
33535 (grub_set_prefix): Renamed to ...
33536 (grub_machine_set_prefix): ... this.
33537 (grub_machine_init): Do not call grub_set_prefix.
33538
33539 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
33540 (grub_machine_set_prefix): ... this.
33541 (grub_machine_init): Do not call grub_set_prefix.
33542
33543 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
33544 (grub_machine_init): Do not set the prefix here.
33545
33546 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
33547
33548 * kern/efi/init.c: Include grub/mm.h.
33549 (grub_efi_set_prefix): New function.
33550
33551 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
33552 (grub_efi_get_filename): New function.
33553 (grub_print_device_path): Renamed to ...
33554 (grub_efi_print_device_path): ... this.
33555
33556 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
33557 [MM_DEBUG] (grub_realloc): Likewise.
33558 [MM_DEBUG] (grub_free): Likewise.
33559 [MM_DEBUG] (grub_memalign): Likewise.
33560 [MM_DEBUG] (grub_mm_debug): New variable.
33561 [MM_DEBUG] (grub_debug_malloc): New function.
33562 [MM_DEBUG] (grub_debug_free): New function.
33563 [MM_DEBUG] (grub_debug_realloc): New function.
33564 [MM_DEBUG] (grub_debug_memalign): New function.
33565
33566 * kern/misc.c (grub_abort): Print a newline to distinguish
33567 the message.
33568
33569 * kern/main.c (grub_main): Call grub_machine_set_prefix and
33570 grub_set_root_dev after loading modules. This is necessary when
33571 setting a prefix depends on modules.
33572
33573 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
33574 (grub_efi_print_device_path): ... this.
33575 (grub_efi_get_filename): New prototype.
33576 (grub_efi_set_prefix): Likewise.
33577
33578 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
33579 and grub/disk.h.
33580 (grub_efidisk_get_device_handle): New prototype.
33581 (grub_efidisk_get_device_name): Likewise.
33582
33583 * include/grub/mm.h: Include config.h.
33584 (MM_DEBUG): Removed.
33585 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
33586 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
33587 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
33588 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
33589 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
33590 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
33591 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
33592 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
33593 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
33594
33595 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
33596
33597 * disk/efi/efidisk.c: Include grub/partition.h.
33598 (iterate_child_devices): New function.
33599 (add_device): First, compare only last device path nodes, so that
33600 devices are sorted by the types.
33601 (grub_efidisk_get_device_handle): New function.
33602 (grub_efidisk_get_device_name): Likewise.
33603
33604 * configure.ac (--enable-mm-debug): New option to enable the
33605 memory manager debugging feature. This makes the binary much
33606 bigger, so is disabled by default.
33607
9cacaa17 336082006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
33609
33610 Use grub_abort instead of grub_stop, and grub_exit must be
33611 define in each architecture now. Also, this change adds support
33612 for EFI disks.
f19dbdb7 33613
9cacaa17 33614 * util/i386/pc/grub-probefs.c: Include grub/term.h.
33615 (grub_getkey): New function.
33616 (grub_term_get_current): Likewise.
33617
33618 * util/i386/pc/grub-setup.c: Include grub/term.h.
33619 (grub_getkey): New function.
33620 (grub_term_get_current): Likewise.
33621
33622 * util/misc.c (grub_stop): Renamed to ...
33623 (grub_exit): ... this.
33624
33625 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
33626 (grub_exit): ... this.
33627 (grub_machine_init): Use grub_abort instead of abort.
33628 (grub_stop): Removed.
33629
33630 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
33631 abort.
33632
33633 * kern/i386/pc/startup.S (grub_exit): New function.
33634 (cold_reboot): New label.
33635
33636 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
33637 (grub_efi_init): Call grub_efidisk_init.
33638 (grub_efi_fini): Call grub_efidisk_fini.
33639
33640 * kern/efi/efi.c: Include grub/mm.h.
33641 (grub_efi_console_control_guid): Renamed to ...
33642 (console_control_guid): ... this.
33643 (grub_efi_loaded_image_guid): Renamed to ...
33644 (loaded_image_guid): ... this.
33645 (grub_efi_locate_handle): New function.
33646 (grub_efi_open_protocol): Likewise.
33647 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
33648 GRUB_EFI_CONSOLE_CONTROL_GUID.
33649 (grub_efi_exit): Removed.
33650 (grub_stop): Likewise.
33651 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
33652 (grub_exit): New function.
33653 (grub_print_device_path): Likewise.
33654
33655 * kern/rescue.c (grub_rescue_cmd_exit): New function.
33656 (grub_enter_rescue_mode): Register "exit".
33657
33658 * kern/misc.c (grub_real_dprintf): A cosmetic change.
33659 (grub_abort): New function.
33660
33661 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
33662
33663 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
33664
33665 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
33666
33667 * include/grub/efi/efi.h (grub_efi_exit): Removed.
33668 (grub_print_device_path): New prototype.
33669 (grub_efi_locate_handle): Likewise.
33670 (grub_efi_open_protocol): Likewise.
33671
33672 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
33673 * disk/efi/efidisk.c: Likewise.
33674
33675 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
33676
33677 * include/grub/efi/console_control.h
33678 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
33679
33680 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
33681 last 8 bytes as an array.
33682 (GRUB_EFI_DISK_IO_GUID): New macro.
33683 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
33684 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
33685 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
33686 grub_uint8_t.
33687 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
33688 (struct grub_efi_device_path): Rename the member "sub_type" to
33689 "subtype".
33690 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
33691 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
33692 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
33693 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
33694 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
33695 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
33696 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
33697 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
33698 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
33699 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
33700 (struct grub_efi_pci_device_path): New structure.
33701 (grub_efi_pci_device_path_t): New type.
33702 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
33703 (struct grub_efi_pccard_device_path): New structure.
33704 (grub_efi_pccard_device_path_t): New type.
33705 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
33706 (struct grub_efi_memory_mapped_device_path): New structure.
33707 (grub_efi_memory_mapped_device_path_t): New type.
33708 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
33709 (struct grub_efi_vendor_device_path): New structure.
33710 (grub_efi_vendor_device_path_t): New type.
33711 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
33712 (struct grub_efi_controller_device_path): New structure.
33713 (grub_efi_controller_device_path_t): New type.
33714 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
33715 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
33716 (struct grub_efi_acpi_device_path): New structure.
33717 (grub_efi_acpi_device_path_t): New type.
33718 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
33719 (struct grub_efi_expanded_acpi_device_path): New structure.
33720 (grub_efi_expanded_acpi_device_path_t): New type.
33721 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
33722 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
33723 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
33724 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
33725 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
33726 (struct grub_efi_atapi_device_path): New structure.
33727 (grub_efi_atapi_device_path_t): New type.
33728 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
33729 (struct grub_efi_fibre_channel_device_path): New structure.
33730 (grub_efi_fibre_channel_device_path_t): New type.
33731 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
33732 (struct grub_efi_1394_device_path): New structure.
33733 (grub_efi_1394_device_path_t): New type.
33734 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
33735 (struct grub_efi_usb_device_path): New structure.
33736 (grub_efi_usb_device_path_t): New type.
33737 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
33738 (struct grub_efi_usb_class_device_path): New structure.
33739 (grub_efi_usb_class_device_path_t): New type.
33740 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
33741 (struct grub_efi_i2o_device_path): New structure.
33742 (grub_efi_i2o_device_path_t): New type.
33743 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
33744 (struct grub_efi_mac_address_device_path): New structure.
33745 (grub_efi_mac_address_device_path_t): New type.
33746 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
33747 (struct grub_efi_ipv4_device_path): New structure.
33748 (grub_efi_ipv4_device_path_t): New type.
33749 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
33750 (struct grub_efi_ipv6_device_path): New structure.
33751 (grub_efi_ipv6_device_path_t): New type.
33752 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
33753 (struct grub_efi_infiniband_device_path): New structure.
33754 (grub_efi_infiniband_device_path_t): New type.
33755 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
33756 (struct grub_efi_uart_device_path): New structure.
33757 (grub_efi_uart_device_path_t): New type.
33758 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
33759 (struct grub_efi_vendor_messaging_device_path): New structure.
33760 (grub_efi_vendor_messaging_device_path_t): New type.
33761 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
33762 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
33763 (struct grub_efi_hard_drive_device_path): New structure.
33764 (grub_efi_hard_drive_device_path_t): New type.
33765 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
33766 (struct grub_efi_cdrom_device_path): New structure.
33767 (grub_efi_cdrom_device_path_t): New type.
33768 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
33769 (struct grub_efi_vendor_media_device_path): New structure.
33770 (grub_efi_vendor_media_device_path_t): New type.
33771 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
33772 (struct grub_efi_file_path_device_path): New structure.
33773 (grub_efi_file_path_device_path_t): New type.
33774 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
33775 (struct grub_efi_protocol_device_path): New structure.
33776 (grub_efi_protocol_device_path_t): New type.
33777 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
33778 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
33779 (struct grub_efi_bios_device_path): New structure.
33780 (grub_efi_bios_device_path_t): New type.
33781 (struct grub_efi_disk_io): New structure.
33782 (grub_efi_disk_io_t): New type.
33783 (struct grub_efi_block_io_media): New structure.
33784 (grub_efi_block_io_media_t): New type.
33785 (struct grub_efi_block_io): New structure.
33786 (grub_efi_block_io_t): New type.
33787
33788 * include/grub/misc.h (grub_stop): Removed.
33789 (grub_exit): New prototype.
33790 (grub_abort): Likewise.
33791
33792 * include/grub/disk.h (enum grub_disk_dev_id): Added
33793 GRUB_DISK_DEVICE_EFIDISK_ID.
33794
33795 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
33796 disk/efi/efidisk.c.
33797 (kernel_syms.lst): Remove the target if an error occurs.
33798
49986a9f 337992006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
33800
33801 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
33802 as it was simply too buggy.
33803
970d3b8a 338042006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
33805
33806 * kern/misc.c (grub_lltoa): New function.
33807 (grub_vsprintf): Added support for the long long suffix,
33808 i.e. "ll".
33809
ff04ec24 338102006-04-20 Hollis Blanchard <hollis@penguinppc.org>
33811
33812 * Makefile.in (LDFLAGS): Add variable.
33813 (LD): Remove variable.
33814 * configure.ac: Add -m32 to LDFLAGS.
33815 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
33816 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
33817 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
33818 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
33819 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
33820 variables.
33821 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
33822 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
33823 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
33824
37e5e1a4 338252006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
33826
33827 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
33828 length for unknown glyph.
33829
c352d8dd 338302006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
33831
2eab1c0d 33832 Add support for pre-loaded modules into the EFI port.
f19dbdb7 33833
2eab1c0d 33834 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
33835 completely. Accept one more argument DIR. The caller has changed.
33836
33837 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
33838
33839 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
33840 (grub_efi_loaded_image_guid): New variable.
33841 (grub_efi_get_loaded_image): New function.
33842 (grub_arch_modules_addr): Likewise.
33843
33844 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
33845 prototype.
33846
33847 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
33848 (struct grub_efi_loaded_image): New structure.
33849 (grub_efi_loaded_image_t): New type.
33850
338512006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33852
c352d8dd 33853 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
33854 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
33855 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
33856
6d01d6b4 338572006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
33858
33859 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
33860
976a4ea0 338612006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
33862
33863 * DISTLIST: Added include/grub/efi/console.h,
33864 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
33865 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33866
33867 * include/grub/efi/console.h: New file.
33868 * include/grub/efi/time.h: Likewise.
33869 * include/grub/i386/efi/kernel.h: Likewise.
33870 * kern/efi/init.c: Likewise.
33871 * kern/efi/mm.c: Likewise.
33872 * term/efi/console.c: Likewise.
f19dbdb7 33873
976a4ea0 33874 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
33875 (grub_stop): Removed.
33876 (grub_get_rtc): Likewise.
33877 (grub_machine_init): Simply call grub_efi_init.
33878 (grub_machine_fini): Call grub_efi_fini.
33879
33880 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
33881 (grub_efi_output_string): Removed.
33882 (grub_efi_stall): New function.
33883 (grub_stop): Likewise.
33884 (grub_get_rtc): Likewise.
33885
33886 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
33887 (grub_efi_stall): New prototype.
33888 (grub_efi_allocate_pages): Likewise.
33889 (grub_efi_free_pages): Likewise.
33890 (grub_efi_get_memory_map): Likewise.
33891 (grub_efi_mm_init): Likewise.
33892 (grub_efi_mm_fini): Likewise.
33893 (grub_efi_init): Likewise.
33894 (grub_efi_fini): Likewise.
33895
33896 * include/grub/i386/efi/time.h: Do not include
33897 grub/symbol.h. Include grub/efi/time.h.
33898 (GRUB_TICKS_PER_SECOND): Removed.
33899 (grub_get_rtc): Likewise.
33900
33901 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
33902 Added padding. The EFI spec is buggy.
33903 (GRUB_EFI_BLACK): New macro.
33904 (GRUB_EFI_BLUE): Likewise.
33905 (GRUB_EFI_GREEN): Likewise.
33906 (GRUB_EFI_CYAN): Likewise.
33907 (GRUB_EFI_RED): Likewise.
33908 (GRUB_EFI_MAGENTA): Likewise.
33909 (GRUB_EFI_BROWN): Likewise.
33910 (GRUB_EFI_LIGHTGRAY): Likewise.
33911 (GRUB_EFI_BRIGHT): Likewise.
33912 (GRUB_EFI_DARKGRAY): Likewise.
33913 (GRUB_EFI_LIGHTBLUE): Likewise.
33914 (GRUB_EFI_LIGHTGREEN): Likewise.
33915 (GRUB_EFI_LIGHTCYAN): Likewise.
33916 (GRUB_EFI_LIGHTRED): Likewise.
33917 (GRUB_EFI_LIGHTMAGENTA): Likewise.
33918 (GRUB_EFI_YELLOW): Likewise.
33919 (GRUB_EFI_WHITE): Likewise.
33920 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
33921 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
33922 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
33923 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
33924 (GRUB_EFI_BACKGROUND_RED): Likewise.
33925 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
33926 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
33927 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
33928 (GRUB_EFI_TEXT_ATTR): Likewise.
33929
33930 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
33931 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33932 (kernel_mod_HEADERS): Added efi/time.h.
33933
83709125 339342006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
33935
33936 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
33937 include/grub/efi/api.h, include/grub/efi/console_control.h,
33938 include/grub/efi/efi.h, include/grub/efi/pe32.h,
33939 include/grub/i386/efi/time.h, kern/efi/efi.c,
33940 kern/i386/efi/init.c, kern/i386/efi/startup.S,
33941 and util/i386/efi/grub-mkimage.c.
33942
33943 * Makefile.in (RMKFILES): Added i386-efi.rmk.
33944
33945 * genmk.rb (PModule#rule): Do not export symbols if
33946 #{prefix}_EXPORTS is set to "no".
33947
33948 * conf/i386-efi.mk: New file.
33949 * conf/i386-efi.rmk: Likewise.
33950 * include/grub/efi/api.h: Likewise.
33951 * include/grub/efi/console_control.h: Likewise.
33952 * include/grub/efi/efi.h: Likewise.
33953 * include/grub/efi/pe32.h: Likewise.
33954 * include/grub/i386/efi/time.h: Likewise.
33955 * kern/efi/efi.c: Likewise.
33956 * kern/i386/efi/init.c: Likewise.
33957 * kern/i386/efi/startup.S: Likewise.
33958 * util/i386/efi/grub-mkimage.c: Likewise.
33959
339602006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 33961
33962 * include/grub/script.h: Include <grub/parser.h> and
33963 "grub_script.tab.h".
33964 (struct grub_lexer_param): New struct.
33965 (struct grub_parser_param): Likewise.
33966 (grub_script_create_arglist): Pass the state in an argument.
33967 (grub_script_add_arglist): Likewise.
33968 (grub_script_create_cmdline): Likewise.
33969 (grub_script_create_cmdblock): Likewise.
33970 (grub_script_create_cmdif): Likewise.
33971 (grub_script_create_cmdmenu): Likewise.
33972 (grub_script_add_cmd): Likewise.
33973 (grub_script_arg_add): Likewise.
33974 (grub_script_lexer_ref): Likewise.
33975 (grub_script_lexer_deref): Likewise.
33976 (grub_script_lexer_record_start): Likewise.
33977 (grub_script_lexer_record_stop): Likewise.
33978 (grub_script_mem_record): Likewise.
33979 (grub_script_mem_record_stop): Likewise.
33980 (grub_script_malloc): Likewise.
33981 (grub_script_yylex): Likewise.
33982 (grub_script_yyparse): Likewise.
33983 (grub_script_yyerror): Likewise.
33984 (grub_script_yylex): Likewise.
33985 (grub_script_lexer_init): Return the state.
33986
33987 * normal/lexer.c (grub_script_lexer_state): Removed variable.
33988 (grub_script_lexer_done): Likewise.
33989 (grub_script_lexer_getline): Likewise.
33990 (grub_script_lexer_refs): Likewise.
33991 (script): Likewise.
33992 (newscript): Likewise.
33993 (record): Likewise.
33994 (recording): Likewise.
33995 (recordpos): Likewise.
33996 (recordlen): Likewise.
33997 (grub_script_lexer_init): Return the state instead of setting
33998 global variables.
33999 (grub_script_lexer_ref): Use the newly added argument for state
34000 instead of globals.
34001 (grub_script_lexer_deref): Likewise.
34002 (grub_script_lexer_record_start): Likewise.
34003 (grub_script_lexer_record_stop): Likewise.
34004 (recordchar): Likewise.
34005 (nextchar): Likewise.
34006 (grub_script_yylex2): Likewise.
34007 (grub_script_yylex): Likewise.
34008 (grub_script_yyerror): Likewise.
34009
34010 * normal/parser.y (func_mem): Removed variable.
34011 (menu_entry): Likewise.
34012 (err): Likewise.
34013 (%lex-param): New parser option.
34014 (%parse-param): Likewise.
34015 (script): Always return the AST.
34016 (argument): Pass the state around.
34017 (arguments): Likewise.
34018 (grubcmd): Likewise.
34019 (commands): Likewise.
34020 (function): Likewise.
34021 (menuentry): Likewise.
34022 (if_statement): Likewise.
34023 (if): Likewise.
34024
34025 * normal/script.c (grub_script_memused): Removed variable.
34026 (grub_script_parsed): Likewise.
34027 (grub_script_malloc): Added a state argument. Use that instead of
34028 global variables.
34029 (grub_script_mem_record): Likewise.
34030 (grub_script_mem_record_stop): Likewise.
34031 (grub_script_arg_add): Likewise.
34032 (grub_script_add_arglist): Likewise.
34033 (grub_script_create_cmdline): Likewise.
34034 (grub_script_create_cmdif): Likewise.
34035 (grub_script_create_cmdmenu): Likewise.
34036 (grub_script_add_cmd): Likewise.
34037 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 34038
e2a8c904 340392006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 34040
34041 * normal/command.c (grub_command_init): Remove the title command.
34042
34043 * normal/lexer.c (grub_script_yylex): Renamed from this...
34044 (grub_script_yylex2): ... to this.
34045 (grub_script_yylex): New function. Temporary
34046 introduced to filter some tokens.
34047 (grub_script_yyerror): Print a newline.
34048
34049 * normal/main.c (read_config_file): Output information about the
34050 lines that contain errors. Wait for a key after all lines have
34051 been processed. Don't return an empty menu.
34052
34053 * normal/parser.y (func_mem): Don't initialize.
34054 (menu_entry): Likewise.
34055 (err): New variable.
34056 (script): Don't return anything when an error was encountered.
34057 (ws, returns): Removed rules.
34058 (argument): Disabled concatenated variable support.
34059 (arguments): Remove explicit separators.
34060 (grubcmd): Likewise.
34061 (function): Likewise.
34062 (menuentry): Likewise.
34063 (if): Likewise.
34064 (commands): Likewise. Add error handling.
34065
34066 * normal/script.c (grub_script_create_cmdline): If
34067 `grub_script_parsed' is 0, assume the parser encountered an error.
34068
c9a86192 340692006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
34070
34071 * configure.ac: Add support for EFI. Fix the typo
34072 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
34073
70f3b243 340742006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34075
34076 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
34077 foreign multibyte characters should be shown correctly.
34078
65f201ad 340792006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34080
34081 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
34082 calculation.
34083 (read_config_file): Made it to close file before returning.
34084
b4b93674 340852006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
34086
34087 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
34088 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
34089 video/i386/pc/vbefill.c.
34090
34091 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
34092 video/i386/pc/vbefill.c.
34093
34094 * include/grub/video.h (grub_video_blit_format): New enum.
34095 (grub_video_mode_info): Added new member blit_format.
34096 (grub_video_get_blit_format): New function prototype.
34097
34098 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
34099 function prototype.
34100 (grub_video_vbe_map_rgb): Likewise.
34101 (grub_video_vbe_unmap_color): Likewise.
34102
34103 * include/grub/i386/pc/vbeblit.h: New file.
34104
34105 * include/grub/i386/pc/vbefill.h: New file.
34106
34107 * video/video.c (grub_video_get_blit_format): New function.
34108 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
34109 (grub_video_vbe_map_rgb): Likewise.
34110 (grub_video_vbe_unmap_color): Likewise.
34111
34112 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
34113 optimized fills.
34114 (grub_video_vbe_blit_render_target): Changed to use more optimized
34115 blits.
34116 (grub_video_vbe_setup): Added detection for optimized settings.
34117 (grub_video_vbe_create_render_target): Likewise.
34118
34119 * video/i386/pc/vbeblit.c: New file.
34120
34121 * video/i386/pc/vbefill.c: New file.
34122
c2379b9c 341232006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
34124
34125 * font/manager.c (grub_font_get_glyph): Removed font fixup from
34126 here...
34127
34128 * util/unifont2pff.rb: ... and moved it to here. Improved argument
34129 parsing to support both hex and dec ranges. If filename was missing
34130 show usage information.
34131
bd0d7896 341322006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
34133
34134 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
34135 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
34136
34137 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
34138 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
34139 (video_mod_SOURCES): Added.
34140 (video_mod_CFLAGS): Likewise.
34141 (video_mod_LDFLAGS): Likewise.
34142 (gfxterm_mod_SOURCES): Likewise.
34143 (gfxterm_mod_CFLAGS): Likewise.
34144 (gfxterm_mod_LDFLAGS): Likewise.
34145 (videotest_mod_SOURCES): Likewise.
34146 (videotest_mod_CFLAGS): Likewise.
34147 (videotest_mod_LDFLAGS): Likewise.
34148 (vesafb_mod_SOURCES): Removed.
34149 (vesafb_mod_CFLAGS): Likewise.
34150 (vesafb_mod_LDFLAGS): Likewise.
34151 (vga_mod_SOURCES): Likewise.
34152 (vga_mod_CFLAGS): Likewise.
34153 (vga_mod_LDFLAGS): Likewise.
34154
34155 * commands/videotest.c: New file.
34156
34157 * font/manager.c (fill_with_default_glyph): Modified to use
34158 grub_font_glyph.
34159 (grub_font_get_glyph): Likewise.
34160 (fontmanager): Renamed from this...
34161 (font_manager): ... to this.
34162
34163 * include/grub/font.h (grub_font_glyph): Added new structure.
34164 (grub_font_get_glyph): Modified to use grub_font_glyph.
34165
34166 * include/grub/misc.h (grub_abs): Added as inline function.
34167
34168 * include/grub/video.h: New file.
34169
34170 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
34171 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
34172 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
34173 (grub_vbe_get_controller_info): Renamed from this...
34174 (grub_vbe_bios_get_controller_info): ... to this.
34175 (grub_vbe_get_mode_info): Renamed from this...
34176 (grub_vbe_bios_get_mode_info): ... to this.
34177 (grub_vbe_set_mode): Renamed from this...
34178 (grub_vbe_bios_set_mode): ... to this.
34179 (grub_vbe_get_mode): Renamed from this...
34180 (grub_vbe_bios_get_mode): ... to this.
34181 (grub_vbe_set_memory_window): Renamed from this...
34182 (grub_vbe_bios_set_memory_window): ... to this.
34183 (grub_vbe_get_memory_window): Renamed from this...
34184 (grub_vbe_bios_get_memory_window): ... to this.
34185 (grub_vbe_set_scanline_length): Renamed from this...
34186 (grub_vbe_set_scanline_length): ... to this.
34187 (grub_vbe_get_scanline_length): Renamed from this...
34188 (grub_vbe_bios_get_scanline_length): ... to this.
34189 (grub_vbe_set_display_start): Renamed from this...
34190 (grub_vbe_bios_set_display_start): ... to this.
34191 (grub_vbe_get_display_start): Renamed from this...
34192 (grub_vbe_bios_get_display_start): ... to this.
34193 (grub_vbe_set_palette_data): Renamed from this...
34194 (grub_vbe_bios_set_palette_data): ... to this.
34195 (grub_vbe_set_pixel_rgb): Removed.
34196 (grub_vbe_set_pixel_index): Likewise.
34197
34198 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
34199 from this...
34200 (grub_vbe_bios_get_controller_info): ... to this.
34201 (grub_vbe_get_mode_info): Renamed from this...
34202 (grub_vbe_bios_get_mode_info): ... to this.
34203 (grub_vbe_set_mode): Renamed from this...
34204 (grub_vbe_bios_set_mode): ... to this.
34205 (grub_vbe_get_mode): Renamed from this...
34206 (grub_vbe_bios_get_mode): ... to this.
34207 (grub_vbe_set_memory_window): Renamed from this...
34208 (grub_vbe_bios_set_memory_window): ... to this.
34209 (grub_vbe_get_memory_window): Renamed from this...
34210 (grub_vbe_bios_get_memory_window): ... to this.
34211 (grub_vbe_set_scanline_length): Renamed from this...
34212 (grub_vbe_set_scanline_length): ... to this.
34213 (grub_vbe_get_scanline_length): Renamed from this...
34214 (grub_vbe_bios_get_scanline_length): ... to this.
34215 (grub_vbe_set_display_start): Renamed from this...
34216 (grub_vbe_bios_set_display_start): ... to this.
34217 (grub_vbe_get_display_start): Renamed from this...
34218 (grub_vbe_bios_get_display_start): ... to this.
34219 (grub_vbe_set_palette_data): Renamed from this...
34220 (grub_vbe_bios_set_palette_data): ... to this.
34221 (grub_vbe_bios_get_controller_info): Fixed problem with registers
34222 getting corrupted after calling it. Added more pushes and pops.
34223 (grub_vbe_bios_set_mode): Likewise.
34224 (grub_vbe_bios_get_mode): Likewise.
34225 (grub_vbe_bios_get_memory_window): Likewise.
34226 (grub_vbe_bios_set_scanline_length): Likewise.
34227 (grub_vbe_bios_get_scanline_length): Likewise.
34228 (grub_vbe_bios_get_display_start): Likewise.
34229 (grub_vbe_bios_set_palette_data): Likewise.
34230
34231 * normal/cmdline.c (cl_set_pos): Refresh the screen.
34232 (cl_insert): Likewise.
34233 (cl_delete): Likewise.
34234
34235 * term/gfxterm.c: New file.
34236
34237 * term/i386/pc/vesafb.c: Removed file.
34238
34239 * video/video.c: New file.
34240
34241 * video/i386/pc/vbe.c (real2pm): Added new function.
34242 (grub_video_vbe_draw_pixel): Likewise.
34243 (grub_video_vbe_get_video_ptr): Likewise.
34244 (grub_video_vbe_get_pixel): Likewise
34245 (grub_video_vbe_init): Likewise.
34246 (grub_video_vbe_fini): Likewise.
34247 (grub_video_vbe_setup): Likewise.
34248 (grub_video_vbe_get_info): Likewise.
34249 (grub_video_vbe_set_palette): Likewise.
34250 (grub_video_vbe_get_palette): Likewise.
34251 (grub_video_vbe_set_viewport): Likewise.
34252 (grub_video_vbe_get_viewport): Likewise.
34253 (grub_video_vbe_map_color): Likewise.
34254 (grub_video_vbe_map_rgb): Likewise.
34255 (grub_video_vbe_map_rgba): Likewise.
34256 (grub_video_vbe_unmap_color): Likewise.
34257 (grub_video_vbe_fill_rect): Likewise.
34258 (grub_video_vbe_blit_glyph): Likewise.
34259 (grub_video_vbe_blit_bitmap): Likewise.
34260 (grub_video_vbe_blit_render_target): Likewise.
34261 (grub_video_vbe_scroll): Likewise.
34262 (grub_video_vbe_swap_buffers): Likewise.
34263 (grub_video_vbe_create_render_target): Likewise.
34264 (grub_video_vbe_delete_render_target): Likewise.
34265 (grub_video_vbe_set_active_render_target): Likewise.
34266 (grub_vbe_set_pixel_rgb): Remove function.
34267 (grub_vbe_set_pixel_index): Likewise.
34268 (index_color_mode): Remove static variable.
34269 (active_mode): Likewise.
34270 (framebuffer): Likewise.
34271 (bytes_per_scan_line): Likewise.
34272 (grub_video_vbe_adapter): Added new static variable.
34273 (framebuffer): Likewise.
34274 (render_target): Likewise.
34275 (initial_mode): Likewise.
34276 (mode_in_use): Likewise.
34277 (mode_list): Likewise.
34278
5f97350b 342792006-03-10 Marco Gerards <marco@gnu.org>
34280
34281 * configure.ac (AC_INIT): Bumped to 1.93.
34282
34283 * DISTLIST: Added `include/grub/hfs.h'.
34284
a3c5c6f8 342852006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
34286
34287 * boot/i386/pc/boot.S (general_error): Before looping, try INT
34288 18H, which might help the BIOS falling back to next boot media.
34289
6de53d26 342902006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
34291
34292 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
34293 Poe Chen <poe.poechen@gmail.com>.
34294
77c4a393 342952006-01-17 Marco Gerards <marco@gnu.org>
34296
34297 * include/grub/normal.h: Include <grub/script.h>.
34298 (grub_command_list): Removed struct.
34299 (grub_command_list_t): Removed type.
34300 (grub_menu_entry): Remove members `num' and `command_list'. Add
34301 members `commands' and `sourcecode'.
34302 * include/grub/script.h: Add inclusion guards.
34303 (grub_script_cmd_menuentry): New struct.
34304 (grub_script_execute_menuentry): New prototype.
34305 (grub_script_lexer_record_start): Likewise.
34306 (grub_script_lexer_record_stop): Likewise.
34307 * normal/execute.c (grub_script_execute_menuentry): New function.
34308 * normal/lexer.c (record, recording, recordpos, recordlen): New
34309 variables.
34310 (grub_script_lexer_record_start): New function.
34311 (grub_script_lexer_record_stop): Likewise.
34312 (recordchar): Likewise.
34313 (nextchar): Likewise.
34314 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
34315 2048 as the buffer size. Add the tokens `menuentry' and `@'.
34316 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
34317 (current_menu): New variable.
34318 (free_menu): Mainly rewritten.
34319 (grub_normal_menu_addentry): New function.
34320 (read_config_file): Rewritten.
34321 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 34322 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 34323 the menu entry.
34324 (run): Mainly rewritten.
34325 * normal/parser.y (menu_entry): New variable.
34326 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
34327 (menuentry): New rule.
34328 (command): Add `menuentry'.
34329 (if_statement): Allow additional returns before `fi'.
34330 * normal/script.c (grub_script_create_cmdmenu): New function.
34331
144f1f98 343322006-01-03 Marco Gerards <marco@gnu.org>
34333
34334 * INSTALL: GNU Bison is required.
34335 * configure.ac: Rewritten the test to detect Bison.
34336 * Makefile.in (YACC): New variable. Reported by Xun Sun
34337 <xun.sun.cn@gmail.com>.
34338
af4b2d89 343392006-01-03 Marco Gerards <marco@gnu.org>
34340
34341 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
34342 the HFS+ filesystem to filesystem blocks.
34343 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
34344 GCC warning is silenced.
34345
15643b71 343462006-01-03 Marco Gerards <marco@gnu.org>
34347
34348 * partmap/apple.c (apple_partition_map_iterate): Convert the data
34349 read from disk from big endian to host byte order.
34350
00905879 343512006-01-03 Hollis Blanchard <hollis@penguinppc.org>
34352
34353 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
34354 documentation.
34355 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
34356 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
34357 embedded HFS+ filesystem.
34358 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
34359 (grub_hfs_sblock): Move from here...
34360 * include/grub/hfs.h: To here... New file.
34361 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
34362 documentation.
34363 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
34364 New macros.
34365 (grub_hfsplus_volheader): Change type of member `magic' to
34366 `grub_uint16_t'.
34367 (grub_hfsplus_data): Add new member `embedded_offset'.
34368 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
34369 returned block.
34370 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
34371 Calculate the offset.
34372
8899bc3e 343732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34374
34375 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
34376 Removed.
34377 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
34378
ae8c0277 343792005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34380
34381 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
34382 ENV->NAME is NULL after allocating ENV->VALUE.
34383
07084456 343842005-12-25 Marco Gerards <marco@gnu.org>
34385
34386 * kern/env.c (grub_env_set): Rewritten the error handling code.
34387
4750f5f1 343882005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34389
34390 * geninit.sh: Made more robust, and more portable.
34391
50214199 343922005-12-25 Marco Gerards <marco@gnu.org>
34393
34394 Add support for Apple HFS+ filesystems.
f19dbdb7 34395
50214199 34396 * fs/hfsplus.c: New file.
34397
34398 * DISTLIST: Added `fs/hfsplus.c'.
34399
34400 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
34401 (hfsplus_mod_SOURCES): New variable.
34402 (hfsplus_mod_CFLAGS): Likewise.
34403 (hfsplus_mod_LDFLAGS): Likewise.
34404 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
34405 (grub_setup_SOURCES): Likewise.
34406 (grub_mkdevicemap_SOURCES): Likewise.
34407 (grub_emu_SOURCES): Likewise.
34408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34409
34410 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
34411
34412 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
34413
befaed6c 344142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34415
34416 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
34417 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
34418 include/grub/parser.h, include/grub/script.h, kern/parser.c,
34419 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
34420 normal/lexer.c, normal/parser.y, normal/script.c, and
34421 partmap/gpt.c.
34422 Removed kern/sparc64/cache.c.
34423
34424 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
34425 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
34426 grub_emu_init.c.
34427
34428 * configure.ac (AC_INIT): Bumped to 1.92.
34429
6a124103 344302005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
34431
34432 * kern/err.c (grub_error_push): Added new function to support error
34433 stacks.
34434 (grub_error_pop): Likewise.
34435 (grub_error_stack_items): New local variable to support error stacks.
34436 (grub_error_stack_pos): Likewise.
34437 (grub_error_stack_assert): Likewise.
34438 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
34439 stack depth.
34440 (grub_print_error): Added support to print errors from error stack.
34441
34442 * include/grub/err.h (grub_error_push): Added function prototype.
34443 (grub_error_pop): Likewise.
34444
be973c1b 344452005-12-09 Hollis Blanchard <hollis@penguinppc.org>
34446
34447 * configure.ac: Accept `powerpc64' as host_cpu.
34448 (amd64): Rename to `biarch32'.
34449
34450 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
34451 non-cacheline-aligned addresses.
34452
34453 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
34454 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
34455 if `size' is non-zero.
34456
b04216ab 344572005-12-03 Marco Gerards <mgerards@xs4all.nl>
34458
34459 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
34460 and `cd' to make sure the filename is not prefixed with a
34461 directory name.
34462 (pkgdata_MODULES): Add `gpt.mod'.
34463 (gpt_mod_SOURCES): New variable.
34464 (gpt_mod_CFLAGS): Likewise.
34465 (gpt_mod_LDFLAGS): Likewise.
34466
34467 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
34468
34469 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
34470 New macro.
34471
34472 * partmap/gpt.c: New file.
34473
34474 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
34475 GPT partition map is detected.
34476
41730ed9 344772005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
34478
34479 * commands/i386/pc/play.c: New file.
34480 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
34481 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
34482 macros.
f19dbdb7 34483
95dc3643 344842005-11-27 Marco Gerards <mgerards@xs4all.nl>
34485
34486 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
34487 ((unused))' to silence gcc warning.
34488
1569ec51 344892005-11-26 Hollis Blanchard <hollis@penguinppc.org>
34490
34491 * configure.ac: Correct `AC_PROG_YACC' test.
34492
9abde152 344932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34494
34495 * util/powerpc/ieee1275/grub-install.in: Run the mount point
34496 check before installing files.
34497
44b83271 344982005-11-22 Mike Small <smallm@panix.com>
34499
34500 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
34501 number regex so multidigit numbers are recognized correctly.
34502
345032005-11-22 Mike Small <smallm@panix.com>
34504
34505 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
34506 debugging message before attempting to claim memory.
34507 (grub_rescue_cmd_initrd): Add a claim debugging message and try
34508 multiple addresses in case of failure.
34509
9c12956b 345102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34511
34512 * term/tparm.c (get_space): Remove empty `if' statement.
34513
34514 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
34515
34516 * kern/parser.c (check_varstate): Rename `state' to 's'.
34517
aeaf81d9 345182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34519
34520 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
34521 variable definitions to the beginning of each function. Sort stack
34522 variables by size.
34523 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
34524 `buf' argument to `char *'.
34525
79bbb63f 345262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34527
34528 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
34529 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34530 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 34531 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34532 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34533 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34534 configfile.mod, search.mod, gzio.mod and test.mod.
34535 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34536 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34537 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34538 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34539 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34540 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34541 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34542 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34543 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34544 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34545 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34546 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34547 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34548 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34549 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34550 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34551 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34552 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34553 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34554 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34555 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34556 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34557 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
34558
34559 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
34560 `grep --include'.
34561 (pkgdata_MODULES): Add test.mod.
34562
233b1628 345632005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34564
34565 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
34566 appending to variables with "+=".
34567 (PModule): Use full pathname to generate *.lst filenames.
34568
34569 * Makefile.in: Fixed list rules moved from genmk.rb.
34570 (.DELETE_ON_ERROR): New special target.
34571 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
34572
34573 * conf/i386-pc.rmk: Include conf/common.mk.
34574 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34575 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 34576 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34577 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34578 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34579 configfile.mod, search.mod, gzio.mod and test.mod.
34580 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34581 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34582 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34583 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34584 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34585 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34586 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34587 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34588 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34589 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34590 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34591 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34592 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34593 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34594 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34595 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34596 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34597 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34598 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34599 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34600 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34601 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34602 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
34603 here...
34604 * conf/common.rmk: ... to here. New file.
34605
34606 * conf/common.mk: New file.
34607
16f820c8 346082005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
34609
34610 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
34611 (grub_script.tab.c): ... here.
34612
34613 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
34614 (grub_script.tab.c): ... here.
34615
34616 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
34617 (grub_script.tab.c): ... here.
34618
34619 * normal/command.c (grub_command_find): Fixed a memory leak of
34620 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
34621
63ba1554 346222005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34623
34624 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
34625 "@" which marks the start of a comment on ARM.
34626 (VARIABLE): Likewise.
34627
7f67dc13 346282005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34629
79bbb63f 34630 Add support for Linux/ADFS partition tables.
7f67dc13 34631
34632 * partmap/acorn.c: New file.
34633
34634 * include/grub/acorn_filecore.h: Likewise.
34635
34636 * DISTLIST: Added `partmap/acorn.c' and
34637 `include/grub/acorn_filecore.h'.
f19dbdb7 34638
7f67dc13 34639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34640 `partmap/acorn.c'.
34641 (pkgdata_MODULES): Add `acorn.mod'.
34642 (acorn_mod_SOURCES): New variable.
34643 (acorn_mod_CFLAGS): Likewise.
34644
34645 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34646 `partmap/acorn.c'.
34647 (pkgdata_MODULES): Add `acorn.mod'.
34648 (acorn_mod_SOURCES): New variable.
34649 (acorn_mod_CFLAGS): Likewise.
34650
34651 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
34652 (pkgdata_MODULES): Add `acorn.mod'.
34653 (acorn_mod_SOURCES): New variable.
34654 (acorn_mod_CFLAGS): Likewise.
34655 (acorn_mod_LDFLAGS): Likewise.
34656
34657 * include/types.h (grub_disk_addr_t): New typedef.
34658
6d099807 346592005-11-13 Marco Gerards <mgerards@xs4all.nl>
34660
34661 * geninit.sh: New file.
34662
34663 * geninitheader.sh: Likewise.
34664
34665 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
34666 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
34667 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
34668 * commands/configfile.c (grub_configfile_init)
34669 (grub_configfile_fini): Likewise.
34670 * commands/default.c (grub_default_init, grub_default_fini):
34671 Likewise.
34672 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
34673 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
34674 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
34675 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
34676 Likewise.
34677 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
34678 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
34679 Likewise.
34680 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 34681 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 34682 Likewise.
34683 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
34684 Likewise.
fe6b695a 34685 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 34686 Likewise.
34687 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
34688 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
34689 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
34690 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
34691 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
34692 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
34693 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
34694 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
34695 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
34696 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
34697 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
34698 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
34699 * partmap/amiga.c (grub_amiga_partition_map_init)
34700 (grub_amiga_partition_map_fini): Likewise.
34701 * partmap/apple.c (grub_apple_partition_map_init)
34702 (grub_apple_partition_map_fini): Likewise.
34703 * partmap/pc.c (grub_pc_partition_map_init)
34704 (grub_pc_partition_map_fini): Likewise.
34705 * partmap/sun.c (grub_sun_partition_map_init,
34706 grub_sun_partition_map_fini): Likewise.
34707 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
34708 Likewise.
34709
34710 * util/grub-emu.c: Include <grub_modules_init.h>.
34711 (main): Don't initialize and de-initialize any modules directly,
34712 use `grub_init_all' and `grub_fini_all' instead.
34713
34714 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
34715 `grub_vesafb_mod_init'.
34716 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
34717 all users.
34718 * term/i386/pc/vga.c (grub_vga_init): Renamed to
34719 `grub_vga_mod_init'. Updated all users.
34720 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 34721
6d099807 34722 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
34723 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
34724 rules.
34725
34726 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
34727 Generate a function to initialize the module in utilities.
34728 Updated all callers.
34729 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
34730 initialize the module in utilities. Updated all callers.
34731
9046bcf0 347322005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34733
34734 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
34735 escape sequence and a literal ^L to clear the screen.
34736
34737 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
34738 when returning from Open Firmware.
34739
d13ea639 347402005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34741
34742 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
34743 (grub_ofconsole_height): Likewise.
34744 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
34745 manually insert a '\n'.
34746 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
34747 `grub_ofconsole_height'. Return early if these are already set.
34748
a8fcf206 347492005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
34750
34751 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34752 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
34753 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
34754 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
34755 and `normal/script.c'.
34756 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34757 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34758 (test_mod_SOURCES): New variable.
34759 (test_mod_CFLAGS): Likewise.
34760 (test_mod_LDFLAGS): Likewise.
34761 (pkgdata_MODULES): Add `test.mod'.
34762 (grub_script.tab.c): New rule.
34763 (grub_script.tab.h): Likewise.
34764
b6b32745 347652005-11-07 Marco Gerards <mgerards@xs4all.nl>
34766
34767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34768 `commands/test.c', `normal/execute.c', `normal/lexer.c',
34769 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34770 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34771 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34772 (test_mod_SOURCES): New variable.
34773 (test_mod_CFLAGS): Likewise.
34774 (pkgdata_MODULES): Add `test.mod'.
34775 (grub_script.tab.c): New rule.
34776 (grub_script.tab.h): Likewise.
34777
daac212a 347782005-11-06 Marco Gerards <mgerards@xs4all.nl>
34779
34780 Add initial scripting support.
34781
34782 * commands/test.c: New file.
34783 * include/grub/script.h: Likewise.
34784 * normal/execute.c: Likewise.
34785 * normal/function.c: Likewise.
34786 * normal/lexer.c: Likewise.
34787 * normal/parser.y: Likewise.
34788 * normal/script.c: Likewise.
34789
34790 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 34791
daac212a 34792 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
34793 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
34794 `normal/function.c' and `normal/script.c'.
34795 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34796 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 34797 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
34798 variables.
daac212a 34799 (pkgdata_MODULES): Add `test.mod'.
34800 (grub_script.tab.c): New rule.
34801 (grub_script.tab.h): Likewise.
34802
34803 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
34804
34805 * include/grub/normal.h (grub_test_init): New prototype.
34806 (grub_test_fini): Likewise.
f19dbdb7 34807
daac212a 34808 * normal/command.c: Include <grub/script.h>.
34809 (grub_command_execute): Rewritten.
f19dbdb7 34810
daac212a 34811 * util/grub-emu.c (main): Call `grub_test_init' and
34812 `grub_test_fini'.
34813
77500b2b 348142005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34815
34816 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
34817 to 0.
34818 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
34819 there are no pending characters.
34820
e45deb9e 348212005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34822
34823 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
34824 `grub_strndup' to drop device arguments. Replace unnecessary
34825 `grub_strndup' with `grub_strdup'.
34826
4ce32619 348272005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34828
34829 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
34830 `debug' environment variable has been set.
34831
348322005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 34833
4ce32619 34834 * Makefile.in (install-local): Use $(DATA).
34835 (uninstall): Likewise.
34836 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
34837 (sbin_UTILITIES): ... to here.
34838 (sbin_SCRIPTS): New variable.
34839 (grub_install_SOURCES): New variable.
34840 * util/powerpc/ieee1275/grub-install.in: New file.
34841 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
34842 variable.
34843 (add_segments): Call `grub_util_get_path'.
34844
25fe6f03 348452005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34846
34847 From Timothy Baldwin:
34848 * commands/ls.c (grub_ls_list_files): Close FILE with
34849 grub_file_close.
34850 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
34851
04ccf3ec 348522005-10-24 Marco Gerards <mgerards@xs4all.nl>
34853
34854 * include/grub/parser.h: New file.
34855
34856 * kern/parser.c: Likewise.
34857
34858 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
34859 (grub_setup_SOURCES): Likewise.
34860 (grub_probefs_SOURCES): Likewise.
34861 (grub_emu_SOURCES): Likewise.
34862 (kernel_img_HEADERS): Add `parser.h'.
34863
34864 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
34865 (grub_emu_SOURCES): Add `kern/parser.c'.
34866 (grubof_SOURCES): Likewise.
34867
34868 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
34869 (grubof_SOURCES): Add `kern/parser.c'.
34870
34871 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
34872
34873 * kern/misc.c (grub_split_cmdline): Removed function.
34874
34875 * kern/rescue.c: Include <grub/parser.h>.
34876 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
34877 of `grub_split_cmdline'.
34878
34879 * normal/command.c: Include <grub/parser.h>.
34880 (grub_command_execute): Use `grub_parser_split_cmdline' instead
34881 of `grub_split_cmdline'.
34882
34883 * normal/completion.c: Include <grub/parser.h>.
34884 (cmdline_state): New variable.
34885 (iterate_dir): End the filename with a quote depending on the
34886 command line state.
34887 (get_state): new function.
34888 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
34889 split the arguments and determine the current argument. When the
34890 argument string is not quoted, escape all spaces.
34891
6d8f4b0e 348922005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34893
34894 * normal/sparc64/setjmp.S: New file.
34895
15cf03ed 348962005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34897
34898 * include/grub/sparc64/libgcc.h: New file.
34899 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
34900 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
34901 normal/sparc64/setjmp.c.
34902
03e8661a 349032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34904
34905 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
34906 * kern/sparc64/cache.S: New file.
34907 * kern/sparc64/cache.c: Removed.
34908 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
34909 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
34910 -mtune=ultrasparc.
34911 (COMMON_LDFLAGS): Add -melf64_sparc.
34912 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
34913 (grubof_SOURCES): Use cache.S instead of cache.c.
34914 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
34915 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
34916 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
34917 commented though.
34918 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
34919 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
34920 (linux_mod_CFLAGS): Commented out.
34921 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
34922 out because module isn't built.
34923 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
34924 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
34925 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
34926 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
34927 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
34928 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34929 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34930 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
34931 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
34932 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
34933 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34934 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34935 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
34936 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
34937
34eeec8a 349382005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
34939
34940 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
34941 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
34942 longer, because HFS should not be used on PC.
34943
708367a3 349442005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34945
34946 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
34947 consistently within the loop.
34948
6fa1251a 349492005-10-15 Marco Gerards <mgerards@xs4all.nl>
34950
34951 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
34952 directory can not be read.
34953
4801580b 349542005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34955
34956 * configure.ac (AC_INIT): Increase the version number to 1.91.
34957
34958 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
34959 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
34960 term/i386/pc/serial.c.
34961
219ad426 349622005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34963
34964 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
34965 file size must be permitted.
34966
34967 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
34968 between %ah and %al.
34969
688e5699 349702005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34971
34972 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
34973 grub_uint64_t.
34974 Call the hook with a NUL-terminated filename.
34975 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
34976 grub_cpu_to_be32.
34977
34978 * kern/term.c (cursor_state): New variable.
34979 (grub_term_set_current): Reset the cursor state on a new
34980 terminal.
34981 (grub_setcursor): Rewritten to use CURSOR_STATE.
34982 (grub_getcursor): New function.
34983
34984 * include/grub/term.h (grub_getcursor): New prototype.
34985
34986 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
34987 integers on ARM. Reported by Timothy Baldwin
34988 <T.E.Baldwin99@members.leeds.ac.uk>.
34989
bb34586c 349902005-10-11 Marco Gerards <mgerards@xs4all.nl>
34991
34992 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
34993 allocated.
34994 (grub_sfs_dir): Likewise.
34995
9a909877 349962005-10-09 Marco Gerards <mgerards@xs4all.nl>
34997
34998 Add support for the SFS filesystem.
34999
35000 * fs/sfs.c: New file.
35001
35002 * DISTLIST: Added `fs/sfs.c'.
35003
35004 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
35005 (grub_probefs_SOURCES): Likewise.
35006 (grub_emu_SOURCES): Likewise.
35007 (pkgdata_MODULES): Add `sfs.mod'.
35008 (sfs_mod_SOURCES): New variable.
35009 (sfs_mod_CFLAGS): Likewise.
35010 (sfs_mod_LDFLAGS): Likewise.
35011
35012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
35013 (pkgdata_MODULES): Add `sfs.mod'.
35014 (sfs_mod_SOURCES): New variable.
35015 (sfs_mod_CFLAGS): Likewise.
35016
35017 * util/grub-emu.c (main): Call `grub_sfs_init' and
35018 `grub_sfs_fini'.
35019
35020 * include/grub/fs.h (grub_sfs_init): New prototype.
35021 (grub_sfs_fini): Likewise.
35022
57bdbde3 350232005-10-07 Marco Gerards <mgerards@xs4all.nl>
35024
35025 Add support for the AFFS filesystem.
35026
35027 * fs/affs.c: New file.
35028
35029 * DISTLIST: Added `fs/affs.c'.
35030
35031 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
35032 (grub_probefs_SOURCES): Likewise.
35033 (grub_emu_SOURCES): Likewise.
35034 (pkgdata_MODULES): Add `affs.mod'.
35035 (affs_mod_SOURCES): New variable.
35036 (affs_mod_CFLAGS): Likewise.
35037 (affs_mod_LDFLAGS): Likewise.
35038
35039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
35040 (pkgdata_MODULES): Add `affs.mod'.
35041 (affs_mod_SOURCES): New variable.
35042 (affs_mod_CFLAGS): Likewise.
35043
35044 * util/grub-emu.c (main): Call `grub_affs_init' and
35045 `grub_affs_fini'.
35046
35047 * include/grub/fs.h (grub_affs_init): New prototype.
35048 (grub_affs_fini): Likewise.
35049
047b67e0 350502005-10-01 Marco Gerards <mgerards@xs4all.nl>
35051
35052 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
35053
59b8208a 350542005-10-01 Marco Gerards <mgerards@xs4all.nl>
35055
35056 * configure.ac: Accept `x86_64' as host_cpu. In that case add
35057 `-m32' to CFLAGS.
35058
35059 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
35060 linking.
f19dbdb7 35061
59b8208a 35062 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
35063 (COMMON_LDFLAGS): New variable.
35064 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
35065 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
35066 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
35067 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
35068 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
35069 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
35070 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
35071 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
35072 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
35073 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
35074 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35075 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35076 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
35077 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
35078 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
35079 variables.
35080 (normal_mod_ASFLAGS): Add `-m32'.
35081
35082 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
35083 (grub_host_size_t, grub_host_ssize_t): New types.
35084 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 35085 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 35086 `GRUB_HOST_SIZEOF_VOID_P'.
35087
35088 * include/grub/kernel.h (struct grub_module_header): Type of
35089 member offset changed to `grub_host_off_t'. Type of member size
35090 changed to `grub_host_size_t'.
35091 (struct grub_module_info): Type of member offset changed to
35092 `grub_host_off_t'. Type of member size changed to
35093 `grub_host_size_t'.
35094
b4093103 350952005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
35096
35097 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 35098
b4093103 35099 * kern/i386/pc/startup.S (multiboot_header): New label.
35100 (multiboot_entry): Likewise.
35101 (multiboot_trampoline): Likewise.
35102
35103 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35104 Increased to 0x4A0.
35105
35106 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
35107 put parentheses after a question mark.
35108 [!GRUB_UTIL] (my_mod): New variable.
35109
35110 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
35111
b2499b29 351122005-09-28 Marco Gerards <mgerards@xs4all.nl>
35113
35114 Adds support for the XFS filesystem. Btrees are not supported
35115 yet.
35116
35117 * fs/xfs.c: New file.
35118
35119 * DISTLIST: Added `fs/xfs.c'.
35120
35121 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
35122 (grub_probefs_SOURCES): Likewise.
35123 (grub_emu_SOURCES): Likewise.
35124 (pkgdata_MODULES): Add `xfs.mod'.
35125 (xfs_mod_SOURCES): New variable.
35126 (xfs_mod_CFLAGS): Likewise.
35127
35128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
35129 (pkgdata_MODULES): Add `xfs.mod'.
35130 (xfs_mod_SOURCES): New variable.
35131 (xfs_mod_CFLAGS): Likewise.
35132
35133 * util/grub-emu.c (main): Call `grub_xfs_init' and
35134 `grub_xfs_fini'.
35135
35136 * include/grub/fs.h (grub_xfs_init): New prototype.
35137 (grub_xfs_fini): Likewise.
35138
f19dbdb7 35139
83d37a62 351402005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
35141
35142 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
35143 color modes, allow greater than 16 colors to be configured as
35144 a default palette.
35145
47d2d65e 351462005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35147
35148 * normal/completion.c (complete_arguments): Add the qualifier
35149 const into OPTIONS.
35150
35151 From Omniflux <omniflux+lists@omniflux.com>:
35152 * include/grub/terminfo.h: New file.
35153 * include/grub/tparm.h: Likewise.
35154 * include/grub/i386/pc/serial.h: Likewise.
35155 * term/terminfo.c: Likewise.
35156 * term/tparm.c: Likewise.
35157 * term/i386/pc/serial.c: Likewise.
35158 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
35159 serial.mod.
35160 (terminfo_mod_SOURCES): New variable.
35161 (terminfo_mod_CFLAGS): Likewise.
35162 (serial_mod_SOURCES): Likewise.
35163 (serial_mod_CFLAGS): Likewise.
35164
48b671ff 351652005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
35166
35167 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
35168 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
35169 and kern/powerpc/ieee1275/cmain.c, respectively.
35170
35171 * boot/powerpc/ieee1275/crt0.S: Moved to ...
35172 * kern/powerpc/ieee1275/crt0.S: ... here.
35173
35174 * boot/powerpc/ieee1275/cmain.c: Moved to ...
35175 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 35176
48b671ff 35177 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
35178 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
35179 instead of boot/powerpc/ieee1275/crt0.S and
35180 boot/powerpc/ieee1275/cmain.c, respectively.
35181
35182 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
35183 sectors. It was not used anyway.
35184
09fc77a7 351852005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35186
35187 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
35188 `unused parameter' warning.
35189
003789c7 351902005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35191
35192 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
35193 function.
35194 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
35195 getcharwidth.
35196
67f44c86 351972005-08-28 Marco Gerards <metgerards@student.han.nl>
35198
35199 * include/grub/normal.h (enum grub_completion_type): Added
35200 `GRUB_COMPLETION_TYPE_ARGUMENT'.
35201
35202 * normal/cmdline.c (print_completion): Handle
35203 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
35204 * normal/menu_entry.c (store_completion): Likewise.
35205
35206 * normal/completion.c (complete_arguments): New function.
35207 (grub_normal_do_completion): Call `complete_arguments' when the
35208 current words start with a dash.
35209
0b5abe02 352102005-08-27 Marco Gerards <metgerards@student.han.nl>
35211
35212 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
35213 `gzio.mod' instead of `io.mod').
35214
d9864ee1 352152005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
35216
35217 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
35218 (DISTDIRS): Added io and video.
35219 Rewrite the search routine to make an output consistently.
35220
35221 * DISTLIST: Added conf/sparc64-ieee1275.mk,
35222 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
35223 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
35224 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
35225 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
35226 util/powerpc/ieee1275/misc.c.
f19dbdb7 35227
d9864ee1 35228 * include/grub/gzio.h: New file.
35229 * io/gzio.c: Likewise.
f19dbdb7 35230
d9864ee1 35231 * kern/file.c (grub_file_close): Call grub_device_close only if
35232 FILE->DEVICE is not NULL.
35233
35234 * include/grub/mm.h [!NULL] (NULL): New macro.
35235
35236 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
35237
35238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
35239 (pkgdata_MODULES): Added gzio.mod.
35240 (gzio_mod_SOURCES): New variable.
35241 (gzio_mod_CFLAGS): Likewise.
35242
35243 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
35244 (pkgdata_MODULES): Added gzio.mod.
35245 (gzio_mod_SOURCES): New variable.
35246 (gzio_mod_CFLAGS): Likewise.
35247
35248 * commands/cat.c: Include grub/gzio.h.
35249 (grub_cmd_cat): Use grub_gzfile_open instead of
35250 grub_file_open.
f19dbdb7 35251
d9864ee1 35252 * commands/cmp.c: Include grub/gzio.h.
35253 (grub_cmd_cmp): Use grub_gzfile_open instead of
35254 grub_file_open.
35255
35256 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
35257 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
35258 grub_file_open.
35259 (grub_rescue_cmd_module): Likewise.
35260
fa46f4b5 352612005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35262
35263 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
35264 kern/sparc64/ieee1275/init.c because it contains _start.
35265 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
35266
e9211b5d 352672005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35268
35269 * configure.ac: Add support for sparc64 host with ieee1275
35270 firmware.
35271 * configure: Generated from configure.ac.
35272 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
35273 instead of int.
35274 (grub_ofdisk_read): Likewise.
35275 (grub_ofdisk_open): Use %p to print pointer values, and cast the
35276 pointers as (void *) to remove a warning.
35277 (grub_ofdisk_close): Likewise.
35278 (grub_ofdisk_read): Likewise.
35279 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
35280 returns, so make it return void to remove a warning.
35281 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
35282 Corresponding prototype change.
35283 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
35284 values, and cast the pointers as (void *) to remove a warning.
35285 (grub_mm_dump): Likewise.
35286 * conf/sparc64-ieee1275.mk: New file.
35287 * conf/sparc64-ieee1275.rmk: Likewise.
35288 * include/grub/sparc64/setjmp.h: Likewise.
35289 * include/grub/sparc64/types.h: Likewise.
35290 * include/grub/sparc64/ieee1275/console.h: Likewise.
35291 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35292 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35293 * include/grub/sparc64/ieee1275/time.h: Likewise.
35294 * kern/sparc64/cache.c: Likewise.
35295 * kern/sparc64/dl.c: Likewise.
35296 * kern/sparc64/ieee1275/init.c: Likewise.
35297 * kern/sparc64/ieee1275/openfw.c: Likewise.
35298
385c6a92 352992005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35300
35301 * util/console.c (grub_ncurses_putchar): If C is greater than
35302 0x7f, set C to a question mark.
35303 (grub_ncurses_getcharwidth): New function.
35304 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
35305 getcharwidth.
35306
35307 * normal/menu.c (print_entry): Made aware of Unicode. First,
35308 convert TITLE to UCS-4, and predict the cursor position by
35309 grub_getcharwidth.
35310
35311 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
35312 const to SRC.
35313 * kern/misc.c (grub_utf16_to_utf8): Likewise.
35314
16ccb8b1 353152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35316
35317 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
35318 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35319 grub_strcat.
35320
35321 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
35322 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35323 grub_strcpy and grub_strlen. Take it into account that a space
35324 character is inserted as a delimiter.
35325
6a85ce79 353262005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35327
35328 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 35329 invalid magic in the error.
6a85ce79 35330
35331 * commands/search.c: New file.
f19dbdb7 35332
6a85ce79 35333 * util/grub-emu.c (main): Call grub_search_init and
35334 grub_search_fini.
35335
35336 * kern/rescue.c (grub_rescue_print_disks): Removed.
35337 (grub_rescue_print_devices): New function.
35338 (grub_rescue_cmd_ls): Use grub_device_iterate with
35339 grub_rescue_print_devices instead of grub_disk_dev_iterate with
35340 grub_rescue_print_disks.
35341
35342 * kern/partition.c (grub_partition_iterate): Return the result of
35343 PARTMAP->ITERATE instead of GRUB_ERRNO.
35344
35345 * kern/device.c: Include grub/partition.h.
35346 (grub_device_iterate): New function.
35347
35348 * include/grub/partition.h (grub_partition_iterate): Return int
35349 instead of grub_err_t.
35350
35351 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
35352 prototype.
35353 [GRUB_UTIL] (grub_search_fini): Likewise.
35354
35355 * include/grub/device.h (grub_device_iterate): New prototype.
35356
35357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35358 commands/search.c.
35359 (pkgdata_MODULES): Added search.mod.
35360 (search_mod_SOURCES): New variable.
35361 (search_mod_CFLAGS): Likewise.
35362
35363 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
35364 (pkgdata_MODULES): Added search.mod.
35365 (search_mod_SOURCES): New variable.
35366 (search_mod_CFLAGS): Likewise.
35367
35368 * commands/ls.c (grub_ls_list_disks): Renamed to ...
35369 (grub_ls_list_devices): ... this, and use grub_device_iterate.
35370 All callers changed.
35371
35372 * DISTLIST: Added commands/search.c.
35373
ef095434 353742005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35375
35376 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
35377 conversion.
35378 (grub_getcharwidth): New function.
35379
35380 * kern/misc.c (grub_utf8_to_ucs4): New function.
35381
35382 * include/grub/term.h (struct grub_term): Added a new member
35383 "getcharwidth".
35384 (grub_getcharwidth): New prototype.
35385
35386 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
35387
35388 * term/i386/pc/console.c (map_char): New function. Segregated from
35389 grub_console_putchar.
35390 (grub_console_putchar): Use map_char.
35391 (grub_console_getcharwidth): New function.
35392 (grub_console_term): Specified grub_console_getcharwidth as
35393 getcharwidth.
35394
35395 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
35396 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
35397
35398 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
35399 GRUB_ERRNO.
35400 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
35401 on grub_strtoul completely.
35402 (write_char): Declare local variables in the beginning of the
35403 function.
35404 (grub_vesafb_getcharwidth): New function.
35405 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
35406 getcharwidth.
35407
1f0a95e4 354082005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
35409
35410 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
35411 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
35412 commands/i386/pc/vbetest.c.
35413
35414 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
35415 call grub_vbe_get_controller_info again, because the returned
35416 information is volatile.
35417 (grub_vbe_set_video_mode): Mostly rewritten.
35418 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
35419 grub_vbe_status_t correctly.
35420 (grub_vbe_get_video_mode_info): Likewise.
35421 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
35422 several if statements.
35423
35424 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
35425 * commands/i386/pc/vbeinfo.c: ... this.
35426
35427 * commands/i386/pc/vbe_test.c: Renamed to ...
35428 * commands/i386/pc/vbetest.c: ... this.
35429
35430 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
35431 ...
35432 (grub_cmd_vbeinfo): ... this. Save video modes before
35433 iterating. Skip a video mode, if it is not available, not enough
35434 information is given or it is monochrome. Show the memory
35435 model. Leave the interpretation of MODEVAR to grub_strtoul
35436 completely.
35437 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
35438 (GRUB_MOD_FINI): Likewise.
35439
35440 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
35441 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
35442 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
35443 duplicated grub_env_get. Leave the interpretation of MODEVAR to
35444 grub_strtoul completely.
35445 (real2pm): Removed.
35446 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
35447 (GRUB_MOD_FINI): Likewise.
35448
35449 * normal/misc.c: Include grub/mm.h.
35450
35451 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
35452 vbe_list_modes with vbetest.mod and vbeinfo.mod.
35453 (vbe_list_modes_mod_SOURCES): Removed.
35454 (vbe_list_modes_mod_CFLAGS): Likewise.
35455 (vbe_test_mod_SOURCES): Likewise.
35456 (vbe_test_mod_CFLAGS): Likewise.
35457 (vbeinfo_mod_SOURCES): New variable.
35458 (vbeinfo_mod_CFLAGS): Likewise.
35459 (vbetest_mod_SOURCES): Likewise.
35460 (vbetest_mod_CFLAGS): Likewise.
35461
992ffbbe 354622005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
35463
35464 * normal/misc.c: New file.
35465
35466 * DISTLIST: Added normal/misc.c.
f19dbdb7 35467
992ffbbe 35468 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
35469 DISK to HOOK. Call HOOK with DISK.
35470 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35471 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35472 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35473
35474 * normal/menu_entry.c (struct screen): Added a new member
35475 "completion_shown".
35476 (completion_buffer): New global variable.
35477 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
35478 (store_completion): New function.
35479 (complete): Likewise.
35480 (clear_completions): Likewise.
35481 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
35482 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
35483 a tab, call complete.
35484
35485 * normal/completion.c (disk_dev): Removed.
35486 (print_simple_completion): Likewise.
35487 (print_partition_completion): Likewise.
35488 (print_func): New global variable.
35489 (add_completion): Do not take the arguments WHAT or PRINT any
35490 longer. Added a new argument TYPE. Instead of printing directly,
35491 call PRINT_FUNC if not NULL.
35492 All callers changed.
35493 (complete_device): Use a local variable DEV instead of
35494 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
35495 (grub_normal_do_completion): Take a new argument HOOK. Do not
35496 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
35497 empty string, return NULL instead.
35498 All callers changed.
35499
35500 * normal/cmdline.c (print_completion): New function.
35501
35502 * kern/partition.c (grub_partition_iterate): Add an argument DISK
35503 to HOOK.
35504 All callers changed.
35505
35506 * kern/disk.c (grub_print_partinfo): Removed.
35507
35508 * include/grub/partition.h (struct grub_partition_map): Add a new
35509 argument DISK into HOOK of ITERATE.
35510 (grub_partition_iterate): Add a new argument DISK to HOOK.
35511
35512 * include/grub/normal.h (enum grub_completion_type): New enum.
35513 (grub_completion_type_t): New type.
35514 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
35515 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
35516 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
35517 (GRUB_COMPLETION_TYPE_FILE): Likewise.
35518 (grub_normal_do_completion): Added a new argument HOOK.
35519 (grub_normal_print_device_info): New prototype.
35520
35521 * include/grub/disk.h (grub_print_partinfo): Removed.
35522
35523 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
35524 (normal_mod_SOURCES): Likewise.
35525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35526 (normal_mod_SOURCES): Likewise.
35527
35528 * commands/ls.c (grub_ls_list_disks): Use
35529 grub_normal_print_device_info instead of grub_print_partinfo. Free
35530 PNAME.
35531 (grub_ls_list_files): Use grub_normal_print_device_info instead of
35532 duplicating the code.
35533
0bd41162 355342005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35535
35536 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 35537 follow GCS more precisely.
35538 * commands/i386/pc/vbe_test.c: Likewise.
35539 * include/grub/i386/pc/vbe.h: Likewise.
35540 * term/i386/pc/vesafb.c: Likewise.
35541 * video/i386/pc/vbe.c: Likewise.
0bd41162 35542
6323696a 355432005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35544
35545 * DISTLIST: Added term/i386/pc/vesafb.c
35546 DISTLIST: Added video/i386/pc/vbe.c
35547 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
35548 DISTLIST: Added commands/i386/pc/vbe_test.c.
35549 * commands/i386/pc/vbe_list_modes.c: New file.
35550 * commands/i386/pc/vbe_test.c: Likewise.
35551 * term/i386/pc/vesafb.c: Likewise.
35552 * video/i386/pc/vbe.c: Likewise.
35553 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
35554 (grub_vbe_probe) Added prototype.
35555 (grub_vbe_set_video_mode) Likewise.
35556 (grub_vbe_get_video_mode) Likewise.
35557 (grub_vbe_get_video_mode_info) Likewise.
35558 (grub_vbe_set_pixel_rgb) Likewise.
35559 (grub_vbe_set_pixel_index) Likewise.
35560 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
35561 (pkgdata_MODULES): Added vesafb.mod.
35562 (pkgdata_MODULES): Added vbe_list_modes.mod.
35563 (pkgdata_MODULES): Added vbe_test.mod.
35564 (vbe_mod_SOURCES): Added.
35565 (vbe_mod_CFLAGS): Likewise.
35566 (vesafb_mod_SOURCES): Likewise.
35567 (vesafb_mod_CFLAGS): Likewise.
35568 (vbe_list_modes_mod_SOURCES): Likewise.
35569 (vbe_list_modes_mod_CFLAGS): Likewise.
35570 (vbe_test_mod_SOURCES): Likewise.
35571 (vbe_test_mod_CFLAGS): Likewise.
35572
0a74e62f 355732005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
35574
0a74e62f 35575 * normal/command.c (grub_command_execute): If INTERACTIVE is
35576 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
35577 CMDLINE. Disable the pager if INTERACTIVE is true.
35578 All callers are changed.
35579
35580 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
35581 before reading a config file.
35582 * normal/main.c (read_config_file): Even if a command is not
35583 found, register it if it is within an entry.
35584
35585 * util/grub-emu.c: Include sys/types.h and unistd.h.
35586 (options): Added --hold.
35587 (struct arguments): Added a new member "hold".
35588 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
35589 missing.
35590 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
35591 cleared by a debugger, if it is not zero.
35592
35593 * include/grub/normal.h (grub_command_execute): Add an argument
35594 INTERACTIVE.
35595
e51f85ae 355962005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
35597
35598 * DISTLIST: Added include/grub/i386/pc/vbe.h.
35599
e9c6f39b 356002005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
35601
35602 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
35603 program with another one, because the old one didn't detect a bug
35604 in gcc-3.4. Always use regparm 2, because the new test is still
35605 not enough for gcc-4.0. Someone must investigate a simple test
35606 case which detects a bug in gcc-4.0.
35607
8de3495c 356082005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
35609
35610 * DISTLIST: Added normal/completion.c.
35611
35612 * normal/completion.c: New file.
f19dbdb7 35613
8de3495c 35614 * term/i386/pc/console.c (grub_console_getwh): New function.
35615 (grub_console_term): Assign grub_console_getwh to getwh.
35616
35617 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
35618 function is defined in normal/completion.c as
35619 grub_normal_do_completion.
35620 (grub_cmdline_get): Use grub_normal_do_completion instead of
35621 grub_tab_complete.
35622
35623 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
35624 returns non-zero, otherwise return 0.
35625 (grub_partition_iterate): First, probe the partition map. Then,
35626 call ITERATE only for this partition map.
35627
35628 * kern/misc.c (grub_strncmp): Rewritten.
35629
35630 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
35631 returns non-zero. Otherwise return 0.
35632
35633 * include/grub/partition.h (grub_partition_map_iterate): Return
35634 int instead of void.
35635
35636 * include/grub/normal.h (grub_normal_do_completion): New prototype.
35637
35638 * include/grub/misc.h (grub_strncmp): Change the type of N to
35639 grub_size_t.
35640
35641 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
35642 of void.
35643
35644 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 35645 unsigned explicitly before comparing it with I.
8de3495c 35646
35647 * kern/main.c (grub_env_write_root): Add the attribute unused into
35648 VAR.
35649
35650 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35651 normal/completion.c.
35652 (normal_mod_SOURCES): Likewise.
35653 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35654 (normal_mod_SOURCES): Likewise.
35655
35656 * normal/command.c (grub_iterate_commands): If ITERATE returns
35657 non-zero, return one immediately.
35658
e85e144b 356592005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
35660
35661 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
35662 * kern/i386/pc/startup.S: Updated Global Descriptor table's
35663 descriptions.
35664 (grub_vbe_get_controller_info): New function.
35665 (grub_vbe_get_mode_info): Likewise.
35666 (grub_vbe_set_mode): Likewise.
35667 (grub_vbe_get_mode): Likewise.
35668 (grub_vbe_set_memory_window): Likewise.
35669 (grub_vbe_get_memory_window): Likewise.
35670 (grub_vbe_set_scanline_length): Likewise.
35671 (grub_vbe_get_scanline_length): Likewise.
35672 (grub_vbe_set_display_start): Likewise.
35673 (grub_vbe_get_display_start): Likewise.
35674 (grub_vbe_set_palette_data): Likewise.
35675 * include/grub/i386/pc/vbe.h: New file.
35676
c46153d2 356772005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35678
35679 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35680 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
35681 * DISTLIST: Likewise.
35682 * kern/ieee1275/of.c: Moved to ...
35683 * kern/ieee1275/ieee1275.c: ... here.
35684
0cb90c45 356852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35686
35687 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
35688 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
35689 Pass 0 as `end' parameter to grub_strtoul().
35690
a19fb360 356912005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35692
35693 * include/grub/powerpc/ieee1275/console.h: Do not include
35694 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
35695 ifdef.
35696 (grub_console_cur_color): Remove i386-specific prototype.
35697 (grub_console_real_putchar): Likewise.
35698 (grub_console_checkkey): Likewise.
35699 (grub_console_getkey): Likewise.
35700 (grub_console_getxy): Likewise.
35701 (grub_console_gotoxy): Likewise.
35702 (grub_console_cls): Likewise.
35703 (grub_console_setcursor): Likewise.
35704 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
35705 Include <grub/machine/console.h>.
35706 * term/ieee1275/ofconsole.c: Likewise.
35707
4ac9bd04 357082005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
35709
35710 * Makefile.in (LIBLZO): New variable.
35711
35712 * configure.ac: Check for LZO version 2.
35713
35714 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
35715 lzo/lzo1x.h instead of lzo1x.h.
35716
35717 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
35718 of -llzo.
35719
35720 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
35721 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
35722
35723 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
35724 copying the data from PARTITION to P.
35725
f4917dfd 357262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35727
35728 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
35729 negative, unload the module.
35730
35731 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
35732 map is "pc_partition_map" but not "pc".
35733 (usage): Fix the description. The options are --boot-image and
35734 --core-image but not --boot-file or --core-file.
35735 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
35736 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
35737 DEFAULT_DIRECTORY.
35738
35739 * util/i386/pc/grub-install.in: Do not specify --boot-file or
35740 --core-file. Specify INSTALL_DEVICE as an argument.
35741
35742 * util/console.c: Include config.h.
35743 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
35744 [HAVE_NCURSES_H]: Include ncurses.h.
35745 [HAVE_CURSES_H]: Include curses.h.
35746 [!A_NORMAL] (A_NORMAL): Defined as zero.
35747 [!A_STANDOUT] (A_STANDOUT): Likewise.
35748
35749 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
35750 -lncurses.
35751 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
35752
35753 * configure.ac: Check for curses libraries and headers.
35754
35755 * Makefile.in (LIBCURSES): New variable.
35756
35757 * genmk.rb (Script::rule): Set the executable bits.
35758
35759 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
35760 name of the PC partition map is "pc_partition_map" but not "pc".
35761
0e143073 357622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35763
35764 * util/i386/pc/grub-install.in (grub_probefs): New variable.
35765 (modules): Likewise.
35766 (usage): Added descriptions for --modules and --grub-probefs.
35767 Handle --modules and --grub-probefs. Save the arguments in MODULES
35768 and GRUB_PROBEFS, respectively.
35769 Auto-detect a filesystem module against GRUBDIR. If the result is
35770 empty and modules are not specified explicitly, abort the
35771 installation. Add the result to MODULES.
35772
35773 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
35774 disk/powerpc/ieee1275/ofdisk.c,
35775 include/grub/powerpc/ieee1275/init.h and
35776 term/powerpc/ieee1275/ofconsole.c.
35777 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
35778 term/ieee1275/ofconsole.c.
35779
35780 * include/grub/powerpc/ieee1275/console.h: Resurrected.
35781
35782 * COPYING: Upgraded to the latest version. Only the address of the
35783 FSF office has changed.
f19dbdb7 35784
efd6e6d5 357852005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35786
35787 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35788 kern/ieee1275.c with kern/ieee1275/of.c.
35789
35790 * kern/ieee1275.c: Moved to ...
35791 * kern/ieee1275/of.c: ... here.
35792
8ceafda2 357932005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
35794
35795 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 35796 readability.
8ceafda2 35797
35798 * config.guess: Updated to the latest version from gnulib.
35799 * config.sub: Likewise.
35800 * install.sh: Likewise.
35801 * mkinstalldirs: Likewise.
35802
35803 * include/grub/console.h: Removed. This file is arch-specific. Do
35804 not put this in include/grub.
35805
35806 * include/grub/i386/pc/console.h: Resurrected.
35807
35808 * util/console.c: Include grub/machine/console.h instead of
35809 grub/console.h.
35810 * util/grub-emu.c: Likewise.
35811
267f6cd9 358122005-08-04 Marco Gerards <metgerards@student.han.nl>
35813
35814 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
35815 hardcoded value.
f19dbdb7 35816
267f6cd9 35817 From Vincent Pelletier <subdino2004@yahoo.fr>
35818 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
35819 Redefined to use grub_getwh.
35820 (grub_term): New member named getwh.
35821 (grub_getwh): New prototype.
35822 * kern/term.c (grub_getwh): New function.
35823 * term/i386/pc/console.c (grub_console_getwh): New function.
35824 (grub_console_term): New member `getwh'.
35825 * term/i386/pc/vga.c (grub_vga_getwh): New function.
35826 (grub_vga_term): New member `getwh'.
0b5abe02 35827 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 35828 grub_ssize_t.
35829 (grub_ofconsole_getw): New function.
35830 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
35831 (grub_ofconsole_term): New field named getwh and new initial
35832 value.
35833
3be7266d 358342005-08-03 Hollis Blanchard <hollis@penguinppc.org>
35835
35836 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
35837 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
35838 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
35839 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
35840 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
35841 of <grub/machine/ieee1275.h>.
35842 * commands/ieee1275/reboot.c: Likewise.
35843 * boot/powerpc/ieee1275/ieee1275.c: Move ...
35844 * kern/ieee1275.c: ... to here. All users updated. Change all
35845 parameter structs to use new type `grub_ieee1275_cell_t'.
35846 * term/powerpc/ieee1275/ofconsole.c: Move ...
35847 * term/ieee1275/ofconsole.c: ... to here. All users updated.
35848 * disk/powerpc/ieee1275/ofdisk.c: Move ...
35849 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
35850 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
35851 to return int.
35852 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
35853 Remove unused prototypes. All users updated.
35854 * include/grub/powerpc/ieee1275/console.h: Removed.
35855 * include/grub/powerpc/ieee1275/ieee1275.h: Define
35856 `grub_ieee1275_cell_t'.
35857 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
35858 Cast comparisons with -1 to the correct type.
35859 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
35860 type to match `grub_ieee1275_entry_fn'.
35861
8b5f3938 358622005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
35863
35864 * DISTLIST: Added util/i386/pc/grub-probefs.c.
35865
35866 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
35867 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
35868 partmap/sun.c.
35869 (grub_probefs_SOURCES): New variable.
35870
35871 * util/i386/pc/grub-probefs.c: New file.
35872
35873 * util/i386/pc/grub-setup.c (main): Call
35874 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
35875 grub_hfs_init and grub_jfs_init to initialize the system. Call
35876 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
35877 grub_pc_partition_map_fini to finish the system.
35878
ea409713 358792005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
35880
35881 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
35882 function.
35883 (grub_multiboot_load_elf32): Likewise.
35884 (grub_multiboot_is_elf64): Likewise.
35885 (grub_multiboot_load_elf64): Likewise.
35886 (grub_multiboot_load_elf): Likewise.
35887 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
35888 an ELF32 or ELF64 file.
35889 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
35890
35891 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
35892 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
35893 NULL before calling FS->LABEL.
35894 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
35895 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
35896 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
35897 before calling FS->LABEL.
35898
141a288b 358992005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
35900
35901 * util/i386/pc/grub-install.in (datadir): New variable.
35902 (libdir): Removed.
35903 (pkgdatadir): New variable.
35904 (pkglibdir): Removed.
35905
0d5f8a54 359062005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
35907
35908 * DISTLIST: Added util/i386/pc/grub-install.in.
35909
35910 * util/i386/pc/grub-install.in: New file.
35911
35912 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
35913 (grub_install_SOURCES): Likewise.
35914
35915 * genmk.rb: Added support for scripts.
35916 (Script): New class.
35917 (scripts): New variable.
35918
35919 * Makefile.in (install-local): Install sbin_SCRIPTS by
35920 INSTALL_SCRIPT.
35921 (uninstall): Remove sbin_SCRIPTS.
35922
35923 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
35924 device, try to get a GRUB device by
35925 grub_util_biosdisk_get_grub_dev.
35926 Free DEST_DEV.
35927
35928 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
35929 description for --device-map.
35930
5f968e1e 359312005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35932
35933 Change the semantics of variable hooks. They now return strings
35934 instead of error values.
f19dbdb7 35935
5f968e1e 35936 * util/i386/pc/grub-setup.c: Include grub/env.h.
35937 (setup): Use grub_device_set_root instead of grub_env_set.
35938
35939 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
35940 grub_env_get instead of grub_device_set_root and
35941 grub_device_get_root, respectively.
35942
35943 * kern/main.c (grub_env_write_root): New function.
35944 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
35945 grub_env_set instead of grub_device_set_root.
35946
35947 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
35948 many variables.
35949 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
35950 rather than calling ENV->WRITE_HOOK afterwards.
35951 (grub_env_get): Return the result of ENV->READ_HOOK rather than
35952 passing a pointer of a pointer.
35953 (grub_register_variable_hook): Change the types of "read_hook" and
35954 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
35955 respectively.
35956 Allocate the default empty string on the heap, because this string
35957 may be freed later.
35958
35959 * kern/device.c: Include grub/env.h.
35960 (grub_device_set_root): Removed.
35961 (grub_device_get_root): Likewise.
35962 (grub_device_open): Use grub_env_get instead of
35963 grub_device_get_root.
35964
35965 * include/grub/env.h (grub_env_read_hook_t): New type.
35966 (grub_env_write_hook_t): Likewise.
35967 (grub_env_var): Change the types of "read_hook" and "write_hook"
35968 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
35969 (grub_register_variable_hook): Likewise.
35970
35971 * include/grub/device.h (grub_device_set_root): Removed.
35972 (grub_device_set_root): Likewise.
35973
35974 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
35975 make sure that DIRNAME terminates with '/', so that
35976 grub_fat_find_dir will fail if PATH is not a directory.
35977
35978 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
35979 from DIRNAME.
35980 Use the qualifier auto for print_files and print_files_long.
35981 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
35982 as a regular file.
35983 Put a newline only if there is no error.
35984 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
35985 used.
35986
896f0afd 359872005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35988
35989 * kern/partition.c (grub_partition_probe): Initialize PART to
35990 NULL. Otherwise, when no partition map is registered, this returns
35991 a garbage.
35992
b28b81b2 359932005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
35994
35995 * partmap/apple.c (apple_partition_map_iterate): Check if POS
35996 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
35997 valid.
35998
5f3607e0 359992005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
36000
36001 * commands/ls.c (grub_ls_list_disks): Print the filesystem
36002 information on each device, if it does not have partitions. Print
36003 "Device" instead of "Disk", because this function is not specific
36004 to disk devices.
36005
36006 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
36007 static to ensure that it is put on the memory rather than a
36008 register.
36009
502c87e8 360102005-07-17 Yoshinori Okuji <okuji@enbug.org>
36011
36012 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
36013 (grub_cat_init): Likewise.
36014 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
36015 (options): Likewise.
36016 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
36017 (grub_configfile_init): Likewise.
36018 * font/manager.c (GRUB_MOD_INIT): Likewise.
36019 * commands/help.c (GRUB_MOD_INIT): Likewise.
36020 (grub_help_init): Likewise.
36021 * normal/command.c (grub_command_init): Likewise.
36022 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
36023 * disk/loopback.c (grub_loop_init): Likewise.
36024 (GRUB_MOD_INIT): Likewise.
36025 * commands/ls.c (grub_ls_init): Likewise.
36026 (GRUB_MOD_INIT): Likewise.
36027 (options): Likewise.
36028 * commands/boot.c (grub_boot_init): Likewise.
36029 (GRUB_MOD_INIT): Likewise.
36030 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
36031 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
36032 (GRUB_MOD_INIT): Likewise.
36033 * commands/cmp.c (grub_cmp_init): Likewise.
36034 (GRUB_MOD_INIT): Likewise.
36035
36036 * normal/arg.c: Use <> instead of "" to include header files.
36037 (SHORT_ARG_HELP): New macro.
36038 (SHORT_ARG_USAGE): Likewise.
36039 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
36040 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
36041 descriptions.
36042 (find_short): Check if C is 'h' or 'u' explicitly.
36043 (grub_arg_show_help): Use space characters instead of tabs. Treat
36044 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
36045 are shown with --help and --usage only if they are not used for
36046 the command itself.
36047 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
36048 'h' and 'u'.
36049
36050 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
36051 const into "longarg". Change the type of "shortarg" to int.
36052
f806d18e 360532005-07-17 Yoshinori Okuji <okuji@enbug.org>
36054
36055 * boot/i386/pc/boot.S (boot_drive_check): New label.
36056
36057 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
36058 macro.
36059
36060 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
36061 which do not pass a boot drive correctly. Copied from GRUB Legacy.
36062
e293232b 360632005-07-17 Yoshinori Okuji <okuji@enbug.org>
36064
36065 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
36066 When turning off Gate A20, skip the check and return immediately,
36067 because this is not fatal usually.
36068
ebedfd00 360692005-07-17 Yoshinori Okuji <okuji@enbug.org>
36070
36071 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
36072 be 0x7C00 instead of 0x8000.
36073
36074 * boot/i386/pc/pxeboot.S: Rewritten.
36075
36076 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
36077 EXT_C.
36078 (gate_a20_check_state): Read a byte from 0x108000. Invert the
36079 result.
36080
654fc59f 360812005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
36082
36083 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
36084 robustness. This routine now supports a BIOS call and System
36085 Control Port A to modify the gate A20.
36086
36087 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36088 Increased to 0x440.
36089
09f9923f 360902005-07-12 Hollis Blanchard <hollis@penguinppc.org>
36091
36092 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
36093 device path and resulting ihandle.
36094 (grub_ofdisk_close): dprintf the ihandle being closed.
36095 (grub_ofdisk_read): dprintf function parameters.
36096 * kern/mm.c (grub_mm_init_region): Likewise.
36097 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
36098 (grub_linux_boot): dprintf the Linux entry point, initrd address and
36099 size, and boot arguments.
36100 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
36101 before loading into memory.
36102 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
36103 before loading into memory.
36104
7ef504d8 361052005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
36106
36107 * kern/mm.c: Added much documentation.
36108 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
36109 8, set to 5 instead of 8.
36110
e0f050c2 361112005-07-10 Yoshinori Okuji <okuji@enbug.org>
36112
36113 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
36114
36115 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
36116 (grub_mkdevicemap_SOURCES): New variable.
36117
36118 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
36119 lib/device.c of GRUB Legacy.
36120
7224189a 361212005-07-10 Yoshinori Okuji <okuji@enbug.org>
36122
36123 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
36124 instead of PATH is NULL.
36125
68c864eb 361262005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
36127
36128 * commands/cmp.c (BUFFER_SIZE): New macro.
36129 (grub_cmd_cmp): Close the right file at the right time. Compare
36130 only data just read. Don't report files of different size as
36131 identical. Dynamically allocate buffers. Move variable
36132 declarations at the beginning of function.
36133
e6f3e614 361342005-07-09 Yoshinori Okuji <okuji@enbug.org>
36135
36136 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
36137 reverse.
36138
f8f1559a 361392004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
36140
36141 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
36142 when backspace is pressed at beginning of line.
36143
39c9d41d 361442005-07-03 Yoshinori Okuji <okuji@enbug.org>
36145
36146 * DISTLIST: Added genfslist.sh.
36147
36148 * normal/main.c (fs_module_list): New variable.
36149 (autoload_fs_module): New function.
36150 (read_fs_list): Likewise.
36151 (grub_normal_execute): Call read_fs_list.
36152
36153 * kern/fs.c (grub_fs_autoload_hook): New variable.
36154 (grub_fs_probe): Added support for auto-loading.
36155
36156 * include/grub/normal.h (struct grub_fs_module_list): New struct.
36157 (grub_fs_module_list_t): New type.
36158
36159 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
36160 (grub_fs_autoload_hook): New prototype.
36161
36162 * genfslist.sh: New file.
f19dbdb7 36163
39c9d41d 36164 * genmk.rb: Added a rule to generate a filesystem list.
36165
121c1d83 361662005-06-30 Marco Gerards <metgerards@student.han.nl>
36167
36168 * configure.ac: Fix the test for cross-compiling.
36169
36170 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
36171 define GRUB_UTIL anymore.
36172
36173 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
36174 so this function works on other systems than just big endian.
36175 (load_modules): Likewise.
36176 (add_segments): Likewise.
36177
e75d76e1 361782005-06-23 Hollis Blanchard <hollis@penguinppc.org>
36179
36180 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
36181 contains `l' modifier, get a long from va_arg().
36182
50b5a0a7 361832005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
36184
36185 * kern/mm.c (grub_free): If the next free block which is being
36186 merged is the first free block, set the first block to the block
36187 being freed.
36188 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
36189
89371b20 361902005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36191
36192 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
36193 `grub_ieee1275_chosen'.
36194
168d6e58 361952005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36196
36197 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
36198 (grub_ieee1275_chosen): New variable.
36199 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
36200 `chosen'.
36201 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
36202 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36203 Rename first argument to `phandle' for consistency.
36204 (grub_ieee1275_get_property_length): Likewise.
36205 (grub_ieee1275_next_property): Likewise. Change type of first argument
36206 to grub_ieee1275_phandle_t.
36207 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
36208 Move export next to declaration.
36209 (grub_ieee1275_chosen): New variable.
36210 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
36211 Correct cosmetic typo.
36212 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
36213 `grub_ieee1275_chosen'.
36214 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
36215 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
36216 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
36217 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
36218 `grub_ieee1275_chosen'.
36219
ca5baa3f 362202005-05-10 Hollis Blanchard <hollis@penguinppc.org>
36221
36222 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
36223 /chosen/bootargs.
36224 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
36225 /chosen/bootargs as "variable=value" pairs.
36226
708b345f 362272005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
36228
36229 * include/grub/misc.h (grub_dprintf): New macro.
36230 (grub_real_dprintf): New prototype.
36231 (grub_strword): Likewise.
36232 (grub_iswordseparator): Likewise.
36233 * kern/misc.c (grub_real_dprintf): New function.
36234 (grub_strword): Likewise.
36235 (grub_iswordseparator): Likewise.
36236
f4c5e67c 362372005-04-30 Hollis Blanchard <hollis@penguinppc.org>
36238
36239 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
36240 (roundup): Remove macro.
36241 (grub_ieee1275_flags): Make static.
36242 (grub_ieee1275_realmode): Remove.
36243 (grub_ieee1275_test_flag): New function.
36244 (grub_ieee1275_set_flag): Likewise.
36245 (find_options): Rename to `grub_ieee1275_find_options'; update
36246 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
36247 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
36248 (cmain): New prototype.
36249 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
36250 `grub_ieee1275_flags' directly.
36251 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
36252 machine/biosdisk.h.
36253 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
36254 Don't include grub/machine/init.h.
36255 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
36256 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36257 Remove prototype.
36258 (grub_ieee1275_realmode): Likewise.
36259 (grub_ieee1275_flag): New enum.
36260 (grub_ieee1275_test_flag): New prototype.
36261 (grub_ieee1275_set_flag): New prototype.
36262 * include/grub/powerpc/ieee1275/init.h: Remove file.
36263 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
36264 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
36265 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
36266 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
36267 comment.
36268 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
36269 `grub_ieee1275_test_flag'.
36270 (grub_ieee1275_encode_devname): Likewise.
36271
ed16607e 362722005-04-21 Hollis Blanchard <hollis@penguinppc.org>
36273
36274 * include/grub/powerpc/ieee1275/ieee1275.h
36275 (grub_ieee1275_encode_devname): New prototype.
36276 (grub_ieee1275_get_filename): Likewise.
36277 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
36278 function.
36279 (grub_set_prefix): Likewise.
36280 (grub_machine_init): Call grub_set_prefix.
36281 * kern/powerpc/ieee1275/openfw.c: Fix typos.
36282 (grub_parse_type): New enum.
36283 (grub_ieee1275_get_devargs): New function.
36284 (grub_ieee1275_get_devname): Likewise.
36285 (grub_ieee1275_parse_args): Likewise.
36286 (grub_ieee1275_get_filename): Likewise.
36287 (grub_ieee1275_encode_devname): Likewise.
36288
be369920 362892005-03-30 Marco Gerards <metgerards@student.han.nl>
36290
36291 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
36292 `grub_loader_unset'.
36293
a5ce3a4a 362942005-03-26 Hollis Blanchard <hollis@penguinppc.org>
36295
36296 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
36297 instead of grub_ieee1275_interpret.
36298 (grub_halt_init): New function.
36299 (grub_halt_fini): Likewise.
36300 (GRUB_MOD_INIT): Correct message grammar.
36301 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
36302 instead of grub_ieee1275_interpret.
36303 (grub_reboot_init): New function.
36304 (grub_reboot_fini): Likewise.
36305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
36306 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
36307 util/i386/pc/misc.c with commands/ieee1275/halt.c,
36308 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
36309 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
36310 function.
36311 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
36312 Add prototype.
36313 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
36314 prototype.
36315 (grub_halt): Likewise.
36316 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
36317 (cmain): Remove __attribute__((unused)).
36318 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
36319 (grub_heap_len): Likewise.
36320 (grub_machine_fini): New function.
36321 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
36322 (grub_halt): Likewise.
36323 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
36324 function.
36325 * util/powerpc/ieee1275/misc.c: New file.
36326
0058f771 363272005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36328
36329 * DISTLIST: New file.
36330 * gendistlist.sh: Likewise.
f19dbdb7 36331
0058f771 36332 * Makefile.in (COMMON_DISTFILES): Removed.
36333 (BOOT_DISTFILES): Likewise.
36334 (CONF_DISTFILES): Likewise.
36335 (DISK_DISTFILES): Likewise.
36336 (FS_DISTFILES): Likewise.
36337 (INCLUDE_DISTFILES): Likewise.
36338 (KERN_DISTFILES): Likewise.
36339 (LOADER_DISTFILES): Likewise.
36340 (TERM_DISTFILES): Likewise.
36341 (UTIL_DISTFILES): Likewise.
36342 (DISTFILES): Likewise.
36343 (uninstall): Uninstall files in $(pkgdata_DATA).
36344 (DISTLIST): New target.
36345 (distdir): Use the contents of the file DISTLIST to get a list of
36346 distributed files.
36347
46b3b8a5 363482005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36349
36350 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
36351 descriptor. This is ported from GRUB Legacy.
36352
36353 * gencmdlist.sh: Added an extra semicolon to make it work with
36354 old sed versions. Reported by Robert Bihlmeyer
36355 <robbe@orcus.priv.at>.
36356
5822ff87 363572005-03-08 Yoshinori Okuji <okuji@enbug.org>
36358
36359 Automatic loading of commands is supported.
f19dbdb7 36360
5822ff87 36361 * normal/main.c (read_command_list): New function.
36362 (grub_normal_execute): Call read_command_list.
36363
36364 * normal/command.c (grub_register_command): Return zero or CMD.
36365 Allocate CMD->NAME from the heap.
36366 Initialize CMD->MODULE_NAME to zero.
36367 Find the same name as well. If the same command is found and it is
36368 a dummy command, overwrite members. If it is not a dummy command,
36369 return zero.
36370 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
36371 (grub_command_find): If a dummy command is found, load a module
36372 and retry to find a command only once.
36373
36374 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
36375 make sure that each command is loaded.
36376
36377 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
36378 macro.
36379 (struct grub_command): Remove const from the member `name'.
36380 Add a new member `module_name'.
36381 (grub_register_command): Return grub_command_t.
36382
36383 * commands/help.c (grub_cmd_help): Call grub_command_find to make
36384 sure that each command is loaded.
36385
36386 * genmk.rb (PModule::rule): Specify a module name without the
36387 suffix ".mod" to gencmdlist.sh.
36388
7b1f4b57 363892005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36390
36391 * gencmdlist.sh: New file.
f19dbdb7 36392
7b1f4b57 36393 * genmk.rb (PModule::rule): Generate a rule for a command list.
36394 Clean command.lst.
36395 Generate command.lst from $(COMMANDFILES).
36396
36397 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
36398 (DATA): Added $(pkgdata_DATA).
36399 (install-local): Install files in $(pkgdata_DATA).
36400
062aaf39 364012005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36402
36403 * term/i386/pc/vga.c (debug_command): Removed.
36404 (GRUB_MOD_INIT): Do not register the command "debug".
36405
36406 From Hollis Blanchard:
36407 * commands/configfile.c: New file.
36408 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36409 commands/configfile.c.
36410 (pkgdata_MODULES): Added configfile.mod.
36411 (configfile_mod_SOURCES): New variable.
36412 (configfile_mod_CFLAGS): Likewise.
36413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36414 commands/configfile.c.
36415 (pkgdata_MODULES): Added configfile.mod.
36416 (configfile_mod_SOURCES): New variable.
36417 (configfile_mod_CFLAGS): Likewise.
36418 * util/grub-emu.c (main): Call grub_configfile_init and
36419 grub_configfile_fini.
36420 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
36421 prototype.
36422 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 36423
cee01aa6 364242005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36425
36426 * normal/arg.c (grub_arg_show_help): Do not show the bug report
36427 address.
36428
36429 * commands/help.c (grub_cmd_help): Do not print newlines after
36430 the last command in print_command_help.
36431
93f3a1d8 364322005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36433
36434 * commands/default.h: New file.
36435 * commands/timeout.h: Likewise.
36436 * normal/context.c: Likewise.
f19dbdb7 36437
93f3a1d8 36438 * util/misc.c: Do not include sys/times.h.
36439 Include sys/time.h and grub/machine/time.h.
36440 (grub_get_rtc): Rewritten with gettimeofday.
36441
36442 * util/grub-emu.c (main): Call grub_default_init and
36443 grub_timeout_init before grub_normal_init, and call
36444 grub_timeout_fini and grub_default_fini after grub_main.
36445
36446 * util/console.c (grub_ncurses_checkkey): Return the read
36447 character or -1.
36448
36449 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
36450 timeouts.
36451
36452 * normal/main.c (read_config_file): Push MENU. If this fails,
36453 print an error and wait for a user input.
36454 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
36455 If a menu is empty or an error occurs, pop MENU.
36456 (grub_normal_execute): Pop and free MENU after grub_menu_run
36457 returns.
36458
36459 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
36460
36461 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
36462 include time.h.
36463 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36464 without GRUB_UTIL.
36465 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
36466 time.h.
36467 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36468 without GRUB_UTIL.
36469
36470 * include/grub/normal.h (struct grub_menu_list): New struct.
36471 (grub_menu_list_t): New type.
36472 (struct grub_context): New struct.
36473 (grub_context_t): New type.
36474 (grub_register_command): Got rid of EXPORT_FUNC.
36475 (grub_unregister_command): Likewise.
36476 (grub_context_get): New prototype.
36477 (grub_context_get_current_menu): Likewise.
36478 (grub_context_push_menu): Likewise.
36479 (grub_context_pop_menu): Likewise.
36480 [GRUB_UTIL] (grub_default_init): Likewise.
36481 [GRUB_UTIL] (grub_default_fini): Likewise.
36482 [GRUB_UTIL] (grub_timeout_init): Likewise.
36483 [GRUB_UTIL] (grub_timeout_fini): Likewise.
36484
36485 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
36486 commands/timeout.c and normal/context.c.
36487 (pkgdata_MODULES): Added default.mod and timeout.mod.
36488 (normal_mod_SOURCES): Added normal/context.c.
36489 (default_mod_SOURCES): New variable.
36490 (default_mod_CFLAGS): Likewise.
36491 (timeout_mod_SOURCES): Likewise.
36492 (timeout_mod_CFLAGS): Likewise.
36493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
36494 conf/i386-pc.rmk.
36495 (pkgdata_MODULES): Added default.mod and timeout.mod.
36496 (normal_mod_SOURCES): Added normal/context.c.
36497 (default_mod_SOURCES): New variable.
36498 (default_mod_CFLAGS): Likewise.
36499 (timeout_mod_SOURCES): Likewise.
36500 (timeout_mod_CFLAGS): Likewise.
36501
36502 * Makefile.in (all-local): Added $(MKFILES).
36503
4ed2e1dd 365042005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
36505
36506 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
36507 (grub_emu_SOURCES): Likewise.
36508 (pkgdata_MODULES): Add `sun.mod'.
36509 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36511 `partmap/sun.c'.
36512 (pkgdata_MODULES): Add `sun.mod'.
36513 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36514 * include/grub/partition.h (grub_sun_partition_map_init): New
36515 prototype.
36516 (grub_sun_partition_map_fini): Likewise.
36517 * partmap/sun.c: New file.
36518 * util/grub-emu.c (main): Initialize and de-initialize the sun
36519 partitionmap support.
36520
4d4e372e 365212005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
36522
36523 This implements an Emacs-like menu entry editor.
f19dbdb7 36524
4d4e372e 36525 * normal/menu_entry.c: New file.
f19dbdb7 36526
4d4e372e 36527 * util/console.c (grub_ncurses_putchar): Translate some Unicode
36528 characters to ASCII.
36529 (saved_char): New variable.
36530 (grub_ncurses_checkkey): Rewritten completely.
36531 (grub_ncurses_getkey): Likewise.
36532 (grub_ncurses_init): Call raw instead of cbreak.
36533
36534 * normal/menu.c (print_entry): Do not put a space.
36535 (init_page): Renamed to ...
36536 (grub_menu_init_page): ... this. All callers changed.
36537 (edit_menu_entry): Removed.
36538 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
36539
36540 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
36541
36542 * kern/misc.c (grub_vprintf): Call grub_refresh.
36543
36544 * normal/menu.c (DISP_LEFT): Renamed to ...
36545 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
36546 * normal/menu.c (DISP_UP): Renamed to ...
36547 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
36548 * normal/menu.c (DISP_RIGHT): Renamed to ...
36549 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
36550 * normal/menu.c (DISP_DOWN): Renamed to ...
36551 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
36552 * normal/menu.c (DISP_HLINE): Renamed to ...
36553 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
36554 * normal/menu.c (DISP_VLINE): Renamed to ...
36555 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
36556 * normal/menu.c (DISP_UL): Renamed to ...
36557 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
36558 * normal/menu.c (DISP_UR): Renamed to ...
36559 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
36560 * normal/menu.c (DISP_LL): Renamed to ...
36561 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
36562 * normal/menu.c (DISP_LR): Renamed to ...
36563 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
36564 * normal/menu.c (TERM_WIDTH): Renamed to ...
36565 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
36566 * normal/menu.c (TERM_HEIGHT): Renamed to ...
36567 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
36568 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
36569 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
36570 * normal/menu.c (TERM_MARGIN): Renamed to ...
36571 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
36572 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
36573 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
36574 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
36575 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
36576 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
36577 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
36578 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
36579 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
36580 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
36581 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
36582 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
36583 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
36584 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
36585 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
36586 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
36587 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
36588 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
36589 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
36590 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
36591 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
36592 All callers changed.
36593
36594 * include/grub/normal.h: New prototype.
36595
36596 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36597 normal/menu_entry.c.
36598 (normal_mod_SOURCES): Likewise.
36599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36600 (normal_mod_SOURCES): Likewise.
36601
e6b92c8a 366022005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
36603
36604 * include/grub/normal.h (grub_halt_init): New prototype.
36605 (grub_halt_fini): Likewise.
36606 (grub_reboot_init): Likewise.
36607 (grub_reboot_fini): Likewise.
36608
36609 * util/grub-emu.c: Include signal.h.
36610 (main_env): New global variable.
36611 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
36612 catch C-c.
36613 (grub_machine_fini): New function.
36614 (main): Call grub_halt_init and grub_reboot_init before
36615 grub_main, and grub_reboot_fini and grub_halt_fini after it.
36616 Call setjmp with MAIN_ENV to go back afterwards.
36617 Call grub_machine_fini right before return.
36618
36619 * include/grub/util/misc.h: Include setjmp.h.
36620 (main_env): New prototype.
36621
36622 * include/grub/kernel.h (grub_machine_fini): New prototype.
36623 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
36624 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
36625
36626 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
36627 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
36628 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 36629
e6b92c8a 36630 * util/i386/pc/misc.c: New file.
f19dbdb7 36631
e6b92c8a 36632 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36633 util/i386/pc/misc.c, commands/i386/pc/halt.c and
36634 commands/i386/pc/reboot.c.
36635
c642636f 366362005-02-14 Guillem Jover <guillem@hadrons.org>
36637
36638 * include/grub/dl.h (grub_dl_check_header): New prototype.
36639 (grub_arch_dl_check_header): Change return type to grub_err_t,
36640 remove size parameter and export function. Update all callers.
36641 * kern/dl.c (grub_dl_check_header): New function.
36642 (grub_dl_load_core): Use `grub_dl_check_header' instead of
36643 `grub_arch_dl_check_header'. Check ELF type. Check if sections
36644 are inside the core.
36645 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
36646 independent ELF header checks.
36647 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36648 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
36649 `grub_dl_check_header' instead of explicit checks. Check for the
36650 ELF type.
36651 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
36652 `grub_dl_check_header' instead of explicit checks. Remove arch
36653 specific ELF header checks.
36654
e6b92c8a 36655 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
36656 argument SIZE.
36657
5eabe94b 366582005-02-13 Hollis Blanchard <hollis@penguinppc.org>
36659
36660 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
36661 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
36662
1b14a681 366632005-02-12 Hollis Blanchard <hollis@penguinppc.org>
36664
36665 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 36666 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 36667 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 36668 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 36669 * partmap/amiga.c (amiga_partition_map_iterate): Return
36670 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
36671 * partmap/apple.c (apple_partition_map_iterate): Likewise.
36672
aca108aa 366732005-02-01 Guillem Jover <guillem@hadrons.org>
36674
36675 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
36676 help info.
36677
c9f9c556 366782005-01-31 Marco Gerards <metgerards@student.han.nl>
36679
36680 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
36681 Removed prototype.
36682 (grub_rescue_cmd_linux): New prototype.
36683 (grub_rescue_cmd_initrd): Likewise.
36684 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
36685 `bi_rec'.
36686 (grub_linux_release_mem): Release the memory for the initrd.
36687 (grub_load_linux): Renamed from this...
36688 (grub_rescue_cmd_linux): ...To this. Changed all callers.
36689 Changed `entry' not to be static. Loop over memory regions to
36690 find another one when the default fails.
36691 (grub_rescue_cmd_initrd): New function.
36692 (grub_linux_init): Remove function.
36693 (grub_linux_fini): Likewise.
36694 (GRUB_MOD_INIT): Register `initrd'.
36695 (GRUB_MOD_FINI): Unregister `initrd'.
36696 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
36697 Function removed.
36698 (grub_linux_normal_fini): Likewise.
36699 (GRUB_MOD_INIT): Register `initrd'.
36700 (GRUB_MOD_FINI): Unregister `initrd'.
36701
990cf3aa 367022005-01-31 Marco Gerards <metgerards@student.han.nl>
36703
36704 * commands/help.c: New file.
36705 * normal/arg.c (show_help): Renamed to...
36706 (grub_arg_show_help): ... this.
36707 * commands/i386/pc/halt.c: New file.
36708 * commands/i386/pc/reboot.c: Likewise.
36709 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
36710 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
36711 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
36712 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
36713 variables.
36714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36715 `commands/help.c'.
36716 (pkgdata_MODULES): Add `help.mod'.
36717 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
36718 * grub/i386/pc/init.h (grub_reboot): New prototype.
36719 (grub_halt): Likewise.
36720 * include/grub/normal.h (grub_arg_show_help): New prototype.
36721 (grub_help_init): Likewise.
36722 (grub_help_fini): Likewise.
36723 * util/grub-emu.c (main): Initialize and deinitialize the help
36724 command.
36725
36726 * normal/cmdline.c (grub_cmdline_get): Doc fix.
36727
36728 * normal/command.c (grub_command_init): Fixed the description of
36729 the `set' and `unset' commands.
36730
367312005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 36732
36733 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
36734 function.
36735 * commands/ieee1275/halt.c: New file.
36736 * commands/ieee1275/reboot.c: Likewise.
36737 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
36738 `__attribute__ ((unused))'. Some GCS related fixed.
36739 (grub_suspend_init) [GRUB_UTIL]: Function removed.
36740 (grub_suspend_fini): Likewise.
36741 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
36742 and `halt.mod'.
36743 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
36744 (halt_mod_CFLAGS): New variables.
36745 * include/grub/powerpc/ieee1275/ieee1275.h
36746 (grub_ieee1275_interpret): New prototype.
36747
1ab09cc7 367482005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
36749
36750 * include/grub/misc.h (memmove): New prototype.
36751 (memcpy): Likewise.
36752
8b8cbdb2 367532005-01-22 Hollis Blanchard <hollis@penguinppc.org>
36754
36755 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
36756 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
36757
e3741a27 367582005-01-22 Marco Gerards <metgerards@student.han.nl>
36759
36760 * kern/misc.c (grub_strndup): Function rewritten.
36761
776bd780 367622005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
36763
36764 * normal/menu.c (TERM_WIDTH): Macro redefined.
36765 (TERM_TOP_BORDER_Y): Likewise.
36766 (draw_border): Replaced while-loop by a for-loop. Make the number
36767 of lines consistent with the number of lines displayed in
36768 print_entries. Added a margin below the rectangle.
36769 (print_entry): Make the entry fit in the rectangle.
36770 (print_entries): Display the scroll arrows next to the right
36771 border.
36772
78026bce 367732005-01-21 Marco Gerards <metgerards@student.han.nl>
36774
36775 * fs/minix.c (grub_minix_find_file): Reserve more space for
36776 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
36777 `grub_strncpy' to copy `path' into it.
36778
67bbaf0f 367792005-01-21 Marco Gerards <metgerards@student.han.nl>
36780
36781 Add the loopback device, a device via which files can be accessed
36782 as devices.
f19dbdb7 36783
67bbaf0f 36784 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
36785 (pkgdata_MODULES): Add loopback.mod.
36786 (loopback_mod_SOURCES): New variable.
36787 (loopback_mod_CFLAGS): Likewise.
36788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36789 `disk/loopback.c'.
36790 (pkgdata_MODULES): Add loopback.mod.
36791 (loopback_mod_SOURCES): New variable.
36792 (loopback_mod_CFLAGS): Likewise.
36793 * disk/loopback.c: new file.
36794 * include/grub/normal.h (grub_loop_init): New prototype.
36795 (grub_loop_fini): New prototype.
36796 * util/grub-emu.c (main): Initialize and de-initialize loopback
36797 support.
36798 * include/grub/disk.h (grub_disk_dev_id): Add
36799 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
36800
6f1c18bd 368012005-01-20 Hollis Blanchard <hollis@penguinppc.org>
36802
36803 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
36804 function.
36805 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
36806 (suspend_mod_SOURCES): New variable.
36807 (suspend_mod_CFLAGS): Likewise.
36808 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
36809 New prototype.
36810 * commands/ieee1275/suspend.c: New file.
36811
b38551da 368122005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36813
36814 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 36815 ((unused))' to `__attribute__ ((used))'.
b38551da 36816 (GRUB_MOD_FINI): Likewise.
36817 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
36818 * genmk.rb (PModule): Assign space to common symbols when linking
36819 modules.
36820
777aff39 368212005-01-20 Marco Gerards <metgerards@student.han.nl>
36822
36823 * include/grub/mm.h (grub_mm_init_region): Change the type of the
36824 `unsigned' arguments to `grub_size_t'.
36825 (grub_malloc): Likewise.
36826 (grub_realloc): Likewise.
36827 (grub_memalign): Likewise.
36828 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
36829 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36830 * util/misc.c (grub_malloc): Likewise.
36831 (grub_realloc): Likewise.
36832 * kern/mm.c (get_header_from_pointer): Change the casts to
36833 `unsigned' into a cast to `grub_size_t'.
36834
36835 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
36836 point to `currnode' when `currnode' is changed.
36837
36838 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
36839 Schottelius <nico-linux@schottelius.org>.
36840
d0ff18e1 368412005-01-09 Hollis Blanchard <hollis@penguinppc.org>
36842
36843 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
36844 (note_path): Remove variable.
36845 (GRUB_IEEE1275_NOTE_NAME): New macro.
36846 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
36847 (grub_ieee1275_note_hdr): New structure.
36848 (grub_ieee1275_note_desc): Likewise.
36849 (grub_ieee1275_note): Likewise.
36850 (load_note): Remove `dir' argument. All callers updated. Remove
36851 `note_img' and `path'. Do not load a file from `note_path'.
36852 Initialize a struct grub_ieee1275_note and write that to `out'.
36853 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
36854
4ca7004c 368552005-01-05 Marco Gerards <metgerards@student.han.nl>
36856
36857 * util/misc.c (grub_util_read_image): Revert last change. It
36858 called `grub_util_read_at', which seeks from the beginning of the
36859 file.
36860
0b412211 368612005-01-04 Hollis Blanchard <hollis@penguinppc.org>
36862
36863 * TODO: Add note about endianness in grub-mkimage.
36864 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
36865 section.
36866 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
36867 (grub_mkimage_SOURCES): New target.
36868 * include/grub/kernel.h (grub_start_addr): Remove variable.
36869 (grub_end_addr): Likewise.
36870 (grub_total_module_size): Likewise.
36871 (grub_kernel_image_size): Likewise.
36872 (GRUB_MODULE_MAGIC): New constant.
36873 (grub_module_info): New structure.
36874 (grub_arch_modules_addr): New prototype.
36875 (grub_get_end_addr): Remove prototype.
36876 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
36877 * include/grub/powerpc/ieee1275/kernel.h: New file.
36878 * include/grub/util/misc.h (grub_util_get_fp_size): New
36879 prototype.
36880 (grub_util_read_at): Likewise.
36881 (grub_util_write_image_at): Likewise.
36882 * kern/main.c (grub_get_end_addr): Remove function.
36883 (grub_load_modules): Call grub_arch_modules_addr instead of using
36884 grub_end_addr. Look for a grub_module_info struct in memory. Use
36885 the grub_module_info fields instead of calling grub_get_end_addr
36886 as loop conditions. Move grub_add_unused_region code here.
36887 (grub_add_unused_region): Remove function.
36888 * kern/i386/pc/init.c: Include grub/cache.h.
36889 (grub_machine_init): Remove call to grub_get_end_addr. Remove
36890 one call to add_mem_region.
36891 (grub_arch_modules_addr): New function.
36892 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
36893 (grub_total_module_size): Likewise.
36894 Include grub/machine/kernel.h.
36895 (grub_arch_modules_addr): New function.
36896 * util/grub-emu.c (grub_end_addr): Remove variable.
36897 (grub_total_module_size): Likewise.
36898 (grub_arch_modules_addr): New function.
36899 * util/misc.c: Include unistd.h.
36900 (grub_util_get_fp_size): New function.
36901 (grub_util_read_at): Likewise.
36902 (grub_util_write_image_at): Likewise.
36903 (grub_util_read_image): Call grub_util_read_at.
36904 (grub_util_write_image): Call grub_util_write_image_at.
36905 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
36906 additional memory in kernel_img for a struct grub_module_info.
36907 Fill in that grub_module_info.
36908 * util/powerpc/ieee1275/grub-mkimage.c: New file.
36909
458786f8 369102005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36911
36912 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
36913 New function.
36914 * include/grub/powerpc/ieee1275/ieee1275.h
36915 (grub_ieee1275_milliseconds): New prototype.
36916 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
36917 Change to 1000.
36918 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
36919 grub_ieee1275_milliseconds.
36920
ac507d1b 369212005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36922
36923 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
36924 variable.
36925 (find_options): New function.
36926 (cmain): Call find_options.
36927 * include/grub/powerpc/ieee1275/ieee1275.h
36928 (grub_ieee1275_realmode): New extern variable.
36929 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
36930 grub_map if grub_ieee1275_realmode is false.
36931
6b8fd1c4 369322004-12-29 Marco Gerards <metgerards@student.han.nl>
36933
36934 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
36935 lines are inserted and make it work like readline. Reported by
36936 Vincent Pelletier <subdino2004@yahoo.fr>.
36937
8514a1e0 369382004-12-28 Marco Gerards <metgerards@student.han.nl>
36939
36940 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
36941
36942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
36943 `kern/powerpc/cache.S'.
36944
924b6140 369452004-12-27 Marco Gerards <metgerards@student.han.nl>
36946
36947 * genmk.rb: Handle the `Program' class in the main loop. Written
36948 by Johan Rydberg <jrydberg@gnu.org>.
36949 (Program): New class.
36950 (programs): New variable.
36951 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
36952 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
36953 instead of "grub/kernel.h". Include <grub/machine/init.h>.
36954 (help_arch): Function removed.
36955 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
36956 `powerpc/libgcc.h' and `loader.h'.
36957 (pkgdata_PROGRAMS): New variable.
36958 (sbin_UTILITIES): Variable removed.
36959 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
36960 (grubof_SOURCES): Variable re-defined so it only includes the
36961 core functionality.
36962 (grubof_CFLAGS): Remove `-DGRUBOF'.
36963 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
36964 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
36965 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
36966 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
36967 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
36968 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
36969 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
36970 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
36971 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
36972 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
36973 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36974 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
36975 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
36976 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
36977 (pc_mod_CFLAGS): New variables.
36978 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
36979 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
36980 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
36981 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
36982 Moved from here...
36983 * include/grub/i386/pc/init.h (grub_os_area_addr)
36984 (rub_os_area_size): ... to here.
36985 * include/grub/powerpc/ieee1275/ieee1275.h
36986 (grub_ieee1275_entry_fn): Export symbol.
36987 * include/grub/powerpc/ieee1275/init.h: New file.
36988 * include/grub/powerpc/libgcc.h: Likewise.
36989 * include/grub/cache.h: Likewise.
36990 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
36991 <hollis@penguinppc.org>.
36992 * kern/dl.c: Include <grub/cache.h>.
36993 (grub_dl_flush_cache): New function.
36994 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
36995 for this module.
36996 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
36997 (grub_console_init): Removed prototypes.
36998 (grub_machine_init): Don't initialize the modules anymore.
36999 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
37000 static.
37001 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
37002 Macro undef removed.
37003 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
37004 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
37005 relocation `R_PPC_REL32'. Return an error when the relocation is
37006 unknown.
37007 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
37008 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
37009 * util/misc.c (grub_arch_sync_caches): Likewise.
37010
e4b47e0c 370112004-12-19 Marco Gerards <metgerards@student.han.nl>
37012
37013 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
37014 `symlist.c', add `grubof_symlist.c'.
37015 (symlist.c): Variable removed.
37016 (grubof_HEADERS): Variable added.
37017 (grubof_symlist.c): New target.
37018 (kernel_syms.lst): Use `grubof_HEADERS' instead of
37019 `kernel_img_HEADERS'.
37020 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
37021 * kern/powerpc/dl.c: New file.
37022 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
37023 Function removed.
37024 (grub_arch_dl_relocate_symbols): Likewise.
37025 (grub_register_exported_symbols): Likewise.
37026
4ceb3636 370272004-12-13 Marco Gerards <metgerards@student.han.nl>
37028
37029 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
37030 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
37031 to fail instead. Reported by Vincent Pelletier
37032 <subdino2004@yahoo.fr>.
37033
37034 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
37035 it is not allocated. Reported by Vincent Pelletier
37036 <subdino2004@yahoo.fr>.
37037
37038 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
37039 output so the output looks better.
f19dbdb7 37040
3f1578fe 370412004-12-04 Marco Gerards <metgerards@student.han.nl>
37042
37043 Modulize the partition map support and add support for the amiga
37044 partition map.
f19dbdb7 37045
3f1578fe 37046 * commands/ls.c: Include <grub/partition.h> instead of
37047 <grub/machine/partition.h>.
37048 * kern/disk.c: Likewise.
37049 * kern/rescue.c: Likewise.
37050 * loader/i386/pc/chainloader.c: Likewise.
37051 * normal/cmdline.c: Likewise.
37052 * kern/powerpc/ieee1275/init.c: Likewise.
37053 (grub_machine_init): Call `grub_pc_partition_map_init',
37054 `grub_amiga_partition_map_init' and
37055 `grub_apple_partition_map_init'.
37056 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
37057 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
37058 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
37059 `partition.h' and `pc_partition.h'.
37060 (grub_setup_SOURCES): Remove
37061 `disk/i386/pc/partition.c'. Add `kern/partition.c',
37062 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37063 (grub_emu_SOURCES): Likewise.
37064 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
37065 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
37066 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
37067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37068 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
37069 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37070 (grubof_SOURCES): Likewise.
37071 * disk/i386/pc/partition.c: File removed.
37072 * disk/powerpc/ieee1275/partition.c: Likewise.
37073 * include/grub/powerpc/ieee1275/partition.h: Likewise.
37074 * include/grub/i386/pc/partition.h: Likewise.
37075 * kern/partition.c: New file.
37076 * partmap/amiga.c: Likewise.
37077 * partmap/apple.c: Likewise.
37078 * partmap/pc.c: Likewise.
37079 * include/grub/partition.h: Likewise..
37080 * include/grub/pc_partition.h: Likewise.
37081 * util/grub-emu.c: Include <grub/partition.h> instead of
37082 <grub/machine/partition.h>.
37083 (main): Call `grub_pc_partition_map_init',
37084 `grub_amiga_partition_map_init' and
37085 `grub_apple_partition_map_init' and deinitialize afterwards.
37086 * util/i386/pc/biosdisk.c: Include `#include
37087 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37088 `<grub/machine/partition.h>'.
37089 * util/i386/pc/grub-setup.c: Likewise.
37090 * util/i386/pc/biosdisk.c: Likewise.
37091 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
37092 partition information in case of a PC partition.
37093 * util/i386/pc/grub-setup.c: Include `#include
37094 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37095 `<grub/machine/partition.h>'.
37096 (setup): Only access the PC specific partition information in case
37097 of a PC partition.
37098
0ef4ced9 370992004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37100
0ef4ced9 37101 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
37102 (grub_longjmp): Likewise.
37103 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
37104 20.
37105 * normal/powerpc/setjmp.S: New file.
37106 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37107 `normal/powerpc/setjmp.S'.
37108 (grubof_CFLAGS): Add `-DGRUBOF'.
37109 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
37110 [GRUB_UTIL && !GRUBOF].
f19dbdb7 37111
19950e29 371122004-11-16 Marco Gerards <metgerards@student.han.nl>
37113
37114 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
37115 property named `name'. Correctly handle the error returned by
37116 `grub_ieee1275_finddevice' if a device can not be opened.
37117
a2fea427 371182004-11-02 Hollis Blanchard <hollis@penguinppc.org>
37119
37120 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
37121 `actual' for negativity.
37122 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37123 kern/fshelp.c.
37124
41ea0ea3 371252004-11-01 Marco Gerards <metgerards@student.han.nl>
37126
37127 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
37128 (PAGE_OFFSET): New macro.
37129 (CRTC_ADDR_PORT): Likewise.
37130 (CRTC_DATA_PORT): Likewise.
37131 (START_ADDR_HIGH_REGISTER): Likewise.
37132 (START_ADDR_LOW_REGISTER): Likewise.
37133 (GRAPHICS_ADDR_PORT): Likewise.
37134 (GRAPHICS_DATA_PORT): Likewise.
37135 (READ_MAP_REGISTER): Likewise.
37136 (INPUT_STATUS1_REGISTER): Likewise.
37137 (INPUT_STATUS1_VERTR_BIT): Likewise.
37138 (page): New variable.
37139 (wait_vretrace): New function.
37140 (set_read_map): Likewise.
37141 (set_start_address): Likewise.
37142 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
37143 the right page.
37144 (check_vga_mem): Take the page into account.
37145 (write_char): Likewise.
37146 (write_cursor): Likewise.
37147 (scroll_up): Likewise. Copy the page to the page that is not
37148 shown and switch between both pages.
37149 (grub_vga_putchar): Fix off by one error.
37150 (grub_vga_cls): Wait for the vertical retrace. Take the page into
37151 account.
37152
ad0bd20b 371532004-11-01 Marco Gerards <metgerards@student.han.nl>
37154
37155 Add support for iso9660 (including rockridge).
f19dbdb7 37156
ad0bd20b 37157 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37158 (iso9660_mod_SOURCES): New variable.
37159 (iso9660_mod_CFLAGS): Likewise.
37160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37161 * include/grub/fs.h (grub_iso9660_init): New prototype.
37162 * util/grub-emu.c (main): Call `grub_iso9660_init'.
37163 * fs/iso9660.c: New file.
37164
37165 * include/grub/misc.h (grub_strncat): New prototype.
37166 * kern/misc.c (grub_strncat): New function.
f19dbdb7 37167
ad0bd20b 37168 * fs/hfs.c (grub_hfs_mount): Translate the error
37169 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
37170 * fs/jfs.c (grub_jfs_mount): Likewise.
37171 * fs/ufs.c (grub_ufs_mount): Likewise.
37172
a5477a59 371732004-10-28 Hollis Blanchard <hollis@penguinppc.org>
37174
37175 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
37176 which initialized BAT registers.
37177 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
37178 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37179 Move from here...
37180 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
37181 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37182 ... to here.
37183 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
37184 (grub_mapclaim): Likewise.
37185 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
37186 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
37187 hand.
37188
9304c1f8 371892004-10-19 Hollis Blanchard <hollis@penguinppc.org>
37190
37191 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
37192 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
37193 -ffreestanding and -msoft-float.
37194
86f4ae25 371952004-10-15 Hollis Blanchard <hollis@penguinppc.org>
37196
37197 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
37198 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
37199 set in grub_ieee1275_flags.
37200
38912228 372012004-10-14 Hollis Blanchard <hollis@penguinppc.org>
37202
37203 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
37204 prototype.
37205 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
37206 grub_console_init first.
37207 Change the memory range used for grub_ieee1275_claim and
37208 grub_mm_init_region.
37209 Print an error message if the claim fails.
37210 Include <grub/misc.h>.
37211
d1923dc8 372122004-10-13 Hollis Blanchard <hollis@penguinppc.org>
37213
37214 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
37215 Call grub_children_iterate for device nodes of type `scsi',
37216 `ide', or `ata'.
37217 (grub_ofdisk_open): Remove manual device alias resolution.
37218 Fix memory leak when device cannot be opened.
f19dbdb7 37219 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 37220 (grub_children_iterate): New prototype.
37221 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
37222 New function.
37223 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37224 Return -1 if args.size was -1.
37225
4512e4f3 372262004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37227
37228 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
37229 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
37230 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
37231 Open Firmware's memory for it; claim memory from _start to _end.
37232 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
37233 (_end): New extern.
37234 (_start): Zero BSS from __bss_start to _end.
37235 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37236 New extern.
37237 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
37238
4d61feb0 372392004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37240
ad0bd20b 37241 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
37242 -1 if args.base was -1.
4d61feb0 37243
026fa2f9 372442004-10-08 Hollis Blanchard <hollis@penguinppc.org>
37245
37246 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
37247 escape sequence instead of a literal ^L. Also call
37248 grub_ofconsole_gotoxy.
37249
9f2220ef 372502004-10-03 Hollis Blanchard <hollis@penguinppc.org>
37251
37252 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
37253 void * arguments to grub_addr_t. All callers updated. Also make
37254 the `result' argument optional.
37255 (grub_ieee1275_release): change void * arguments to grub_addr_t.
37256 All callers updated.
37257
8a572cd7 372582004-09-22 Hollis Blanchard <hollis@penguinppc.org>
37259
37260 * commands/ls.c (grub_ls_list_files): Use the string following the
37261 initial ')', if present, as the filesystem path.
37262 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
37263
37264 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
37265
18aa81f2 372662004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
37267
37268 Make the source code of the menu interface more readable.
f19dbdb7 37269
18aa81f2 37270 * normal/menu.c: Include grub/mm.h.
37271 (TERM_WIDTH): New macro.
37272 (TERM_HEIGHT): Likewise.
37273 (TERM_INFO_HEIGHT): Likewise.
37274 (TERM_MARGIN): Likewise.
37275 (TERM_SCROLL_WIDTH): Likewise.
37276 (TERM_TOP_BORDER_Y): Likewise.
37277 (TERM_LEFT_BORDER_X): Likewise.
37278 (TERM_BORDER_WIDTH): Likewise.
37279 (TERM_MESSAGE_HEIGHT): Likewise.
37280 (TERM_BORDER_HEIGHT): Likewise.
37281 (TERM_NUM_ENTRIES): Likewise.
37282 (TERM_FIRST_ENTRY_Y): Likewise.
37283 (TERM_ENTRY_WIDTH): Likewise.
37284 (TERM_CURSOR_X): Likewise.
37285 (draw_border): Use macros instead of magic numbers.
37286 (print_entry): Likewise.
37287 (print_entries): Likewise.
37288 (run_menu): Likewise. Also, handle the key 'e'.
37289 (run_menu_entry): Ignore empty command lines.
37290 (print_message): Added a new argument EDIT. If EDIT is true,
37291 print a different message.
37292 (init_page): Likewise.
37293 (edit_menu_entry): New function. Not implemented yet.
37294
b47efe30 372952004-09-17 Marco Gerards <metgerards@student.han.nl>
37296
37297 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
37298 can be loaded from normal mode.
f19dbdb7 37299
b47efe30 37300 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
37301 `multiboot.mod'.
37302 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
37303 (multiboot_mod_CFLAGS): New variables.
37304 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 37305 * loader/i386/pc/multiboot_normal.c: Likewise.
37306
b47efe30 37307 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
37308 attribute `unused'.
f19dbdb7 37309
b47efe30 37310 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
37311 `fdiro' to read the mode information from instead of `diro'.
37312
37313 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
37314 looking up a symlink.
37315
37316 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
37317 macro.
37318 * normal/command.c (grub_command_execute): Don't parse the
37319 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
37320 flags of the command.
37321
37322 * normal/menu.c (grub_menu_run): Fix typo.
37323
da75ac71 373242004-09-14 Hollis Blanchard <hollis@penguinppc.org>
37325
37326 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
37327
37328 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
37329 `y + 1' instead of `y - 1'.
37330
37331 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 37332
062b24c2 373332004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
37334
37335 From Hollis Blanchard <hollis@penguinppc.org>:
37336 * kern/misc.c (memmove): New alias for grub_memmove.
37337 (memcmp): New alias for grub_memcmp.
37338 (memset): New alias for grub_memset.
f19dbdb7 37339 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 37340 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 37341 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 37342 (grub_ieee1275_get_property): Likewise.
f19dbdb7 37343
8ddad845 373442004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
37345
37346 Added normal mode command `chainloader' as module chain.mod, which
37347 depends on normal.mod and _chain.mod.
f19dbdb7 37348
8ddad845 37349 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
37350 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
37351 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
37352 Deleted prototype.
37353 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
37354 but arguments parsing moved to ...
37355 (grub_chainloader_cmd): ... here. New function.
37356 * include/grub/i386/pc/chainloader.h: New file.
37357 * loader/i386/pc/chainloader_normal.c: Likewise.
37358
2c1f4ce3 373592004-09-11 Marco Gerards <metgerards@student.han.nl>
37360
37361 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
37362 (grub_mkimage_LDFLAGS): Likewise.
37363 (grub_emu_SOURCES): Likewise.
37364 (kernel_img_HEADERS): Added fshelp.h.
37365 * fs/ext2.c: Include <grub/fshelp.h>.
37366 (FILETYPE_REG): New macro.
37367 (FILETYPE_INO_REG): Likewise.
37368 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
37369 Changed all users.
37370 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
37371 all users.
37372 (grub_fshelp_node): New struct.
37373 (grub_ext2_data): Added member `diropen'. Changed member `inode'
37374 to a pointer.
37375 (grub_ext2_get_file_block): Removed function.
37376 (grub_ext2_read_block): New function.
37377 (grub_ext2_read_file): Replaced parameter `data' by `node'.
37378 This function was written.
37379 (grub_ext2_mount): Read the root inode. Create a diropen struct.
37380 (grub_ext2_find_file): Removed function.
37381 (grub_ext2_read_symlink): New function.
37382 (grub_ext2_iterate_dir): Likewise.
37383 (grub_ext2_open): Rewritten.
37384 (grub_ext2_dir): Rewritten.
37385 * include/grub/fshelp.h: New file.
37386 * fs/fshelp.c: Likewise.
37387
3c52136a 373882004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
37389
37390 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
37391 (print_message): Add a missing newline.
37392 (run_menu): Added timeout support.
37393 (run_menu_entry): New local function.
37394 (grub_menu_run): Added support for booting.
37395
37396 * kern/loader.c (grub_loader_is_loaded): New function.
37397
37398 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
37399 (grub_get_rtc): Exported.
37400
37401 * include/grub/i386/pc/time.h: Include grub/symbol.h.
37402 (grub_get_rtc): Exported.
37403
37404 * include/grub/normal.h (struct grub_command_list): Remove
37405 constant from the member `command'.
37406
37407 * include/grub/loader.h (grub_loader_is_loaded): Declared.
37408
37409 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
37410
37411 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
37412
aa033560 374132004-08-28 Marco Gerards <metgerards@student.han.nl>
37414
37415 Add support for the JFS filesystem.
37416
37417 * fs/jfs.c: New file.
37418 * include/grub/fs.h (grub_jfs_init): New prototype.
37419 (grub_jfs_fini): New prototype.
37420 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
37421 (grub_emu_SOURCES): Likewise.
37422 (pkgdata_MODULES): Add jfs.mod.
37423 (jfs_mod_SOURCES): New variable.
37424 (jfs_mod_CFLAGS): Likewise.
37425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
37426 (grubof_SOURCES): Likewise.
37427 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
37428
37429 * fs/fat.c (grub_fat_find_dir): Convert the filename little
37430 endian to the host endian.
37431 (grub_fat_utf16_to_utf8): Move function from there...
37432 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 37433 the endianness of the source string anymore.
aa033560 37434 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
37435
94bc45af 374362004-08-24 Marco Gerards <metgerards@student.han.nl>
37437
37438 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
37439 (grub_boot_fini) [GRUB_UTIL]: Likewise.
37440 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
37441 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 37442
94bc45af 37443 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
37444 (grub_hfs_iterate_dir): Make the function static. Add prototypes
37445 for `node_found' and `it_dir'.
37446 (grub_hfs_dir): Add prototype for `dir_hook'.
37447
37448 * fs/minix.c (grub_minix_get_file_block): Add prototype for
37449 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
37450 and `indir32' to silence a gcc warning.
37451
37452 * include/grub/fs.h (grub_hfs_init): New prototype.
37453 (grub_hfs_fini): Likewise.
f19dbdb7 37454
37455
97543f08 374562004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37457
37458 Each disk device has its own id now. This is useful to make use
37459 of multiple disk devices.
f19dbdb7 37460
97543f08 37461 * include/grub/disk.h (grub_disk_dev_id): New enum.
37462 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
37463 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
37464
37465 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
37466 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37467
37468 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
37469 GRUB_DISK_DEVICE_OFDISK_ID as an id.
37470
37471 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
37472 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37473
37474 * include/grub/disk.h (struct grub_disk_dev): Added a new member
37475 "id" which is used by the cache manager.
37476
37477 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
37478 of just "GRUB".
37479
64372eb4 374802004-08-18 Marco Gerards <metgerards@student.han.nl>
37481
37482 * fs/hfs.c: New file.
37483 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
37484 (grub_emu_SOURCES): Likewise.
37485 (pkgdata_MODULES): Add hfs.mod.
37486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
37487 (grubof_SOURCES): Likewise.
37488 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
37489
37490 * include/grub/misc.h (grub_strncasecmp): Add prototype.
37491 * kern/misc.c (grub_strncasecmp): Add function.
37492
cc61b58f 374932004-08-14 Marco Gerards <metgerards@student.han.nl>
37494
37495 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
37496 with parentheses.
37497
37498 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
37499 (grub_ext2_dir): In case the directory entry type is unknown, read
37500 it from the inode.
37501
0ef123f6 375022004-08-02 Peter Bruin <pjbruin@dds.nl>
37503
37504 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
37505 grub_load_linux instead of grub_rescue_cmd_linux as second
37506 argument of grub_rescue_register_command.
37507
37508 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
37509
a447c5df 375102004-07-27 Marco Gerards <metgerards@student.han.nl>
37511
37512 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
37513 function.
37514 * commands/boot.c: Remove the check for `GRUB_UTIL'.
37515 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37516 `loader/powerpc/ieee1275/linux.c',
37517 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
37518 * include/grub/powerpc/ieee1275/ieee1275.h
37519 (grub_ieee1275_release): New prototype.
37520 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
37521 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
37522 normal, boot, linux and linux_normal.
37523 * loader/powerpc/ieee1275/linux.c: New file.
37524 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37525
5a9e3546 375262004-07-12 Marco Gerards <metgerards@student.han.nl>
37527
37528 * normal/arg.c (grub_arg_parse): Correct error handling after
37529 reallocating the argumentlist (check if `argl' is not null instead
37530 of checking if `args' is not null).
37531 * kern/mm.c (grub_realloc): Return the same pointer when using the
37532 same region, instead of returning the header address.
37533
e15199cb 375342004-07-11 Marco Gerards <metgerards@student.han.nl>
37535
37536 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
37537 one block instead of two when looking for the initial partition.
37538 (grub_partition_probe): Initialize the local variable `p' with 0.
37539 Use base 10 for the grub_strtoul call.
37540 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
37541 need for one local variable.
37542 (grub_strtoul): Don't add the new value to `num', instead of that
37543 just assign it.
37544
020616c2 375452004-07-11 Marco Gerards <metgerards@student.han.nl>
37546
37547 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
37548 (pxeboot_img_SOURCES): New variable.
37549 (pxeboot_img_ASFLAGS): Likewise.
37550 (pxeboot_img_LDFLAGS): Likewise.
37551 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
37552 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
37553 <lode_leroy@hotmail.com>.
37554
6c51eb64 375552004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37556
37557 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
37558 there was no input.
37559
cfb12aff 375602004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37561
37562 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
37563 the history buffer logic.
37564
6eabba74 375652004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37566
37567 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
37568 (FILETYPE_INO_SYMLINK): New macros.
37569 (grub_ext2_find_file): Check if the node is a directory using the
37570 inode stat information instead of using the filetype in the
37571 dirent. Exclude the first character of an absolute symlink.
37572 (grub_ext2_dir): Mask out the filetype part of the mode member of
37573 the inode.
37574
66e19ef8 375752004-05-24 Marco Gerards <metgerards@student.han.nl>
37576
37577 Add support for UFS version 1 and 2. Add support for the minix
37578 filesystem version 1 and 2, both the variants with 14 and 30 long
37579 filenames.
f19dbdb7 37580
66e19ef8 37581 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
37582 fs/minix.c.
37583 (grub_emu_SOURCES): Likewise.
37584 (pkgdata_MODULES): Add ufs.mod and minix.mod.
37585 (ufs_mod_SOURCES): New variable.
37586 (ufs_mod_CFLAGS): Likewise.
37587 (minix_mod_SOURCES): Likewise.
37588 (minix_mod_CFLAGS): Likewise.
37589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
37590 fs/minix.c.
37591 (grubof_SOURCES): Likewise.
37592 * fs/ufs.c: New file.
37593 * fs/minix.c: New file.
37594 * include/grub/fs.h (grub_ufs_init): New prototype.
37595 (grub_ufs_fini): Likewise.
37596 (grub_minix_init): Likewise.
37597 (grub_minix_fini): Likewise.
37598 * util/grub-emu.c (main): Initialize and deinitialize UFS and
37599 minix fs.
37600
cc2e748a 376012004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
37602
37603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
37604 commands/ls.c, commands/terminal.c, commands/boot.c,
37605 commands/cmp.c and commands/cat.c.
37606 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
37607
37608 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
37609 "env.h"
37610
4b13b216 376112004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37612
37613 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
37614 and grub_, respectively. Because the conversion is trivial and
37615 mechanical, I omit the details here. Please refer to the CVS
37616 if you need more information.
37617
6a142551 376182004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37619
37620 * include/pupa: Renamed to ...
37621 * include/grub: ... this.
37622 * util/i386/pc/pupa-mkimage.c: Renamed to ...
37623 * util/i386/pc/grub-mkimage.c: ... this.
37624 * util/i386/pc/pupa-setup.c: Renamed to ...
37625 * util/i386/pc/grub-setup.c: ... this.
37626 * util/pupa-emu.c: Renamed to ...
37627 * util/grub-emu.c: ... this.
37628
e56cdf21 376292004-03-29 Marco Gerards <metgerards@student.han.nl>
37630
37631 Add support for the newworld apple macintosh (PPC). This has been
37632 tested on the powerbook 2000 only. It only adds support for
37633 generic ieee1275 functions, console and disk support. This should
37634 be easy to port to other architectures with support for Open
37635 Firmware.
f19dbdb7 37636
e56cdf21 37637 * configure.ac: Accept the powerpc as host_cpu. In the case of
37638 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
37639 specific tests are only executed while building for the i386.
37640 Inverse test for crosscompile.
37641 * genmk.rb (Utility): Allow assembler files.
37642 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
37643 * conf/powerpc-ieee1275.rmk: New file.
37644 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
37645 * disk/powerpc/ieee1275/partition.c: Likewise.
37646 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
37647 * include/pupa/powerpc/ieee1275/console.h: Likewise.
37648 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
37649 * include/pupa/powerpc/ieee1275/time.h: Likewise.
37650 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
37651 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
37652 * include/pupa/powerpc/ieee1275/loader.h
37653 * include/pupa/powerpc/setjmp.h: Likewise.
37654 * include/pupa/powerpc/types.h: Likewise.
37655 * kern/powerpc/ieee1275/init.c: Likewise.
37656 * kern/powerpc/ieee1275/openfw.c: Likewise.
37657 * term/powerpc/ieee1275/ofconsole.c: Likewise.
37658
37659 These files were written by Johan Rydberg
37660 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 37661
e56cdf21 37662 * boot/powerpc/ieee1275/cmain.c: New file.
37663 * boot/powerpc/ieee1275/crt0.S: Likewise.
37664 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
37665 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
37666
8c8cc205 376672004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
37668
37669 * Makefile.in: Update copyright.
37670 * genmodsrc.sh: Likewise.
37671 * gensymlist.sh: Likewise.
37672 * term/i386/pc/vga.c: Indent correctly.
37673
37674 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
37675 bugreporting address.
37676 * util/i386/pc/pupa-setup.c (usage): Likewise,
37677 (main): Call pupa_ext2_init and pupa_ext2_fini.
37678
f19dbdb7 37679 * fs/fat.c (log2): Renamed to ...
8c8cc205 37680 (fat_log2): ... this.
37681 All callers changed.
37682 * kern/misc.c (memcpy): Alias to pupa_memmove.
37683 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
37684 lvalue cast.
37685 * util/console.c (pupa_ncurses_fini): Return 0.
37686
37687 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
37688 Move fail label here.
37689 [__GNU__]: Don't warn when using stat.
37690 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
37691 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
37692 long int. Use strtol instead of strtoul.
f19dbdb7 37693
db1771cf 376942004-03-14 Marco Gerards <metgerards@student.han.nl>
37695
37696 * commands/boot.c: New file.
37697 * commands/cat.c: Likewise.
37698 * commands/cmp.c: Likewise.
37699 * commands/ls.c: Likewise.
37700 * commands/terminal.c: Likewise.
37701 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
37702 (pupa_register_command): Changed interface to match the new
37703 argument parser.
37704 (pupa_command_execute): Changed (almost rewritten) so it uses
37705 pupa_split_command. Added support for setting variables using the
37706 syntax `foo=bar'.
37707 (rescue_command): Changed to work with the new argument parser.
37708 (terminal_command): Moved from here to commands/terminal.c.
37709 (set_command): New function.
37710 (unset_command): New function.
37711 (insmod_command): New function.
37712 (rmmod_command): New function.
37713 (lsmod_command): New function.
37714 (pupa_command_init): Don't initialize the command terminal
37715 anymore. Initialize the commands set, unset, insmod, rmmod and
37716 lsmod.
37717 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
37718 (kernel_img_HEADERS): Add arg.h and env.h.
37719 (pupa_mkimage_LDFLAGS): Add kern/env.c.
37720 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
37721 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
37722 normal/arg.c.
37723 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
37724 terminal.mod.
37725 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
37726 (boot_mod_SOURCES): New variable.
37727 (terminal_mod_SOURCES): Likewise.
37728 (ls_mod_SOURCES): Likewise.
37729 (cmp_mod_SOURCES): Likewise.
37730 (cat_mod_SOURCES): Likewise.
37731
37732 * normal/arg.c: New file.
37733 * kern/env.c: Likewise.
37734 * include/pupa/arg.h: Likewise.
37735 * include/pupa/env.h: Likewise.
37736 * font/manager.c (font_command): Changed to match argument parsing
37737 interface changes.
37738 (PUPA_MOD_INIT): Likewise.
37739 * hello/hello.c (pupa_cmd_hello): Likewise.
37740 (PUPA_MOD_INIT): Likewise.
37741 * include/pupa/disk.h: Include <pupa/device.h>.
37742 (pupa_print_partinfo): New prototype.
37743 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
37744 (pupa_dl_get_prefix): Likewise.
37745 * include/pupa/misc.h: Include <pupa/err.h>.
37746 (pupa_isgraph): New prototype.
37747 (pupa_isdigit): Likewise.
37748 (pupa_split_cmdline): Likewise.
37749 * include/pupa/normal.h: Include <pupa/arg.h>.
37750 (pupa_command): Changed the prototype of the member `func' to
37751 match the argument parsing interface. Added member `options'.
37752 (pupa_register_command): Updated to match function.
37753 (pupa_arg_parse): New prototype.
37754 (pupa_hello_init) [PUPA_UTIL]: New prototype.
37755 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
37756 (pupa_ls_init) [PUPA_UTIL]: Likewise.
37757 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
37758 (pupa_cat_init) [PUPA_UTIL]: Likewise.
37759 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
37760 (pupa_boot_init) [PUPA_UTIL]: Likewise.
37761 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
37762 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
37763 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
37764 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
37765 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
37766 * kern/disk.c: Include <pupa/file.h>.
37767 (pupa_print_partinfo): New function.
37768 * kern/dl.c: Include <pupa/env.h>.
37769 (pupa_dl_dir): Variable removed.
37770 (pupa_dl_load): Use the environment variable `prefix' instead of
37771 the variable pupa_dl_dir.
37772 (pupa_dl_set_prefix): Function removed.
37773 (pupa_dl_get_prefix): Likewise.
37774 * kern/i386/pc/init.c: Include <pupa/env.h>.
37775 (pupa_machine_init): Use the environment variable `prefix' instead of
37776 using pupa_dl_set_prefix to set the prefix.
37777 * kern/main.c: Include <pupa/env.h>.
37778 (pupa_set_root_dev): Use the environment variable `prefix' instead of
37779 using pupa_dl_get_prefix to get the prefix.
37780 * kern/misc.c: Include <pupa/env.h>.
37781 (pupa_isdigit): New function.
37782 (pupa_isgraph): Likewise.
37783 (pupa_ftoa): Likewise.
37784 (pupa_vsprintf): Added support for printing values of the type
37785 `double'. Make it possible to format variable output when using
37786 formatting like `%1.2%f'.
37787 (pupa_split_cmdline): New function.
37788 * kern/rescue.c: Include <pupa/env.h>.
37789 (next_word): Removed function.
37790 (pupa_rescue_cmd_prefix): Likewise.
37791 (pupa_rescue_cmd_set): New function.
37792 (pupa_rescue_cmd_unset): New function.
37793 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
37794 split the command line instead of splitting it here. Added
37795 support for setting variables using the syntax `foo=bar'. Don't
37796 initialize the prefix command anymore. Initialized the set and
37797 unset commands.
37798 * normal/cmdline.c: Include <pupa/env.h>.
37799 (pupa_tab_complete): Added prototypes for print_simple_completion,
37800 print_partition_completion, add_completion, iterate_commands,
37801 iterate_dev, iterate_part and iterate_dir. Moved code to print
37802 partition information from here to kern/disk.c.
fe6b695a 37803 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 37804 * normal/main.c: Include <pupa/env.h>.
37805 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
37806 instead of using pupa_dl_get_prefix to get the prefix.
37807 * term/i386/pc/vga.c: Include <pupa/arg.h>.
37808 (check_vga_mem): Cast pointers to `void *' to silence a gcc
37809 warning.
37810 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
37811 (pupa_vga_setcolor): Declare unused variables with `__attribute__
37812 ((unused))' to silence a gcc warning.
37813 (pupa_vga_setcolor): Likewise.
37814 (debug_command): Changed to match argument parsing
37815 interface changes.
37816 * util/pupa-emu.c: Include <pupa/env.h>.
37817 (options): Added 0's for unused fields to silence a gcc warning.
37818 (argp): Likewise.
37819 (main): Use the environment variable `prefix' instead of using
37820 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
37821 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
37822 and terminal.
37823
37824 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
37825 * util/misc.c: Include <malloc.h>.
37826 (pupa_malloc): Rewritten so errors are correctly reported.
37827 (pupa_realloc): Likewise.
37828 (pupa_memalign): Likewise.
37829 (pupa_mm_init_region): Declare unused variables with
37830 `__attribute__ ((unused))' to silence a gcc warning.
37831 * normal/i386/setjmp.S: Remove tab at the end of the file to
37832 silence a gcc warning.
37833 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
37834 variables with `__attribute__ ((unused))' to silence a gcc
37835 warning.
37836 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
37837 local variable i unsigned to silence a gcc warning.
37838
37839 * kern/term.c: Include <pupa/misc.h>.
37840 (pupa_more_lines): New variable.
37841 (pupa_more): Likewise.
37842 (pupa_putcode): When the pager is active pause at the end of every
37843 screen.
37844 (pupa_set_more): New function.
37845 * include/pupa/term.h (pupa_set_more): New prototype.
37846
37847
3b1139cb 378482004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
37849
37850 Now this project is GRUB 2 rather than PUPA. The location of
37851 the CVS repository was moved to GRUB's.
f19dbdb7 37852
3b1139cb 37853 * configure.ac: Use bug-grub as the reporting address.
37854 Use GRUB instead of PUPA.
37855 Change the version number to 1.90.
37856
8367695c 378572004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
37858
37859 * genkernsyms.sh: Updated copyright information.
37860 * genmk.rb: Likewise.
37861 * genmodsrc.sh: Likewise.
37862 * gensymlist.sh: Likewise.
37863 * boot/i386/pc/boot.S: Likewise.
37864 * boot/i386/pc/diskboot.S: Likewise.
37865 * disk/i386/pc/biosdisk.c: Likewise.
37866 * disk/i386/pc/partition.c: Likewise.
37867 * font/manager.c: Likewise.
37868 * fs/ext2.c: Likewise.
37869 * fs/fat.c: Likewise.
37870 * include/pupa/boot.h: Likewise.
37871 * include/pupa/device.h: Likewise.
37872 * include/pupa/disk.h: Likewise.
37873 * include/pupa/dl.h: Likewise.
37874 * include/pupa/elf.h: Likewise.
37875 * include/pupa/err.h: Likewise.
37876 * include/pupa/file.h: Likewise.
37877 * include/pupa/font.h: Likewise.
37878 * include/pupa/fs.h: Likewise.
37879 * include/pupa/kernel.h: Likewise.
37880 * include/pupa/loader.h: Likewise.
37881 * include/pupa/misc.h: Likewise.
37882 * include/pupa/mm.h: Likewise.
37883 * include/pupa/net.h: Likewise.
37884 * include/pupa/normal.h: Likewise.
37885 * include/pupa/rescue.h: Likewise.
37886 * include/pupa/setjmp.h: Likewise.
37887 * include/pupa/symbol.h: Likewise.
37888 * include/pupa/term.h: Likewise.
37889 * include/pupa/types.h: Likewise.
37890 * include/pupa/i386/setjmp.h: Likewise.
37891 * include/pupa/i386/types.h: Likewise.
37892 * include/pupa/i386/pc/biosdisk.h: Likewise.
37893 * include/pupa/i386/pc/boot.h: Likewise.
37894 * include/pupa/i386/pc/console.h: Likewise.
37895 * include/pupa/i386/pc/init.h: Likewise.
37896 * include/pupa/i386/pc/kernel.h: Likewise.
37897 * include/pupa/i386/pc/linux.h: Likewise.
37898 * include/pupa/i386/pc/loader.h: Likewise.
37899 * include/pupa/i386/pc/memory.h: Likewise.
37900 * include/pupa/i386/pc/multiboot.h: Likewise.
37901 * include/pupa/i386/pc/partition.h: Likewise.
37902 * include/pupa/i386/pc/time.h: Likewise.
37903 * include/pupa/i386/pc/vga.h: Likewise.
37904 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
37905 * include/pupa/util/getroot.h: Likewise.
37906 * include/pupa/util/misc.h: Likewise.
37907 * include/pupa/util/resolve.h: Likewise.
37908 * kern/device.c: Likewise.
37909 * kern/disk.c: Likewise.
37910 * kern/dl.c: Likewise.
37911 * kern/err.c: Likewise.
37912 * kern/file.c: Likewise.
37913 * kern/fs.c: Likewise.
37914 * kern/loader.c: Likewise.
37915 * kern/main.c: Likewise.
37916 * kern/misc.c: Likewise.
37917 * kern/mm.c: Likewise.
37918 * kern/rescue.c: Likewise.
37919 * kern/term.c: Likewise.
37920 * kern/i386/dl.c: Likewise.
37921 * kern/i386/pc/init.c: Likewise.
37922 * kern/i386/pc/lzo1x.S: Likewise.
37923 * kern/i386/pc/startup.S: Likewise.
37924 * loader/i386/pc/chainloader.c: Likewise.
37925 * loader/i386/pc/linux.c: Likewise.
37926 * loader/i386/pc/multiboot.c: Likewise.
37927 * normal/cmdline.c: Likewise.
37928 * normal/command.c: Likewise.
37929 * normal/main.c: Likewise.
37930 * normal/menu.c: Likewise.
37931 * normal/i386/setjmp.S: Likewise.
37932 * term/i386/pc/console.c: Likewise.
37933 * term/i386/pc/vga.c: Likewise.
37934 * util/console.c: Likewise.
37935 * util/genmoddep.c: Likewise.
37936 * util/misc.c: Likewise.
37937 * util/pupa-emu.c: Likewise.
37938 * util/resolve.c: Likewise.
37939 * util/unifont2pff.rb: Likewise.
37940 * util/i386/pc/biosdisk.c: Likewise.
37941 * util/i386/pc/getroot.c: Likewise.
37942 * util/i386/pc/pupa-mkimage.c: Likewise.
37943 * util/i386/pc/pupa-setup.c: Likewise.
37944
e6eced71 379452004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
37946
37947 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
37948 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
37949 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
37950 reading and reset it after reading.
37951 (pupa_ext2_close): Return PUPA_ERR_NONE.
37952
37953 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
37954 Correct value.
37955 (struct linux_kernel_header): Add kernel_version and
37956 initrd_addr_max.
37957 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
37958 pupa_file_read succeeds.
37959 (pupa_rescue_cmd_initrd): Implement.
37960
5aded270 379612003-12-03 Marco Gerards <metgerards@student.han.nl>
37962
37963 * fs/ext2.c (pupa_ext2_label): New function.
37964 (pupa_ext2_fs): Added label.
37965 * fs/fat.c (pupa_fat_label): New function.
37966 (pupa_fat_fs): Added label.
37967 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
37968
37969 * kern/misc.c (pupa_strndup): New function.
37970 * include/pupa/misc.h (pupa_strndup): New prototype.
37971
37972 * include/pupa/normal.h: Include <pupa/err.h>.
37973 (pupa_set_history): New prototype.
37974 (pupa_iterate_commands): New prototype.
37975 * normal/cmdline.c: Include <pupa/machine/partition.h>,
37976 <pupa/disk.h>, <pupa/file.h>.
37977 (hist_size): New variable.
37978 (hist_lines): Likewise.
37979 (hist_end): Likewise.
37980 (hist_used): Likewise.
37981 (pupa_set_history): New function.
37982 (pupa_history_get): Likewise.
37983 (pupa_history_add): Likewise.
37984 (pupa_history_replace): Likewise.
37985 (pupa_tab_complete): Likewise.
37986 (pupa_cmdline_run): Added tab completion and history buffer. Tab
37987 completion shows partitionnames while completing partitions, this
37988 feature was suggested by Jeff Bailey.
37989 * normal/command.c (pupa_iterate_commands): New function.
37990 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
37991 (pupa_normal_init): Initialize history buffer.
37992 (PUPA_MOD_INIT): Likewise.
37993 (pupa_normal_fini): Free the history buffer.
37994 (PUPA_MOD_FINI): Likewise.
37995
37996 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
37997 key.
37998
37999 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
38000 * configure.ac [i386]: Check for regparam bug.
38001 (NESTED_FUNC_ATTR) [! i386]: Defined.
38002
1f7315a3 380032003-11-17 Marco Gerards <metgerards@student.han.nl>
38004
38005 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
38006 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
38007 (pupa_emu_SOURCES): New variable.
38008 (pupa_emu_LDFLAGS): Likewise.
38009 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
38010 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
38011 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
38012 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38013 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
38014 (pupa_jmp_buf): New typedef.
38015 (pupa_setjmp) [PUPA_UTIL]: New macro.
38016 (pupa_longjmp) [PUPA_UTIL]: Likewise.
38017 * include/pupa/term.h (struct pupa_term): New member `refresh'.
38018 (pupa_refresh): New prototype.
38019 * include/pupa/util/getroot.h: New file.
38020 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
38021 it.
38022 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
38023 (pupa_rescue_cmd_cat): Likewise.
38024 (pupa_rescue_cmd_ls): Likewise.
38025 (pupa_rescue_cmd_testload): Likewise.
38026 (pupa_rescue_cmd_lsmod): Likewise.
38027 * normal/cmdline.c (pupa_cmdline_get): Likewise.
38028 * normal/menu.c (run_menu): Likewise.
38029 * kern/term.c (pupa_cls): Likewise.
38030 (pupa_refresh): New function.
38031 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
38032 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38033 * util/console.c: New file.
f19dbdb7 38034
1f7315a3 38035 * util/i386/pc/getroot.c: New file.
38036 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
38037 (pupa_putchar): New function.
38038 (pupa_refresh): Likewise.
38039 (xgetcwd): Function moved to ...
38040 (strip_extra_slashes): Likewise.
38041 (get_prefix): Likewise.
f19dbdb7 38042 * util/i386/pc/getroot.c: ... here.
1f7315a3 38043 (find_root_device): Function moved and renamed to...
38044 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
38045 Changed all callers.
38046 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
38047 and renamed to...
38048 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
38049 Changed all callers.
38050 * util/misc.c (pupa_memalign): New function.
38051 (pupa_mm_init_region): Likewise.
38052 (pupa_register_exported_symbols): Likewise.
38053 (pupa_putchar): Function removed.
38054 * util/pupa-emu.c: New file.
38055
9a5c1ade 380562003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
38057
38058 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
38059 (_multiboot_mod_SOURCES): New variable.
38060 (_multiboot_mod_CFLAGS): Likewise.
38061 * loader/i386/pc/multiboot.c: New file.
38062 * include/pupa/i386/pc/multiboot.h: Likewise.
38063 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
38064 (pupa_multiboot_real_boot): New function.
38065 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
38066 (pupa_multiboot_real_boot): New prototype.
38067 (pupa_rescue_cmd_multiboot): Likewise
38068 (pupa_rescue_cmd_module): Likewise.
38069
38070 * kern/loader.c (pupa_loader_set): Continue when
38071 pupa_loader_unload_func() fails.
38072 (pupa_loader_unset): New function.
38073 * include/pupa/loader.h (pupa_loader_unset): New prototype.
38074
38075 * kern/misc.c (pupa_stpcpy): New function.
38076 * include/pupa/misc.h (pupa_stpcpy): New prototype.
38077
8e72a9c0 380782003-11-12 Marco Gerards <metgerards@student.han.nl>
38079
38080 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
38081 for available extensions.
38082
38083 * include/pupa/i386/pc/time.h: New file.
38084 * kern/disk.c: Include <pupa/machine/time.h>.
38085 (PUPA_CACHE_TIMEOUT): New macro.
38086 (pupa_last_time): New variable.
38087 (pupa_disk_open): Flush the cache when there was a timeout.
38088 (pupa_disk_close): Reset the timer.
38089 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
38090 pupa_currticks.
38091 * util/misc.c: Include <sys/times.h>
38092 (pupa_get_rtc): New function.
38093
c4adbd32 380942003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38095
38096 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
38097 as blocks.
38098 (pupa_ext2_get_file_block): Use blocks member.
38099
38100 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
38101 first block. Return -1 instead of pupa_errno on error.
38102
bfd30f06 381032003-10-27 Marco Gerards <metgerards@student.han.nl>
38104
38105 * README: In the pupa-mkimage example use _chain instead of chain
38106 and ext2 instead of fat.
38107 * TODO: Replace ext2fs with jfs as an example. Add an item for
38108 adding journal playback for ext2fs.
38109 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
38110 (pkgdata_MODULES): Added ext2.mod.
38111 (ext2_mod_SOURCES): New variable.
38112 (ext2_mod_CFLAGS): Likewise.
38113 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
38114 * include/pupa/misc.h (pupa_strncpy): New prototype.
38115 (pupa_strcat): Likewise.
38116 (pupa_strncmp): Likewise.
38117 * kern/misc.c (pupa_strcat): Enable function.
38118 (pupa_strncpy): New function.
38119 (pupa_strncmp): Likewise.
38120 * fs/ext2.c: New file.
f19dbdb7 38121
bfd30f06 38122 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
38123 when the read failed before retrying.
38124 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
38125 (_FILE_OFFSET_BITS): Likewise.
38126 * configure.ac: Added AC_SYS_LARGEFILE.
38127
98d15063 381282003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38129
38130 * genmk.rb (PModule#rule): Make sure to get only symbol names
38131 from the output of nm.
59cad637 38132 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 38133
18d9c7cd 381342003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38135
38136 I forgot to check in these changes for a long time. This adds
38137 incomplete support for VGA console, and this is still very
38138 buggy. Also, a lot of consideration is required for I18N,
38139 UNICODE, and VGA font issues. Therefore, assume that this is
38140 such that "better than nothing".
f19dbdb7 38141
18d9c7cd 38142 * font/manager.c: New file.
38143 * include/pupa/font.h: Likewise.
38144 * include/pupa/i386/pc/vga.h: Likewise.
38145 * term/i386/pc/vga.c: Likewise.
38146 * util/unifont2pff.rb: Likewise.
38147
38148 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
38149 (pkgdata_MODULES): Added vga.mod and font.mod.
38150 (vga_mod_SOURCES): New variables.
38151 (vga_mod_CFLAGS): Likewise.
38152 (font_mod_SOURCES): Likewise.
38153 (font_mod_CFLAGS): Likewise.
38154
38155 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
38156
38157 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 38158 (struct pupa_term): Added init and fini.
18d9c7cd 38159 Changed the argument of putchar to pupa_uint32_t.
38160
38161 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
38162 (pupa_console_real_putchar): New prototype.
38163 (pupa_console_putchar): Removed.
38164 (pupa_console_checkkey): Exported.
38165 (pupa_console_getkey): Likewise.
38166
38167 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
38168 characters.
38169
38170 * kern/term.c (pupa_term_set_current): Rewritten.
38171 (pupa_putchar): Likewise.
38172 (pupa_putcode): New function.
38173
38174 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
38175 (pupa_console_real_putchar): ... this.
38176 (pupa_vga_set_mode): New function.
38177 (pupa_vga_get_font): Likewise.
38178
38179 * normal/command.c: Include pupa/term.h.
38180 (terminal_command): New function.
38181 (pupa_command_init): Register the command "terminal".
38182
38183 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
38184 (DISP_UP): Likewise.
38185 (DISP_RIGHT): Likewise.
38186 (DISP_DOWN): Likewise.
38187 (DISP_HLINE): Likewise.
38188 (DISP_VLINE): Likewise.
38189 (DISP_UL): Likewise.
38190 (DISP_UR): Likewise.
38191 (DISP_LL): Likewise.
38192 (DISP_LR): Likewise.
38193
38194 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 38195
977329f5 381962003-02-08 NIIBE Yutaka <gniibe@m17n.org>
38197
38198 * util/resolve.c (pupa_util_resolve_dependencies): BUG
38199 FIX. Reverse the path_list.
38200
38201 * include/pupa/normal.h: Export pupa_register_command and
38202 pupa_unregister_command.
38203
38204 * hello/hello.c (pupa_cmd_hello): New module.
38205 * conf/i386-pc.rmk: Added hello.mod.
38206
1f5ab428 382072003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
38208
38209 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 38210
1f5ab428 38211 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
38212 (compress_kernel): New variable.
38213 (generate_image): Heavily modified to support compressing a
38214 large part of the core image.
38215
38216 * util/misc.c (pupa_util_read_image): Fix a file descriptor
38217 leak.
38218 (pupa_util_load_image): New function.
38219
38220 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
38221 (pupa_compressed_size): New variable.
38222 (codestart): Enable Gate A20 here.
38223 Decompress the compressed part of the core image.
38224 Rearrange the code to put functions and variables which are
38225 required for initialization in the non-compressed part.
38226 Include lzo1x.S.
38227
38228 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
38229 here.
38230
38231 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
38232
f19dbdb7 38233 * include/pupa/i386/pc/kernel.h
1f5ab428 38234 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
38235 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
38236 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38237 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38238 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
38239
38240 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
38241
38242 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
38243 (Utility#rule): Likewise.
38244
38245 * configure.ac: Check if LZO is available.
38246
ce5bf700 382472003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
38248
38249 * include/pupa/normal.h: New file.
38250 * include/pupa/setjmp.h: Likewise.
38251 * include/pupa/i386/setjmp.h: Likewise.
38252 * normal/cmdline.c: Likewise.
38253 * normal/command.c: Likewise.
38254 * normal/main.c: Likewise.
38255 * normal/menu.c: Likewise.
38256 * normal/i386/setjmp.S: Likewise.
f19dbdb7 38257
ce5bf700 38258 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
38259 (pupa_rescue_cmd_initrd): Likewise.
38260
38261 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
38262 Likewise.
38263
38264 * kern/i386/pc/startup.S (translation_table): New variable.
38265 (translate_keycode): New function.
38266 (pupa_console_getkey): Call translate_keycode.
38267
38268 * kern/rescue.c (attempt_normal_mode): New function.
38269 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
38270 it failed, print a message.
38271
38272 * kern/mm.c (pupa_real_malloc): Print more information when a
38273 free magic is broken.
38274 (pupa_free): If the first free header is not free actually, set
38275 it to P.
38276
38277 * kern/main.c (pupa_load_normal_mode): Just load the module
38278 "normal".
38279 (pupa_main): Don't print the message
38280 "Entering into rescue mode..." here.
38281
38282 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
38283 Declared.
38284 (pupa_rescue_cmd_initrd): Likewise.
38285 (pupa_rescue_cmd_initrd): Likewise.
38286
38287 * include/pupa/symbol.h (FUNCTION): Specify the type.
38288 (VARIABLE): Likewise.
38289
38290 * include/pupa/err.h (pupa_err_t): Added
38291 PUPA_ERR_UNKNOWN_COMMAND.
38292
38293 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
38294 (pupa_dl_get_prefix): Likewise.
38295
38296 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
38297 Added _chain.mod and _linux.mod instead of chain.mod and
38298 linux.mod.
38299 (chain_mod_SOURCES): Renamed to ...
38300 (_chain_mod_SOURCES): ... this.
38301 (chain_mod_CFLAGS): Renamed to ...
38302 (_chain_mod_CFLAGS): ... this.
38303 (linux_mod_SOURCES): Renamed to ...
38304 (_linux_mod_SOURCES): ... this.
38305 (linux_mod_CFLAGS): Renamed to ...
38306 (_linux_mod_CFLAGS): ... this.
38307 (normal_mod_SOURCES): New variable.
38308 (normal_mod_CFLAGS): Likewise.
38309 (normal_mod_ASFLAGS): Likewise.
38310
383112003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
38312
38313 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
38314 possible.
38315
fe6b695a 38316 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 38317 recursively.
38318 (pupa_dl_unref): Unrefer depending modules recursively.
38319 Don't call pupa_dl_unload implicitly, because PUPA can crash if
38320 a module is unloaded before one depending on that module is
38321 unloaded.
38322 (pupa_dl_unload): Unload depending modules explicitly,
38323 if possible.
38324
c04da074 383252003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
38326
38327 * include/pupa/i386/pc/linux.h: New file.
38328 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 38329
c04da074 38330 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
38331 Removed.
38332 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
38333 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
38334 of PUPA_CHAINLOADER_BOOT_SECTOR.
38335
38336 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
38337 (pupa_linux_prot_size): New variable.
38338 (pupa_linux_tmp_addr): Likewise.
38339 (pupa_linux_real_addr): Likewise.
38340 (pupa_linux_boot_zimage): New function.
38341 (pupa_linux_boot_bzimage): Likewise.
38342
38343 * kern/i386/pc/init.c (struct mem_region): New structure.
38344 (MAX_REGIONS): New macro.
38345 (mem_regions): New variable.
38346 (num_regions): Likewise.
38347 (pupa_os_area_addr): Likewise.
38348 (pupa_os_area_size): Likewise.
38349 (pupa_lower_mem): Likewise.
38350 (pupa_upper_mem): Likewise.
38351 (add_mem_region): New function.
38352 (compact_mem_regions): Likewise.
38353 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
38354 the size of the conventional memory and that of so-called upper
38355 memory (before the first memory hole).
38356 Instead of adding each found region to free memory, use
38357 add_mem_region and add them after removing overlaps.
38358 Also, add only 1/4 of the upper memory to free memory. The rest
38359 is used for loading OS images. Maybe this is ad hoc, but this
38360 makes it much easier to relocate OS images when booting.
38361
38362 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
38363 (pupa_enter_rescue_mode): Don't register initrd and module.
38364
38365 * kern/mm.c: Include pupa/dl.h.
38366
38367 * kern/main.c: Include pupa/file.h and pupa/device.h.
38368
38369 * kern/loader.c (pupa_loader_load_module_func): Removed.
38370 (pupa_loader_load_module): Likewise.
38371
38372 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
38373 ``.o''.
38374
38375 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
38376 (pupa_linux_tmp_addr): Likewise.
38377 (pupa_linux_real_addr): Likewise.
38378 (pupa_linux_boot_zimage): Likewise.
38379 (pupa_linux_boot_bzimage): Likewise.
38380
38381 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
38382 (pupa_upper_mem): Likewise.
38383 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
38384 module is too dangerous.
38385
38386 * include/pupa/loader.h (pupa_os_area_addr): Declared.
38387 (pupa_os_area_size): Likewise.
38388 (pupa_loader_set): Remove the first argument. Loader doesn't
38389 manage modules or initrd any longer.
38390 (pupa_loader_load_module): Removed.
38391
38392 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
38393 (linux_mod_SOURCES): New variable.
38394 (linux_mod_CFLAGS): Likewise.
38395
a13f9237 383962003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
38397
38398 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
38399 the length of a blocklist correctly.
38400
38401 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
38402 Use ioctl only if the OS file is a block device.
38403 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
38404 not very useful for normal files.
38405
38406 * kern/main.c (pupa_set_root_dev): New function.
38407 (pupa_load_normal_mode): Likewise.
38408 (pupa_main): Call those above.
38409
38410 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
38411 pupa_uint16_t.
38412
38413 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
38414
a5ffe966 384152003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38416
38417 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
38418 (setup): Configure the installed partition information and the
38419 dl prefix.
38420
38421 * loader/i386/pc/chainloader.c (my_mod): New variable.
38422 (pupa_chainloader_unload): New function.
38423 (pupa_rescue_cmd_chainloader): Refer itself.
38424 (PUPA_MOD_INIT): Save its own module in MY_MOD.
38425
38426 * kern/i386/pc/startup.S (install_partition): Removed.
38427 (version_string): Likewise.
38428 (config_file): Likewise.
38429 (pupa_install_dos_part): New variable.
38430 (pupa_install_bsd_part): Likewise.
38431 (pupa_prefix): Likewise.
38432 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
38433
38434 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
38435 and pupa/misc.h.
38436 (make_install_device): New function.
38437 (pupa_machine_init): Set the dl prefix.
38438
38439 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
38440 (buf): Renamed to ...
38441 (linebuf): ... this.
38442 (pupa_rescue_cmd_prefix): New function.
38443 (pupa_rescue_cmd_insmod): Likewise.
38444 (pupa_rescue_cmd_rmmod): Likewise.
38445 (pupa_rescue_cmd_lsmod): Likewise.
38446 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
38447 rmmod and lsmod.
38448
38449 * kern/mm.c (pupa_memalign): If failed even after invalidating
38450 disk caches, unload unneeded modules and retry.
38451
38452 * kern/misc.c (pupa_memmove): New function.
38453 (pupa_memcpy): Removed.
38454 (pupa_strcpy): New function.
38455 (pupa_itoa): Made static.
38456
38457 * kern/dl.c (pupa_dl_iterate): New function.
38458 (pupa_dl_ref): Likewise.
38459 (pupa_dl_unref): Likewise.
38460 (pupa_dl_unload): Return if succeeded or not.
38461 (pupa_dl_unload_unneeded): New function.
38462 (pupa_dl_unload_all): Likewise.
38463 (pupa_dl_init): Renamed to ...
38464 (pupa_dl_set_prefix): ... this.
38465 (pupa_dl_get_prefix): New function.
38466
38467 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
38468 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
38469 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38470 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38471 (pupa_install_dos_part): Declared.
38472 (pupa_install_bsd_part): Likewise.
38473 (pupa_prefix): Likewise.
38474 (pupa_boot_drive): Likewise.
38475
38476 * include/pupa/types.h: Fix a typo.
38477
38478 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
38479 pupa_memmove.
38480 (pupa_memmove): Declared.
38481 (pupa_strcpy): Likewise.
38482
38483 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
38484 pupa_mod_init takes one argument, its own module.
38485 (pupa_dl_unload_unneeded): Declared.
38486 (pupa_dl_unload_all): Likewise.
38487 (pupa_dl_ref): Likewise.
38488 (pupa_dl_unref): Likewise.
38489 (pupa_dl_iterate): Likewise.
38490 (pupa_dl_init): Renamed to ...
38491 (pupa_dl_set_prefix): ... this.
38492 (pupa_dl_get_prefix): Declared.
38493
38494 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 38495 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 38496 unloaded.
38497 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
38498 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
38499
38500 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
38501 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
38502
012d7999 385032003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38504
38505 * util/i386/pc/pupa-setup.c (setup): Define the internal
38506 function find_first_partition_start at the top level, because GCC
38507 3.0.x cannot compile internal functions in deeper scopes
38508 correctly.
38509 (find_root_device): Use lstat instead of stat.
38510 Don't follow symbolic links.
38511 Fix the path-constructing code.
38512
38513 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
38514 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
38515 by a BLKGETSIZE ioctl first, because block devices don't fill
38516 the member st_mode of the structure stat on Linux.
38517 [__linux__] (linux_find_partition): Use a temporary buffer
38518 REAL_DEV for the working space. Copy it to DEV before returning.
38519 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
38520 buffer cache consistent.
38521 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
38522 strncmp. The previous value was merely wrong.
38523 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
38524
38525 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
38526 FAT size is 12. The previous value was merely wrong.
38527
38528 * kern/main.c (pupa_main): Don't split the starting message from
38529 newlines.
38530
38531 * kern/term.c (pupa_putchar): Put CR after LF instead of before
38532 LF, because BIOS goes crazy about character attributes in this
38533 case.
38534
1cc73a62 385352003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38536
38537 * include/i386/pc/util/biosdisk.h: New file.
38538 * util/i386/pc/biosdisk.c: Likewise.
38539 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 38540
1cc73a62 38541 * Makefile.in (INCLUDE_DISTFILES): Added
38542 include/pupa/i386/pc/util/biosdisk.h.
38543 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
38544 directory util/i386/pc.
38545 (install-local): Added a rule for sbin_UTILITIES.
38546 (uninstall): Likewise.
38547
38548 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
38549
38550 * util/misc.c (xrealloc): New function.
38551 (pupa_malloc): Likewise.
38552 (pupa_free): Likewise.
38553 (pupa_realloc): Likewise.
38554 (pupa_stop): Likewise.
38555 (pupa_putchar): Likewise.
38556
38557 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
38558
38559 * include/pupa/util/misc.h (xrealloc): Declared.
38560
38561 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
38562 macro.
38563 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
38564 (PUPA_BOOT_MACHINE_BPB_END): ... this.
38565
38566 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
38567 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38568
38569 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
38570 way should be implemented.
38571 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38572
38573 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
38574 the size of NAME for safety.
38575 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
38576 0x88.
38577
38578 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
38579 (pupa_setup_SOURCES): Likewise.
38580
38581 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
38582
08b70fe8 385832002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38584
38585 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
38586 bunch of pushl's from pusha, because this destroys the return
38587 value.
38588
62ddcc8f 385892002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38590
38591 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
38592 This means that any missing prototypes could be fatal. Also, you
38593 must take care when writing assembly code. See the comments at
38594 the beginning of startup.S, for more details.
f19dbdb7 38595
62ddcc8f 38596 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
38597 compilation mechanism.
38598 (pupa_chainloader_real_boot): Likewise.
38599 (pupa_biosdisk_rw_int13_extensions): Likewise.
38600 (pupa_biosdisk_rw_standard): Likewise.
38601 (pupa_biosdisk_check_int13_extensions): Likewise.
38602 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
38603 (pupa_biosdisk_get_diskinfo_standard): Likewise.
38604 (pupa_get_memsize): Likewise.
38605 (pupa_get_mmap_entry): Likewise.
38606 (pupa_console_putchar): Likewise.
38607 (pupa_console_setcursor): Likewise.
38608 (pupa_getrtsecs): Use pushl instead of push.
38609
38610 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
38611 memory instead of the stack for a mmap entry, because some
38612 BIOSes may ignore the maximum size and overflow.
38613
38614 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
38615
38616 * genmk.rb (PModule#rule): Compile automatically generated
38617 sources with module-specific CFLAGS as well as other sources.
38618
9962ed99 386192002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38620
38621 * configure.ac: Check ld.
38622 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
38623 respectively, before checking endianness and sizes.
38624
38625 * Makefile.in (LD): New variable.
f19dbdb7 38626
abdfc3c5 386272002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38628
38629 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
38630
6a161fa9 386312002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38632
38633 * Changelog: New file.
38634